diff --git a/404.html b/404.html new file mode 100644 index 000000000..252f10743 --- /dev/null +++ b/404.html @@ -0,0 +1,22 @@ + + + + + + 404 | 海豹手册 + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/about/README.html b/about/README.html new file mode 100644 index 000000000..ae65b3bbe --- /dev/null +++ b/about/README.html @@ -0,0 +1,49 @@ + + + + + + 关于 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content
+ + + + \ No newline at end of file diff --git a/about/about.html b/about/about.html new file mode 100644 index 000000000..80699dd38 --- /dev/null +++ b/about/about.html @@ -0,0 +1,49 @@ + + + + + + 关于 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

关于

官方站点

官网:海豹官网,新版本发布的正式地址,还提供试用,log 染色 等多项功能。

海豹开源组织 GitHub:海豹核心源码的托管地址。

投喂

请参见 官网—投喂,目前尚未更新蓝绿修改器(暂时顾不上)。

你的投喂将用于支付服务器费用,以及帮助社畜制作者们稍微抵抗来自现实的引力。

非常感谢。

手册贡献者

新手册贡献者


旧手册贡献者

木落、鹊鹊、蜜瓜包、病、于言诺、流溪憧憬少浣熊旅記

开源

海豹的源代码以 MIT 协议开源,托管在 GitHub 下。海豹核心的诞生离不开开源社区和其它开源软件的支持。

+ + + + \ No newline at end of file diff --git a/about/archieve.html b/about/archieve.html new file mode 100644 index 000000000..d3b072515 --- /dev/null +++ b/about/archieve.html @@ -0,0 +1,49 @@ + + + + + + 归档 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

归档

本节内容

本节将记录海豹曾经使用但新版本已弃用的功能。

Go-cqhttp / Mirai

注意:海豹已于 v1.4.5 版本弃用此方案,以下内容归档于 2024 年 5 月 7 日。

危险:此方案已经接近不可用

由于 QQ 官方的检测,使用 Go-cqhttp 方案成功连接的成功率已经越来越低。即使成功连接,也可能面临高达每月 2 次的频繁冻结等情况。

我们不推荐任何用户再使用此方案连接 QQ 平台。

危险:Go-cqhttp 已停止维护

Go-cqhttp 的开发者已无力维护项目(见 go-cqhttp/issue#2471)。在未来 qsign 签名服务彻底被官方封死之后,Go-cqhttp 将无法继续使用。

使用签名服务

危险:qsign 已停止维护

原 qsign 作者已因「不可抗力」无法再维护此项目,对应原代码仓库也已删除,该方法会在未来逐渐失效,请做好预期准备。

部署签名服务,即使用开源签名服务 qsign,是目前用来绕过检测的最有效手段。

怎么使用签名服务?

你可以自己在本地搭一个 qsign 服务,也可以使用别人搭好的。

注意:自行搭建签名服务

如果你的动手能力足够强或者有足够的电脑知识,强烈推荐 自己搭建本地签名服务器。

使用他人的签名服务可能会泄漏以下信息 (截取自 qsign 的说明)

  • 登录账号
  • 登录时间
  • 登录后发送的消息内容
  • 登录后发送消息的群号/好友 ID

不会泄露的信息:

  • 账号密码
  • 账号 session
  • 群列表/好友列表
  • 接收的消息
  • 除发送消息外的任何历史记录

使用共享签名服务可能会提高账号被封禁的概率。

在登录账号的时候会看到这样一个界面:

海豹的 qq 登录页

点击下面的「签名服务」一栏的「简易配置」,可以看到如下配置项:

配置签名服务
  • 服务 url:你要链接的 qsign url
  • 服务 key:密码
  • 服务鉴权:默认为空,如果有的服务器要求特定的鉴权,就填上吧

提示:默认的 qsign 配置

没有特殊设置的话,qsign 的 url 通常默认为 http://localhost:13579,key 通常默认为 114514

如何搭建签名服务

提示:有能力的用户可以自行搭建服务。

注意

由于项目的特殊性,下面的方法随时可能失效,我们不对信息的及时性做任何保证。可以加入海豹官方群寻求帮助。

可以尝试使用 一键 qsign

引用自说明:

点开以后删掉文件夹里的 go-cqhttp.batgo-cqhttp_windows_386.exe,然后运行里面的 Start_Qsign.bat 启动 qsign,按照提示依次键入 txlib_version 参数、设定 hostportkey的值。(如果不知道这些是干什么的,请直接依次按下 Enter)

手动抓取 ticket

目前,Gocq 的过验证码网站已经停止服务,你需要自行抓取 ticket 进行登录。

步骤如下:

前置工作

启动海豹,打开海豹的管理 ui,账号设置,添加账号;

账号类型选 QQ 账号,设备选「Android Pad-可共存」(此协议登录手机可同时在线,qsign 仅 Android 协议和 Android Pad 协议可用):

添加账号

版本选择 8.9.70(如果你的 qsign 是其它版本,请选择对应版本):

选择 qsign 版本

填写 QQ 账号密码:

填写 QQ 账号密码

选择简易配置:

选择简易配置

服务 url 填你的 qsign 服务地址。

服务 key 填你的 qsign 服务密码,没有可以不填。

服务鉴权不填写。

服务鉴权

接着点击登录,然后退出海豹(结束进程)。

分离部署登录流程

  1. go-cqhttp\go-cqhttp.exe 文件复制到 海豹目录/data/default/extra/gocqQQ号(你登录骰娘的qq号) 这个文件夹下。

    文件夹结构

  2. 双击运行 go-cqhttp.exe,两次确认后出现 go-cqhttp.bat 文件。

    运行警告 1 运行警告 2

  3. 双击运行 go-cqhttp.bat,出现以下消息后输入 2,回车,复制链接到浏览器(终端选中后右键即可复制粘贴,没有选项)。

    运行

    提示:出现 open image cache db failed

    出现该报错的原因很可能是因为 gocq 的缓存数据库损坏,可以尝试删除 gocq 的 data 目录后重新运行 gocq。(注意是 gocq 的 data 而不是海豹的!)

  4. 按照 手动抓取 ticket 教程 - 哔哩哔哩 视频教程操作,成功滑条后(需要抓 ticket,不只是滑条)复制 ticket 到终端后回车。

    滑块 ticket 输入

  5. 如果登录成功,你应当能看到一条类似于 2022-05-06 20:00:00 [INFO] 登录成功,欢迎使用:XXX 的日志。

    登录成功

    同时你应当在下方看到一条类似于 2022-05-06 20:00:00 [INFO] CQ Websocket 服务器已启动:[::]:8080 的日志。

    结尾的 8080 即为 gocq 的 ws 端口。你的端口号可能不同,总之请记住这个端口号。

  6. 打开海豹,删除之前添加的账号,然后重新添加账号,选择 QQ(OneBot11 分离部署)

    添加账号

    在连接地址中填写 ws://localhost:8080(请把8080替换为你的 gocq 端口号)。填写完成后点击下一步。

  7. 你的账号应当已经成功连接。

    连接成功

GoCqhttp FAQ

1. 出现 Code 1

  1. 账号密码错误,输入正确的账号密码。

2. QSign 闪退

  1. 确认没有启动多个 qsign(多个 qsign 需要端口不重复);
  2. 确认端口没有重复。若重复,请重新配置 qsign,修改 port;
  3. 将 qsign 文件夹放到硬盘根目录试试(如 D 盘、C 盘)。

3. 出现 Code 45

  1. 没连上 qsign,重启 qsign,重新登录;
  2. QSign 协议版本和 gocq 协议版本没对应,切换对应协议后重新登录;
  3. 该版本 qsign 已失效,升级版本。

4. 出现 Code 235

  1. Ticket 复制错误(多复制了 "" 或少复制了内容),重新登录;
  2. 更换网络进行滑条,如电脑连手机热点,复制链接发给手机滑条,换台电脑等;
  3. 登录频繁,过段时间重新尝试登录(时间不确定)。

5. 出现 Code 237

  1. 登录过于频繁,请等待一段时间继续;
  2. 内置的 ticket 抓取工具失效,需要手动抓取;
  3. 让他人帮助你滑条。

5. 如何启动多个 qsign?(仅当需要备用签名或不同协议版本的时候有此需求)

解压一个新的 qsign 文件,重新配置,端口需要输入不同于前面的端口。

6. 什么是 go-cqhttp?(通常简称 gocq)

登录 QQ 的程序,现各大骰系都用此程序,此外还有 mirai 等其他程序。

7. 什么是签名?

  • 手机 QQ 有内置的签名程序,可以不太准确的简单理解为会生成一些密码发给腾讯,让它识别是不是人;
  • qsign 把手机 QQ 的签名程序偷了出来,提供了让我们自己生成密码的功能;
  • gocq 在配置后可以对接 qsign,那样骰子也可以证明自己是正常人了。

8. 对于 SignServer(即 Start_Qsign.bat,俗称签名服务器)崩溃闪退可能的一种情况

通常 SignServer 都不会出现用户可直接读出的报错信息。如果出现了崩溃或闪退的情况,可以同时按下键盘上 Ctrl Alt Delete 这三个按键,找到任务管理器,在右上角的内存一栏,那里会出现数字,有些调过设置了的会出现占用的运行内存占可用运行内存的百分比。

很显然,这里的内存就是指电脑 CPU 的可用运行内存不足,这时候通过在任务管理器关闭部分没有在使用的进程就可以解决。

注意:进程不能轻易关闭

通常情况下,Windows 系统会运行一些进程以保证系统的正常运行。这些进程一旦关闭,系统可能会出现无法运行的问题。

在一般情况下,不推荐关闭这些进程。如果需要通过关闭进程来腾出运行内存,可以选择关闭其他应用程序运行的进程。

当然,关闭应用进程跟直接退出应用程序差别不大。对于在看这个界面的你来说,关闭应用程序是更好的选择。

Chronocat Red 协议

注意:海豹已于 v1.4.5 版本弃用此方案,以下内容归档于 2024 年 5 月 7 日。

危险:支持 Chronocat 为 0.0.54

海豹 Red 协议所适配的目标 Chronocat 版本为 0.0.54,低于该版本(主要为 0.0.52)缺少必要接口,使用时会出现报错,不建议使用。

在账号添加中,选择「QQ Red 协议」,填写相应信息进行连接。

Shamrock v1.4.2

注意:已发现 QQ 客户端针对 Shamrock 增加了检测机制。在新版 QQ 客户端上,Shamrock 已无法使用。以下内容归档于 2024 年 7 月 17 日。

海豹从 v1.4.2 开始适配了 Shamrock 的连接。

危险:Shamrock 已停止更新

Shamrock 已于 2024 年 4 月 20 日归档,将不再进行更新。

危险:1.1.0 及以上版本的 Shamrock 不适用以下教程

2024 年 4 月 2 日,OpenShamrock 开发组于 Discussion#272 宣布,Shamrock 将会从 1.1.0 版本起弃用 OneBot V11 支持,迁移至新的 Kritor 协议。

这意味着 1.1.0 及之后版本的 Shamrock 将不再支持 OneBot V11,以下教程也不再适用。请仔细分辨,以免造成麻烦。

海豹开发组也正在着手对新的 Kritor 协议进行适配,请耐心等待。

注意:有难度的操作

此方式存在一定难度,你可能需要对 Root,使用命令行程序等有所了解。

Shamrock

Shamrock 是一个基于 LSPosed/Xposed 框架,实现劫持 QQ 以对外暴露 Onebot Api 的软件。你可以在 Android 手机/模拟器中使用 Shamrock 代替已经停止开发的 gocq。

遗憾的是,Shamrock 的使用依赖于 Android 的 root 权限,而手机厂商对 root 管控愈加严格,实体手机获取 root 权限的门槛很高,而模拟器中使用 Shamrock 的效果也不是很可观。因此,这种解决方案适合个人与朋友使用骰子的场景。

此外,如果你想使用 Shamrock 代替 gocq,请确保你有良好的计算机使用能力。

本节主要讲解如何使用模拟器实现 Shamrock,如果你有一台已经 root 的手机,也可以参考本节内容,本教程不涉及说明如何 root 手机,海豹官方也不对 root 手机造成的后果负责,请自行斟酌。

提示:如何 Root 手机

Root 手机可以参阅 小米手机安装面具教程。也可以前往 酷安 寻找更详细的教程。

注意:低配置设备可能无法使用 Shamrock!

在尝试通过模拟器使用 Shamrock 的场景下,由于模拟器对性能要求较高,包括 轻量级服务器、旧电脑、小主机等配置较低的设备可能无法支持使用。

准备模拟器

下面将使用 夜神模拟器 作为示例。

使用时,确保安卓版本在安卓 8 以上,而在安卓 11 以下,最好使用安卓 9。

获取 Root 权限

Magisk

Magisk(面具)是一套开源的 Android 自定义工具,通常用于获取 root 权限。

Root 即 Android 的超级用户权限,如对 QQ 应用进行注入等的危险操作需要 root 权限。

在使用之前,请在模拟器设置中打开 root 选项,软件中获取的一切权限都给予 通过,包括 root 权限

使用 面具安装工具,把它安装到模拟器。

然后启动软件,输入 m 回车,再输入 y 回车,会索取超级用户权限,给予,然后输入 1 回车,再输入 a 回车,输入 1 回车,此时面具就安装到你的模拟器上了。

打开面具模块,此时面具会索取超级用户权限,给予,此时你会发现你的超级用户权限那里是灰的,关闭你的超级用户权限,重新启动你的模拟器。

此时你会发现你的超级用户模块已经激活。在面具的设置里启动 zygisk 模块,随后你需要再次重启模拟器,使得 zygisk 模块生效。

启用 zygisk

安装 LSPosed 模块

提示:使用 xposed/edxposed

理论上,使用更为老旧的 xposed/edxposed 或在手机上运行虚拟机的 virtualXposed 的方案也是可行的,但我们不推荐也未尝试过使用它们。

任何不按教程的行动请自行处理疑难问题,海豹官方不对此提供帮助。

请于 LSPosed Releases 页下载模块。

注意:zygisk

务必选择以 zygisk 结尾的包。

下载完成后,把文件上传到模拟器中。一般情况下,直接把文件拖动到模拟器就可以传文件了,且文件一般在 picture 文件夹中,如果没有请参照你使用的模拟器说明。

在你传完文件之后,在最右侧切换到「模块」页后,你可以看到从本地安装的选项。单击你刚刚传到模拟器里的文件,等待安装完成即可,随后你可以在右下角看到重启按钮,点击等待重启。

安装完成后应该如下所示:

完成 LSPosed 模块安装

安装 Shamrock

请于 Shamrock Releases 下载 Shamrock 的 apk 安装包,直接将 apk 文件拖动到模拟器即可进行安装。

如果模拟器中没有安装 QQ,此时你还需要将 QQ 安装到模拟器中。

安装完成后,首先启动 Shamrock。在通知上,你可以打开 LSPosed 的页面,在模块一栏中启用 Shamrock

启用 Shamrock

选中 Shamrock,进入勾选 QQ,并长按 QQ 选择 强行停止

Shamrock 中勾选 QQ

随后再打开 QQ,你可以看到「加载 Shamrock 库成功」的提示,这代表 Shamrock 已经成功注入了 QQ。

成功注入后,打开 Shamrock 启用 ws 服务,通常情况下无需修改 Shamrock 的任何内容,如有其它需求请阅读 Shamrock 文档

Shamrock 启用 ws

开放模拟器端口供海豹对接

首先下载 adb 工具,解压到电脑中任何可用的位置。

随后找到模拟器供 adb 连接的端口,夜神模拟器路径示例如下:

夜神模拟器 adb 端口

其中:

  • Nox 是模拟器根路径。
  • Nox_4 是模拟器的编号,你可以在多开助手中看到你的编号。
  • 选中的文件就是要找的文件,在 vscode 中(或者其它文本编辑器)中打开。

打开

guestport 值为 5555hostport 即为所需端口,如示例中就是 62028,记住这个端口号。

在你解压的 platform-tools 里打开终端,或者把 platform-tools 加入环境变量后再启用终端。也可以在 platform-tools 里新建一个 .bat 文件,把下面的命令写到文件里面。

在打开的终端中输入命令:

cmd
.\adb connect 127.0.0.1:端口

如替换为上面示例中的 62828:

cmd
.\adb connect 127.0.0.1:62028

随后再执行:

cmd
.\adb forward tcp:5800 tcp:5800

此时你已经成功开启端口了。

执行 adb 命令

连接海豹

在账号添加中,选择「QQ(onebot11正向WS)」,按照下面的格式进行填写:

连接 Shamrock

成功连接后即可使用。

Shamrock LSPatch v1.4.2

注意:已发现 QQ 客户端针对 Shamrock 增加了检测机制。在新版 QQ 客户端上,Shamrock 已无法使用。以下内容归档于 2024 年 7 月 17 日。

注意:有难度的操作

此方式存在一定难度,你可能需要对使用命令行程序有所了解。

注意:Andriod 版本要求

由于 LSPatch 要求安卓版本 9.0 以上,因此你的安卓手机版本必须超过安卓 9。

LSPatch

LSPatch 是在无 root 环境下使用 Shamrock 的一种途径,原理是利用 Shizuku 安装经 LSPatch 修补后的 QQ,再使用 Shamrock 劫持 QQ 并对外开放 API。

安装 Shizuku

Shizuku

Shizuku 是一个帮助其他应用直接使用系统 API 的应用,而 Shizuku 本身则需要通过电脑使用 adb 工具赋予权限。

Adb 即 Android 调试桥,是安卓官方提供的帮助在电脑端调试 Android 设备的命令行工具。

首先需要在你的手机安装 Shizuku,安装后需要在电脑中使用 adb 命令为其赋予权限。

在 Windows 中使用 cmd 执行 adb 命令:

  1. 安装 adb,工具下载见 上文
  2. 打开 cmd 窗口;
    • 如果你的电脑是 Window 11 操作系统,你可以直接右键 platform-tools 文件夹单击 在此处打开命令行
    • 其它版本的打开方式请自行搜索。
  3. 你有多种方式使用 adb:
  • 将 adb 添加至系统环境变量,在系统开始一栏中可以直接搜索到该功能,随后将 解压好的 platform-tools 路径填入至系统变量中的 path,例如,adb 在 E:/shamrock achieve/platform-tools 文件夹中,那么你只需要将该路径填入 path 即可。 adb path
    • 如果你是旧版本 Window(如 Win 7),系统未提供对应的 GUI,你需要使用 ; 隔开不同的路径。
  • 也可以选择使用 cd 命令切换至 adb 目录,使用此方法请将 adb 放在 C 盘;(由于 Windows 权限问题,使用运行开启的 cmd 实例无法访问 C 盘之外的路径。)
    • win + R 键启动「运行」;
    • 在运行中输入 cmd 并回车;
    • 在打开的黑框框中输入命令 cd <替换为对应路径>切换到 adb 文件夹
  • 还可以选择在 platform-tools 文件夹中新建.bat 文件。

在手机中,你需要开启 USB 调试 ,在手机设置中,选择「更多设置—关于手机」,多次点击软件版本号,即可进入开发者模式。

随后在「更多设置—开发者选项」中打开 USB 调试,使用数据线连接电脑和手机,随后在你的手机中出现指纹调试弹框,给予通过。

在电脑中使用命令:

cmd
adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh

为 Shizuku 赋予 adb 权限

安装 LSPatch

LSPatch

LSPatch 可以在无 root 环境使用 LSPosed 框架。

可以参看 LSPatch 使用教程 了解更多。

  1. 你需要在 Shizuku 中启用 LSPatch,并重启 Shizuku。
  2. 在管理中,单击加号,选择已经下载的 QQ apk 文件,选择本地修补,等待一会,然后就可以安装了。

安装并激活 Shamrock

安装方式 上文 有提及,此处不予重复。

在 LSPatch 中,长按修补后的 QQ 出现模块作用域,允许 Shamrock 然后重启 LSPatch。

激活 Shamrock 模块有三个前提,即 QQ 进程,Shamrock 进程和 LSPatch 进程存活,请自行配置保活策略,例如允许自启动,允许后台存活和关闭后台高耗电等。

对接海豹

首先安装海豹安卓端。

注意:确认海豹版本

请使用版本为 1.4.2 以上的安卓端海豹。

建议使用 反向 ws 设置。在海豹中,账号添加中选择「QQ(onebot11反向WS)」,填入骰子 QQ 号和要开放的 ws 端口(例如 :6544)。

随后在 Shamrock 中的被动 ws 连接地址中写 ws://localhost:6544/ws

+ + + + \ No newline at end of file diff --git a/about/develop.html b/about/develop.html new file mode 100644 index 000000000..c72edfaa3 --- /dev/null +++ b/about/develop.html @@ -0,0 +1,49 @@ + + + + + + 参与项目 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

参与项目

无论是普通用户还是开发者,我们都非常欢迎你参与海豹的开发,一起努力让海豹变得更好。

海豹的所有源代码都托管在 海豹开源组织 GitHub 下,每个模块都存放在对应的仓库中,可阅读对应仓库的 Readme 获取更多信息。

几个比较重要的仓库:

  • 核心:海豹的 Go 后端代码仓库,这个仓库也作为海豹的主仓库,Bug 可反馈在该仓库的 issue 中;
  • UI:海豹的前端代码,基于 Vue3 + ElementPlus 开发;
  • 手册(新):海豹新版官方手册(即当前的手册)的源码,如对手册有什么改进内容可以在该项目提交 pr;
  • 构建:海豹的自动构建仓库,用于自动化发布海豹的每日构建包与 Release;
  • ……

如何参与项目?

Bug 反馈、功能建议

所有的 Bug 和功能建议都可反馈在 核心 仓库的 issue 中,按照模板填写可方便开发组快速定位问题。

提示:无法访问 GitHub?

受限于各种原因,不是所有人都能顺利访问 GitHub,如有 Bug 可以加入官方群进行反馈。但如果有条件,我们还是建议在 GitHub 向开发组反馈问题。

提交修改

欢迎各种类型的 pr 提交,可以帮助改进代码,增加功能,也可以是完善文档等等。向对应仓库发起 pr 即可。

贡献指南

贡献指南

下面将以提交对手册的改进为示例,为还不清楚怎么在 GitHub 上提 Pull Request 的准贡献者做个示范。

整体流程

  1. 首先 fork 对应想要修改的仓库,后续所有操作均在 fork 之后的仓库上执行;
  2. 从主分支(通常是 mainmaster)切出一个新分支作为工作分支;
  3. 在新工作分支上提交修改。如果是对代码仓库进行修改,务必在本地测试通过;
  4. 将修改后的内容提交到远程后,在 GitHub 发起 Pull Request 请求,描述修改内容并确认自动测试流程通过;
  5. 等待开发组 review 后合并你的代码。

对目标仓库进行 fork

首先 fork 对应想要修改的仓库,此处以手册仓库 sealdice-manual-next 为例:

fork 对应仓库

点击 Create a new fork 按钮,如果此处已经有 fork 过仓库,可以直接进行后续步骤无需再次 fork。

点击按钮后进入如下页面:

创建 fork

可不做任何修改,直接点击 Create fork 按钮,等待 fork 进度条完成,此时你应当自动跳转到了 fork 出的新仓库。

切出工作分支

提示:假如你熟悉 Git 操作

如果你熟悉 Git 操作,可以自行 clone 仓库到本地后进行修改。

注意:不要修改主分支

如果 clone 到本地操作,建议不要在主分支操作,而是新切分支进行编辑。

原因见 保持和上游同步

切换到新仓库的分支页面,创建分支:

进入分支页

创建分支

填写新分支名,建议为形如 feature/xxx 的有意义的英文。确认前请务必保证是从主分支切出的。

新分支信息

创建完毕后点击分支名切换到对应分支页面:

切换分支

点击你想要修改的文件,进行在线编辑:

修改文件

修改完成后点击右上角提交变更,填写变更内容信息:

提交变更提交变更信息

发起 Pull Request 请求

你的修改完成后,在你 fork 的新仓库向主仓库发起 Pull Request:

创建PR

提交时间很近的时候,GitHub 会提示快捷发起 PR 的操作按钮:

快速创建PR

进入 PR 编辑页填写信息,请确认是从你的仓库的新分支,提向主仓库的主分支的:

主仓库 主分支 <- fork仓库 功能分支

填写PR信息

填写完成后,等待开发组进行 review,有时会给你提出一些修改建议。在你的 PR review 通过并合并后,功能分支就可以被删除了。

保持 fork 仓库与上游同步(可选)

如果之后还要提交新的 PR,建议先同步上游的主分支,再从同步后的主分支再新切分支进行操作。

如果你曾经修改了主分支,此处很可能会出现和上游分支有冲突的问题,需要你先手动解决冲突。

点击 Sync fork 进行同步。

与上游同步

+ + + + \ No newline at end of file diff --git a/about/license.html b/about/license.html new file mode 100644 index 000000000..ce8d7282c --- /dev/null +++ b/about/license.html @@ -0,0 +1,49 @@ + + + + + + 许可协议 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

许可协议

进行使用即代表同意此声明:

尊敬的用户,欢迎您选择由木落等研发的海豹骰点核心(SealDice),在您使用海豹骰点核心前,请务必仔细阅读使用须知,使用即代表您已同意使用须知的内容,使用造成的任何后果与海豹开发组无关。

您需了解,海豹核心官方版只支持 TRPG 功能,娱乐功能定制化请自便,和海豹无关。

您清楚并明白您对通过骰子提供的全部内容负责,包括自定义回复、非自带的插件、牌堆。海豹骰不对非自身提供以外的内容合法性负责。您不得在使用海豹骰服务时,导入包括但不限于以下情形的内容:

(1) 反对中华人民共和国宪法所确定的基本原则的;

(2) 危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;

(3) 损害国家荣誉和利益的;

(4) 煽动民族仇恨、民族歧视、破坏民族团结的;

(5) 破坏国家宗教政策,宣扬邪教和封建迷信的;

(6) 散布谣言,扰乱社会秩序,破坏社会稳定的;

(7) 散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;

(8) 侮辱或者诽谤他人,侵害他人合法权益的;

(9) 宣扬、教唆使用外挂、私服、病毒、恶意代码、木马及其相关内容的;

(10) 侵犯他人知识产权或涉及第三方商业秘密及其他专有权利的;

(11) 散布任何贬损、诋毁、恶意攻击海豹骰及开发人员、海洋馆工作人员、mod 编写人员、关联合作者的;

(12) 含有中华人民共和国法律、行政法规、政策、上级主管部门下发通知中所禁止的其他内容的。

一旦您有以上禁止行为,请立即停用海豹骰。

+ + + + \ No newline at end of file diff --git a/about/start-from-zero.html b/about/start-from-zero.html new file mode 100644 index 000000000..4459c41e6 --- /dev/null +++ b/about/start-from-zero.html @@ -0,0 +1,49 @@ + + + + + + 从零开始 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

从零开始

首先感谢你选用海豹核心。

我们将本手册的所有内容按照从零开始到深入定制的操作顺序重新排列成了本节的内容。我们推荐新用户按此顺序阅读手册。

在阅读本节时,我们建议你读完整段再点击链接跳转到对应内容。读完对应内容后,你可以立即付诸实践。然后,建议你回到本节,继续按此顺序阅读剩余内容。

如果你只需要详细了解某个特定话题,请你直接从导航栏查找对应分类。

0. 背景知识

如果你对于服务器或电脑尚不了解,我们为你准备了简单的科普。请阅读 名词/术语速查表如何高效学习

海豹核心是由一群热心的开发者无偿开发并开源发布的。开发者们和一众热心群友在各个用户群中为用户提供答疑。为了你的疑问能够获得最快最好的解答,请阅读 如何正确提问

1. 部署海豹

首先,你需要让海豹核心在你的服务器或电脑上运行起来。

如果你是从零开始部署,请阅读 快速开始

如果你之前部署过海豹核心,现在需要将旧部署转移到新的机器,请在阅读过新平台的部署方法后阅读 迁移

2. 连接平台

海豹核心成功运行后,你需要将它接入你希望的即时通讯平台。这样它才能接收和发送消息。

海豹目前支持了许多平台,开列如下。如果你还希望海豹接入更多平台,请你提出 Issue,我们会尽可能满足你的需求。

3. 熟悉海豹核心的功能

海豹核心提供了许多指令,它们是所有功能的中坚。

请阅读 基础概念,了解指令的基本格式。

然后,你可以熟悉一下海豹核心提供的不同自定义功能。你可能暂时不会用到所有的功能。但是,首先熟悉海豹核心能做到、不能做到哪些事,会对你的使用大有帮助。

请阅读这一章下面的各节,你可以跳过一些细节问题: 配置

4. 熟悉指令

我们推荐你简单浏览一遍各种指令。你不需要记住每个指令的所有细节,只要大概知道有什么指令,能够完成什么功能,就很足够了。

首先,请阅读 核心指令。这一节介绍了海豹核心最重要的一些指令。

然后,你可以阅读此章的剩余各节。它们按照扩展列出了每个指令的详细用法。

5. 进阶自定义

如果你希望自己动手,充分利用海豹核心提供的自定义能力,你需要对于海豹核心对不同功能的约定有所了解。

请你首先阅读 进阶介绍,然后阅读此章中你感兴趣的节。

+ + + + \ No newline at end of file diff --git a/advanced/README.html b/advanced/README.html new file mode 100644 index 000000000..8f14831a6 --- /dev/null +++ b/advanced/README.html @@ -0,0 +1,49 @@ + + + + + + 进阶 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content
+ + + + \ No newline at end of file diff --git a/advanced/edit_complex_custom_text.html b/advanced/edit_complex_custom_text.html new file mode 100644 index 000000000..75e44da82 --- /dev/null +++ b/advanced/edit_complex_custom_text.html @@ -0,0 +1,66 @@ + + + + + + 编写复杂文案 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

编写复杂文案

本节内容

本节将展示复杂文案的编写技巧,请善用侧边栏和搜索,按需阅读文档。

示例

根据骰点结果展示不同文案

在文案中通常会有结果变量,通过对结果变量的判断来实现展示不同文案。如修改 .r 骰点_单项结果文本 文案为例

text
{$t表达式文本}{$t计算过程}={$t计算结果}{%
+$t计算结果 == 100 ? " 乐!",
+$t计算结果 == 1 ? " 啧!"
+%}

示例

木落
.r
头像
头像
海豹核心
<木落>掷出了 D100=1 啧!
木落
.r
头像
头像
海豹核心
<木落>掷出了 D100=100 乐!

多套文案的实现

提示:了解自定义回复的编写

多套文案的实现一般需要用到「自定义回复」来提供切换命令,见 编写自定义回复

如果你想使用 JS 插件实现也是可以的,不过示例以更简单的自定义回复为例。

切换命令实现

正则匹配:mode switch(.*) 回复:

text
{%
+if $t1==""||$t1==" 默认" {$g文案模式 = 0; $t输出="默认模式启用"};
+if $t1==" 模式1" {$g文案模式 = 1; $t输出="模式1启用"};  
+if $t1==" 模式2" {$g文案模式 = 2; $t输出="模式2启用"};
+if $t1!=""&&$t1!=" 默认"&&$t1!=" 模式1"&&$t1!=" 模式2" {$t输出=`不存在指定模式{$t1}`};  
+$t输出
+%}

精确匹配:mode show 回复:

text
{% 
+$g文案模式==0 ? "当前在默认模式",
+$g文案模式==1 ? "当前在模式1" ,
+$g文案模式==2 ? "当前在模式2"
+%}

文案调整

按如下模式调整你的自定义文案项:

text
{
+if $g文案模式 == 0 {$t目标文案 = `(这里填你个性化的默认模式文案)`};
+if $g文案模式 == 1 {$t目标文案 = `(这里填你个性化的模式1文案)`};
+if $g文案模式 == 2 {$t目标文案 = `(这里填你个性化的模式2文案)`}
+}{$t目标文案}

展示

以修改了 .jrrp 的文案为例:

示例

木落
mode show
头像
头像
海豹核心
默认模式启用
木落
mode switch 模式1
头像
头像
海豹核心
模式1启用
木落
mode show
头像
头像
海豹核心
当前在模式1
木落
.jrrp
头像
头像
海豹核心
(这里填你个性化的模式1文案)
木落
mode switch 模式2
头像
头像
海豹核心
模式2启用
木落
.jrrp
头像
头像
海豹核心
(这里填你个性化的模式2文案)
木落
mode switch
头像
头像
海豹核心
默认模式启用
木落
.jrrp
头像
头像
海豹核心
(这里填你个性化的默认模式文案)
+ + + + \ No newline at end of file diff --git a/advanced/edit_deck.html b/advanced/edit_deck.html new file mode 100644 index 000000000..6acd8733e --- /dev/null +++ b/advanced/edit_deck.html @@ -0,0 +1,217 @@ + + + + + + 编写牌堆 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

编写牌堆

本节内容

本节将介绍牌堆的编写,请善用侧边栏和搜索,按需阅读文档。

概览

海豹核心目前支持 tomljsonyaml 格式的牌堆。

如果对其中某种格式的语法有了解,建议选择熟悉的格式。如果都不了解,建议选择使用适用性最广的 json 格式。

当然,如果你的海豹版本较新,我们也非常推荐你尝试 toml 格式的牌堆编写。toml 格式诞生较晚,语法支持更多现代特性,海豹为这种格式的牌堆支持了更多功能。

注意:牌堆文件的编码

永远 使用「UTF-8 编码」来编写牌堆。

语法快速入门

我们将简单介绍 toml json yaml 的语法,仅说明牌堆编写中会用到的部分,帮助你快速了解它们。

提示:深入学习

我们也非常建议你系统地学习它们,可以参见这些文档或自行搜索:

注意:务必注意使用半角符号!

下面的语法中涉及到的符号都是 半角符号,如果你出现了奇怪的问题,记得检查是否在输入法的中文输入状态,导致输入了错误的符号。

比如应该为 , 却使用了 ,应该为 "" 却使用了 “”

使用专业的编辑器能帮助你检查这些问题。

TOML 注释

注释以 # 开头,用来记录相关说明性内容。

toml
# 这是注释
+
+key = "value" # 注释也可以放在行尾

TOML 键值对

「键值对」是 TOML 文档最基本的元素。

toml
key = "value"

键名在等号的左边而值在右边,键、等号和值必须在同一行(有些值可以跨多行),不允许没有值。

值需要是下述类型之一:

  • 字符串:以 "" ''""" """ 包裹起来的一串文字
  • 整数、浮点数(即小数)
  • 布尔值:truefalse
  • 日期或时刻:采用 RFC 3339 格式,如 1919-08-10 1919-08-10 11:45:14
  • 数组:[] 包裹的一系列值
  • 内联表:表的一种紧凑表示法,{} 包裹的一系列键值对

键值对后必须换行(或结束文件)。

TOML 键名

键名可以是裸键名,也可以是用 "" 引起来的字符串,都将被看作是字符串(哪怕裸键是 1234 也是这样)。

  • 裸键只能包含 ASCII 字母,ASCII 数字,下划线和短横线(即只有 A-Za-z0-9_-)。
  • 引号键则允许包含任何 Unicode 字符(如中文),支持转义;

注意:裸键名不支持中文

使用中文作为键名时,必须用引号包裹。

TOML 字符串

使用 "" 或者 '' 包裹的内容作为字符串。任何 Unicode 字符都可以使用,支持转义(如换行 \n、反斜杠 \\)。

如果字符串有很多行,可以使用多行字符串语法:

toml
key = """
+这是多行字符串的语法,它支持你直接使用换行。
+不用再拼接 \n 来换行了,好耶!
+但是这样写在最前面会多出换行,因为第一行的空换行也直接读取了。
+"""
+
+key2 = """\
+这样写就没有开头的空行问题了。
+"""

多行换行符中,如果一行的最后一个非空白字符是未被转义的 \ 时,它会连同它后面的所有空白(包括换行)一起被去除,直到下一个非空白字符或结束引号为止。

TOML 表

表(哈希表、字典、对象,含义相同)是键值对的集合。「表头」为一个单独的 [] 包裹的行作为表名,后面的行都是该表的内容。

toml
["海豹核心"]
+"简介" = "一个简单易用的跑团骰子系统"
+"状态" = "持续开发中"
+
+["狐狸核心"]
+"简介" = "一个更加简单易用的跑团骰子系统(什"
+"状态" = "根本不存在"

以上结构相当于 JSON 中的:

json
{
+  "海豹核心": {
+    "简介": "一个简单易用的跑团骰子系统",
+    "状态": "持续开发中"
+  },
+  "狐狸核心": {
+    "简介": "一个更加简单易用的跑团骰子系统(什",
+    "状态": "根本不存在"
+  }
+}

表还有一种更紧凑的内联表示法,必须在同一行内,且不支持尾逗号:

toml
"海豹核心" = { "简介" = "一个简单易用的跑团骰子系统", "状态" = "持续开发中" }

TOML 数组

数组是用 [] 包裹的一系列值,子元素由 , 分隔。

toml
TRPG = [
+  { name = "CoC", version = "7" },
+  { name = "D&D", version = "5e" }, # 多出一个逗号也是可以的
+]

基础牌堆编写

海豹的抽取指令为 .draw <key>,而牌堆就是可以提供一些 key 作为牌组的文件。

我们从编写一个最简单的牌堆开始,我们希望:

  1. 这个牌堆有 快端上来罢数字论证 两个牌组;
    • .draw 快端上来罢 可以抽取出 哼哼哼啊啊啊啊啊 你是一个一个一个牌堆结果 这两个结果;
    • .draw 数字论证 可以抽取出 114514 1919810 这两个结果。
  2. 填写一些信息(如作者),便于分享。

这个牌堆编写如下,你可以选择以下任意一种格式来学习:

toml
# 元信息表
+[meta]
+title = "野兽牌堆"
+author = "田所浩二"
+# 有多个作者时可以使用,两者仅需保留一行
+authors = ["田所浩二"]
+version = "1.0"
+license = "CC-BY-NC-SA 4.0"
+date = 1919-08-10
+update_date = 1919-08-10
+desc = "这个示例牌堆怎么这么臭(恼)"
+
+# 牌组表
+[decks]
+"快端上来罢" = [
+  "哼哼哼啊啊啊啊啊",
+  "你是一个一个一个牌堆结果"
+]
+"数字论证" = [
+  "114514",
+  "1919810"
+]

一个 TOML 牌堆的最基本格式如上。其中 meta 表中的信息不是必须的,但我们非常建议你保留并填写这些项,它们能在分享时说明更多信息:

  • title:牌堆的标题;
  • author/authors:牌堆作者;
  • date:牌堆创建日期;
  • updateDate:牌堆更新日期;
  • desc:牌堆简介;
  • version:牌堆版本;
  • license:牌堆协议。

可以将上述内容保存名为 野兽牌堆.toml(名称任意,但必须是以 .toml 为后缀扩展名)的文件进行测试。

注意:牌堆文件扩展名正确吗?

保存文件时务必确认开启了操作系统的扩展名显示,避免出现看上去保存了 xxx.json 文件,但实际上的文件名是 xxx.json.txt

牌堆语法

一个项中抽取其他项

牌堆抽取结果字符串中,可以实现抽取其他项,将内容拼接进该结果。

  • {key} 表示不放回抽取;
  • {%key} 表示放回抽取。
toml
[decks]
+"时间点" = [
+  "早上",
+  "中午",
+  "晚上",
+]
+"追尾了" = [
+  "在{%时间点}追尾了一辆高级黑色轿车",
+]

放回抽取与不放回抽取

放回抽取,指此次抽取后抽取的牌组保持原样,每次都相当于从全新牌组中抽取,你仍可能抽到相同结果。

不放回抽取,尺度是一次抽牌指令,在这一次指令的执行过程中不会再从该牌组中抽到相同结果。多次抽取指令 draw 3# 牌组 只被视为一次指令,不放回抽取生效。指令执行结束后,将重置所有牌组到初始状态。

需要提到,带有权重调整的项目不会被视为在牌组中有多个副本。在下文中有详细讨论。

示例:不放回抽取

toml
[decks]
+"拷打木落" = [
+  "泡面偷走叉子调料包",
+  "捏碎所有薯片",
+  "用勺子把西瓜最中间的一块全挖走",
+]
+"拷打木落三次" = [ "{%拷打木落} {%拷打木落} {%拷打木落}" ]
+"不同方式拷打木落三次" = [ "{拷打木落} {拷打木落} {拷打木落}" ]

在此示例中,牌组「拷打木落三次」的项目采用了放回抽取,「不同方式拷打木落三次」采用了不放回抽取。

如果抽取 draw 拷打木落三次,得到的三个结果可能有重复。

如果抽取 draw 不同方式拷打木落三次,得到的三个结果将互不相同,但顺序是随机的。通过 draw 3# 拷打木落 也可达成类似的效果。

插入掷骰表达式

抽取结果字符串中的 [exp],会先执行其中的掷骰表达式 exp,再组合到原字符串里。

如:抽取 企鹅早该爆金币辣!v我[1d10]个金币 的结果可能是 企鹅早该爆金币辣!v我1个金币

补充:旧的实现

研究旧牌堆,可能会发现有牌堆通过下面这样的写法来实现这个功能,现在请不要这么做了

json
{
+  "数字": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
+  "爆金币": "企鹅早该爆金币辣!v我{%数字}个金币"
+}

权重

抽取结果字符串中最前面的 ::value:: 表示该项的权重。不含有该标记的项目被视为拥有默认权重 1。

示例:有 1/10 的几率出现闪光海豹

toml
[decks]
+"捕捉海豹" = [
+  "::9::海豹",
+  "✨闪光海豹✨"
+]

权重与不放回抽取

在使用不放回抽取的情况下,标记权重的项目不会被视为单个项目的多个副本。以上文的例子而言,牌组中仍被视为只有 2 个项目。

如果使用 draw 捕捉海豹 2# 进行抽取,一定会获得 1 个「海豹」和 1 个「✨闪光海豹✨」。

在这种情况下,权重影响的是抽出的顺序。你将以 9/10 的概率先抽出「海豹」,以 1/10 的概率先抽出「✨闪光海豹✨」。

补充:旧的实现

研究旧牌堆,可能会发现有牌堆通过下面这样的写法来实现这个功能,现在请不要这么做了

json
{
+  "捕捉海豹": [
+    "海豹", "海豹", "海豹", "海豹", "海豹", "海豹", "海豹", "海豹", "海豹",
+    "✨闪光海豹✨"
+  ]
+}

发送图片等

抽取结果字符串中可以插入 CQ 码和海豹码,比如 [图:data/images/sealdice.png]

牌堆打包

发布带图牌堆最常见的选择是牌堆文件连同图片打包成一个压缩包,但是这样做有诸多不便之处。

如果你不想发布时在压缩包里添加一个教程,告诉你的用户如何解压、图片要放到那个文件夹下、什么是相对路径……那就把牌堆打包成可以在海豹 UI 直接上传的 *.deck 文件吧。

信息

deck 文件在本质上依然是 zip 文件,修改后缀只是便于海豹识别。

假如牌堆文件内容如下(使用相对路径 ./asstes/... ):

json
{
+  "test":["[图:./asstes/1.jpg]"]
+}

则牌堆文件所在文件夹结构应是:

text
.
+├─asstes
+│  └─1.jpg
+└─ test.json

选中牌堆文件和 assets 文件夹压缩为 ZIP 文件,修改文件后缀为 deck 。

示例

图例中所使用的软件为 Bandizip ,使用 Windows 右键菜单中的 压缩为 ZIP 文件 与之等价的。

注意:小心嵌套文件夹

以示例图中路径为例,不要回退到上一级目录然后选中 top 文件夹压缩。

牌组的隐藏和导出控制

.draw keys 指令会列出所有允许抽取的牌组,但在牌堆编写过程中,经常会需要用到辅助的牌组,这些辅助项是不希望暴露给用户的。我们可以通过一定方式来隐藏这些项。

在 TOML 牌堆中,当牌组的名称以 _ 开头,那么这个牌组将不会暴露在 .draw keys 中。

toml
[decks]
+"_时间点" = [
+  "早上",
+  "中午",
+  "晚上",
+]
+"追尾了" = [
+  "在{%_时间点}追尾了一辆高级黑色轿车",
+]

这样在 .draw keys 中就不会展示 _时间点 这一牌组。

被隐藏的项不会在 .draw keys 中展示,但依然可以通过指定 .draw <key> 的方法抽取。如果你希望某些牌组彻底隐藏,只能在牌堆内部调用,可以通过配置它们的导出来实现:

在 TOML 牌堆中,当牌组的名称以 __(双下划线)开头,那么这个牌组将不导出,即无法使用 .draw <key> 进行抽取,更不会显示在列表中。

toml
[decks]
+"__时间点" = [
+  "早上",
+  "中午",
+  "晚上",
+]
+"追尾了" = [
+  "在{%__时间点}追尾了一辆高级黑色轿车",
+]

提示:UI 中识别隐藏的牌组

你可以通过查看牌堆管理界面中的「牌堆列表」来识别牌组是否隐藏。

牌堆列表

灰色的牌组是隐藏的,即不展示在列表中,但能够被 .draw <key> 抽取。

未导出(不展示也不能抽取)的牌组不展示在该列表中。

配置牌堆更新

很多时候,牌堆内容不是一成不变的。而使用牌堆的用户需要手动去获取最新的牌堆,才能获得作者们提供的最新内容。

我们为牌堆提供了配置更新链接的机制,方便骰主快速获取牌堆更新。有能力的牌堆作者可以配置更新链接,便于分享最新的牌堆内容。

配置牌堆文件的 updateUrls 以指定对应的更新链接:

toml
[meta]
+title = "野兽牌堆"
+updateUrls = [
+  "https://updateurl.com" # 此处填写你的更新链接
+]
+
+# 牌组表
+[decks]
+"快端上来罢" = [
+  "哼哼哼啊啊啊啊啊",
+  "你是一个一个一个牌堆结果"
+]
+"数字论证" = [
+  "114514",
+  "1919810"
+]

有多个更新链接时,海豹将依次从上往下检查更新。

插入海豹内置脚本语言

抽取结果字符串中可以插入 海豹语

提示:特殊的括号

与在文案和自定义回复中插入海豹语使用 {} 不同,在牌堆中 {} 有其他含义,需要用 [] 代替 {}

toml
[decks]
+"幸运转盘" = [
+  "你抽到了114金币,你现在有[$m金币=$m金币+114]",
+  "你失去了514金币,你现在有[$m金币=$m金币-514]"
+]

TOML 牌堆的更多功能

更多牌组设置

TOML 牌堆中,你可以以表的形式来创建更复杂的牌组,这允许你更精细的控制每个牌组的选项。

复杂牌组和普通牌组在使用上没有什么区别,仅仅是提供了配置选项的能力。

toml
[meta]
+title = "野兽牌堆"
+updateUrls = [
+  "https://updateurl.com" # 此处填写你的更新链接
+]
+
+# 简单牌组表
+[decks]
+"快端上来罢" = [
+  "哼哼哼啊啊啊啊啊",
+  "你是一个一个一个牌堆结果"
+]
+
+# 复杂牌组
+["数字论证"]
+export = true
+visible = true
+aliases = [ "恶臭论证" ]
+options = [
+  "114514",
+  "1919810",
+]

表名将作为这个牌组的名称,复杂牌组提供以下选项:

  • export:是否导出该牌组;
  • visible:该牌组是否可见,不可见的将不展示在 .draw keys 列表中;
  • aliases:牌组的别名,可以使用别名抽取改牌组,如上述示例中可以使用 .draw 数字论证.draw 恶臭论证 来抽取;
  • options:该牌组的项。

注意:设置的选项未生效?

注意,对应的选项名需要完全一致,否则海豹将无法正确解析。

aliases 不要误写成 aliasoptions 不要误写成 option

云端内容

某些情况下,我们希望牌堆内容能够自动更新,骰主无需反复更新骰子中装载的牌堆,用户也能抽取到最新内容。例如,一个实时更新的公骰列表牌堆。

海豹支持为牌堆提供云端内容,这需要牌堆作者有能力提供一个 API 接口,每次 配置了接口的牌组被抽取的时候,都会调用该接口获取该牌组的最新数据。

注意:不受控的云端内容

海豹核心无法核查从接口处获取的数据,骰主需要自行确认数据源不会返回你不希望骰子发出的信息。

对于提供了云端内容的牌堆,在海豹 Web UI 的牌端管理界面,会强制增加相应标识,以显示该牌堆提供了云端内容。

API 接口要求

海豹将以 HTTP GET 的方式请求对应接口,接口应当返回一个 JSON 字符串数组数据,其每个元素均是牌组的一个条目。

返回结果示例如下:

json
[
+  "3 = 11*-4+51-4",
+  "114 = 11*4+5*14",
+  "514 = (1-1)/4+514"
+]

牌堆配置云端内容

目前仅有 TOML 牌堆支持云端内容,示例如下:

toml
[meta]
+title = "野兽牌堆-云端内容示例"
+
+["114514种论证"]
+export = true
+visible = true
+options = [
+  "1 = 11/(45-1)*4",
+  "2 = -11+4-5+14",
+  "3 = 11*-4+51-4"
+]
+# 开启云内容
+cloud_extra = true
+# 云内容与本地内容去重
+dictinct = true
+# 云内容链接
+options_urls = [
+  "此处替换为对应的 API 链接,类似 http://example.com/xxx",
+]

假定上面填入了 API,它会返回上一节中的示例 JSON 字符串数组,即 ["3 = 11*-4+51-4", "114 = 11*4+5*14", "514 = (1-1)/4+514"]

正如上面示例中看到的那样,在 TOML 格式的复杂牌组中,有一些云端内容的相关配置项,每个牌组都可以单独控制云端相关设置。抽取牌组时,接口返回的数据将和牌组本身配置的 options 数组合并,最后的抽取是从合并的数组中进行。

  • cloud_extra:为 true 时,抽取本牌组时将请求接口获取云端数据;
  • options_urls:配置云端内容的 API 链接,链接能够配置多个。每次抽取这个牌组时,会依次调用配置的 API,在任意一个接口成功返回数据后即停止
  • distinct:为 true 时,云端数据与本地数据合并后会进行去重,确保最终抽取的牌组中不含重复条目。

以上述牌组为例,当执行 .draw 114514种论证 的时候,将首先调用 API 获取云端内容,成功获取后进行合并并去重,最终抽取的牌组相当于直接配置了这样的牌组:

toml
["114514种论证"]
+export = true
+visible = true
+options = [
+  "1 = 11/(45-1)*4",
+  "2 = -11+4-5+14",
+  "3 = 11*-4+51-4",
+  "114 = 11*4+5*14",
+  "514 = (1-1)/4+514"
+]
+ + + + \ No newline at end of file diff --git a/advanced/edit_helpdoc.html b/advanced/edit_helpdoc.html new file mode 100644 index 000000000..04c96d179 --- /dev/null +++ b/advanced/edit_helpdoc.html @@ -0,0 +1,77 @@ + + + + + + 编写帮助文档 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

编写帮助文档

本节内容

本节将介绍帮助文档的编写,请善用侧边栏和搜索,按需阅读文档。

我们假定你已了解 JSON 格式。如果你对 JSON 还很陌生,可以阅读以下教程或自行在互联网搜索:

创建 JSON 格式的帮助文档

你可以直接按照以下格式书写 <helpdoc>.json

json
{
+  "mod": "名字",
+  "author": "作者",
+  "brief": "概述",
+  "comment": "备注",
+  "helpdoc": {
+    "词条A": "词条 A 的具体内容。",
+    "词条B": "词条 B 的具体内容。",
+    "词条C": "[图:data/images/sealdice.png] 词条 C 的图片与内容。"
+  }
+}

若你的文本需要换行,你可以使用 \n 作为换行符,而不是在编写时直接换行,这会导致格式错误。你还可以使用 \f{FormFeed} 作为分页符。

注意:标准 JSON 而不是 JSON5

海豹支持的 JSON 帮助文档是「标准 JSON」格式,诸如注释,尾逗号等语法不属于 JSON 语法,而是 JSON5 这个扩展标准的语法,出错时请严格检查。

目前暂不考虑支持 JSON5 标准。

注意:文件编码

永远使用 UTF-8 编码编写 helpdoc。

你可以在 JSON 格式的帮助文档中嵌套引用其它条目:

json
{
+  "helpdoc": {
+    "词条A": "词条 A 的具体内容。",
+    "词条B": "{词条A}词条 B 的具体内容。",
+    "词条C": "你还可以 {词条A}\n{词条B}"
+  }
+}

如此一来当你发送 .help 词条 B 时,骰子将回复:「词条 A 的具体内容。词条 B 的具体内容。」。

示例文档:塔罗牌(节选)

json
{
+  "mod": "KIYTarot",
+  "author": "浣熊旅記",
+  "brief": "KIY 塔罗牌",
+  "comment": "释义来源网络。",
+  "helpdoc": {
+    "愚者逆位": "漂泊,冒险,鲁莽,冒失,疯狂,无视物质损失,灵魂堕落,内心空虚,感情轻浮。",
+    "魔术师逆位": "方向错误,被骗或失败,局面失控,二流角色,缺乏热忱和创造力,爱情难有进展。",
+    "女祭司逆位": "挑剔,贪心,目光短浅,洁癖,不适宜的激情,自尊心太强,锋芒外露,单相思。",
+    "女皇逆位": "冷淡,缺乏上进心,困难,享乐,环境险恶,贴近自然,自负,纠纷,感情挫折。",
+    "皇帝逆位": "幼稚,挫折,武断,滥用权利,冷酷,占有欲和控制力强烈,感情勉强。"
+  }
+}

创建 EXCEL 格式的帮助文档

你还可以按照以下格式书写 <helpdoc>.xlsx

KeySynonymContentDescriptionCatalogueTag
词条 A词条同义词词条内容对词条的简述所属目录内容 TAG
海豹骰豹骰/海豹/sealdice一个简单易用的跑团骰子系统。\n形象是海豹,可以被叫做海豹骰、豹骰,豹子骰之类。

Excel 格式的 helpdoc 分为 KeySynonymContentDescriptionCatalogueTag 六块,其中第二列、后三项为选填,一般情况下你都可以留空。

  • Synonym 列可以填写多个同义词,使用 / 分隔即可。
  • Excel 中的词条内容可以直接换行(也可以使用 \n 来换行,但不支持其它换行符与分页符),因此它常用来快速编写有大段文字的帮助文档。
  • 帮助文档所在工作表的名称会作为前缀加入词条。如将工作表命名为 测试,则对应的词条会显示为 测试:词条 A。由于海豹的 .find 指令会对词条进行模糊检索,所以你不必担心前缀对查询带来的影响。

注意:必须保留首行!

不要删去第一行的 KeySynonym 等词。请从第二行开始编写词条。

提示:EXCEL 格式的帮助文档

<helpdoc>.xlsx 原本是梨骰用于 D&D 词条查询的格式,但海豹同样可以读取它。

+ + + + \ No newline at end of file diff --git a/advanced/edit_reply.html b/advanced/edit_reply.html new file mode 100644 index 000000000..ca82d49d4 --- /dev/null +++ b/advanced/edit_reply.html @@ -0,0 +1,145 @@ + + + + + + 编写自定义回复 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

编写自定义回复

本节内容

本节将展示自定义回复编写的进阶部分,请善用侧边栏和搜索,按需阅读文档。

我们假定你已经阅读了自定义回复编写的 基础部分(「配置 - 自定义回复」节)。如果你还没有阅读该章节,请先阅读这一节。

在部分内容中,我们假定你了解海豹变量机制和正则表达式。如果你对正则表达式还很陌生,可以参考以下材料,或在互联网自行搜索学习。

海豹核心跟随 Go 语言,采用 RE2 规范。该规范与其他规范在个别扩展语法上存在细微差别,请注意辨析。

在使用 Regex 101 网站时,请注意在左侧的「FLAVOR」栏选中「Golang」,以确保正则表达式的表现一致。

第一个自定义回复

首先我们打开「自定义回复」页,新建一项自定义回复。

提示:使用 .text 帮助测试

.text <文本> 将是你的一大助力,它会输出后面文本的执行结果,你可以将它看成不需要触发词的自定义回复。

当然,在采用 .text 指令进行 debug 时,可能出现因为测试的内容对变量造成影响,而不得不频繁复制黏贴清空指令的情况。此时建议专门开一个一两个字即可触发的自定义回复,用来测试。

提示:嵌入 CQ 码

返回内容可以嵌入 CQ 码。CQ 码文档见 CQ 码列表

自定义回复中分「条件」和「结果」两个部分。在 配置 - 自定义回复 中,我们已经了解了一些简单的回复编写,下面将补充介绍进阶内容。

触发条件

文本匹配:模糊匹配

模糊匹配将比较收到的消息与指定文本,内容相似时触发。

比较定义在 dice/ext_reply_logic.go 中,内容 jaro 和 hamming 平均值高于阈值(0.7)被认为是相似:

go
func strCompare(a string, b string) float64 {
+	va := strsim.Compare(a, b, strsim.Jaro())
+	vb := strsim.Compare(a, b, strsim.Hamming())
+	return (va + vb) / 2
+}

提示:模糊匹配未命中

模糊匹配可能出现感觉能匹配上,但实际上没办法匹配上的情况。我们更建议你使用「包含文本」或「正则匹配」。

文本匹配:正则匹配

使用正则匹配时,直接在要匹配的文本一栏中写入正则表达式即可。当正则表达式获得匹配时,该条件得到满足。

对于正则表达式中的捕获组,海豹遵循命令行脚本的通行做法,将其按顺序存储于多个变量 $t1 $t2 等。

text
正则匹配:^购买(.+)
+输出文本:{$t玩家}购买了{$t1}

示例

木落
购买猫粮
头像
头像
海豹牌猫粮店
<木落>购买了猫粮

可以发现第 1 捕获组命中的字符串 猫粮,被存储于变量 $t1 中。

此外,对于正则表达式匹配的完整内容将被存储于变量 $t0。如果捕获组存在命名,如命名为 A 的捕获组 (?P<A>cc),命中的字符串也将额外存入变量 $tA

注意:不要使用某些前缀!

由于 . / ! 等符号会作为海豹中指令的前缀,因此作为前缀时可能导致将其识别为指令而非自定义回复的情况,建议换成别的前缀。

提示:正则中匹配 CQ 码

海豹支持用正则匹配 CQ 码。但是,由于 [ ] 符号在正则表达式中含有特殊含义,如果你这么做了,请对它们进行转义。

示例:^\[CQ:xxx,xx=xxx\]

表达式为真

在「表达式为真」匹配中,只需要直接在匹配文本中写出形如 变量名 == 需要的值 的形式即可,不需要使用任何 {}

回复结果

在回复文本中,可以调用一些 变量,也可以嵌入 内置脚本语言

嵌入脚本语言

示例

木落
.text {$t玩家}进行测试
头像
头像
海豹核心
<木落>进行测试
木落
.text {d100}
头像
头像
海豹核心
1

提示:未赋值的变量

所有变量在未被赋值时被调用的值都为 0。

执行块

{% %} 被称为执行块。由 {% %} 括起来的部分会被作为代码执行,输出最后一个语句的结果。执行块中的两个语句之间要使用 ; 隔开。

如果想要输出字符串,则应该用 ` / " / ' 括上。

  • 例:形如 {% \$t1="114514" %} 的式子会输出 114514

提示:结果中调用变量

若想在结果中调用变量,请用反引号。目前海豹只支持在反引号中调用变量。

下面是一个简单的示例,这里的第一句也是最后一句,所以它的结果会被输出。

text
.text {% $t测试=1 %}

示例:使用 if

text
{%
+$t测试=1;
+if $t测试==1 {$t输出="赞美木落"};
+if $t测试==2 {$t输出="快点更新"};
+if $t测试!=2&&$t测试!=1 {$t输出="群主女装"}
+%}
+{$t输出}

首先给 $t测试赋值为 1,然后进入判断:

  1. 如果 $t测试 等于 1,则变量 $t输出 等于 "赞美木落"
  2. 如果 $t测试 等于 2,则变量 $t输出 等于 "快点更新"
  3. 如果 $t测试 既不等于 2 也不等于 1,则变量 $t输出 等于 "群主女装";

最后,输出变量 $t输出

提示:容易误解的 if 使用

目前海豹语并不支持 else if / elififelse 是一对一匹配的。所以当形如:

text
if <条件 1> {<执行 1>};
+if <条件 2> {<执行 2>}
+else {<执行 3>}

的语句出现时,第二个 ifelse 为一个整体,且不与第一个 if 构成 if elseif else 的关系!即使 <条件 1> 满足,其仍会对 <条件 2> 进行判断,并在 <执行 2><执行 3> 中择一执行!

示例:变量运算

text
{%
+$t0 = 1;
+$tRand = d6;
+if $t0 == 1 { $t0 = $t0 + $tRand }
+%}
+{$t0}

在这个例子里,我们先给 $t0 赋值为 1,然后判断 $t0 是否等于 1,若通过则 $t0 的值增加 1d6,最后输出结果。

更多示例片段

牌堆与自定义回复的结合

以养猫功能中猫好感度为例:

text
{%
+$mCatFavor<=100 ? `#{DRAW-第一档猫好感}`,
+$mCatFavor<=250 ? `#{DRAW-第二档猫好感}`,
+$mCatFavor<=600 ? `#{DRAW-第三档猫好感}`,
+$mCatFavor<=1500 ? `#{DRAW-第四档猫好感}`,
+$mCatFavor<=2500 ? `#{DRAW-第五档猫好感}`,
+1 ? `#{DRAW-第六档猫好感}`
+%}

在这一脚本中,根据猫好感度 $mCatFavor不同,需要输出不同回复的机制。

补充:其它写法

除了形如

text
{%
+判断1 ? `#{DRAW-牌组1}`,
+判断2 ? `#{DRAW-牌组2}`,
+判断3 ? `#{DRAW-牌组3}`,
+1 ? `#{DRAW-牌组4}`,
+%}

的写法外,还可以使用:

text
{%
+if 判断1 {
+  $tRand=d6;
+  $t输出=$tRand==1 ? `内容1`,
+  $t输出=$tRand==2 ? `内容2`,
+  $t输出=$tRand==3 ? `内容3`,
+  $t输出=$tRand==4 ? `内容4`,
+  $t输出=$tRand==5 ? `内容5`,
+  $t输出=$tRand==6 ? `内容6`
+};
+if 判断2 { $tRand=d10; $t输出 = $tRand==1 ? `内容1`, …… };
+if 判断3 { $tRand=d10; $t输出 = $tRand==1 ? `内容1`, …… };
+%}

实质上没有太大区别,可根据喜好选择。

多行回复的错误使用

自定义回复中的多行输出通常并不是:

text
{$t输出0}
+{$t输出1}
+{$t输出2}
+{$t输出3}

而是在为四个 $t输出 变量赋值时,于内部写入 \n,自定义回复中则采用 {$t输出0}{$t输出1}{$t输出2}{$t输出3} 的形式。

这是因为如果某一变量可能为空时,如果采用第一种分行的写法,会出现这样的效果:

示例

木落
踢海豹
头像
头像
海豹核心
<木落>一脚踢向海豹,踢了3格。 +海豹现在离终点还有37格。 + +海豹的逃走骰:1d100=60,海豹没能逃脱凶猛恶汉们的掌控!

可以看见,在中间会出现突兀的空行。这是因为虽然 $t输出2 变量为空,海豹仍会按照自定义回复中设置的格式输出。因此在对应 $t输出2 的一行中,海豹会首先输出空变量 {$t输出2},随后按自定义回复的格式进行换行,导致发生空行。

所以,如果想要在某个变量为空时,不让用户注意到突兀的空缺,就最好多做几次实验,好好规划一下换行符 \n 的位置。

限定每人/每群每天一次

海豹提供了一系列时间变量来调用,以打卡指令为例,可以采用如下两种写法中的一种(示例为每人每天一次,如要每群自行将 $m 换成 $g):

写法 1
文本匹配:你需要的文本
表达式为真:$m变量 != $tDate
回复:{if 1 {$m变量=$tDate}}你需要的回复文本

  • $m变量 作为标记变量,用 if 是防止它出现在回复文本中。

文本匹配:你需要的文本
表达式为真:$m变量==$tDate

  • 可以不写在另一条里,选择放到相较于上一条的后面,利用海豹从上往下逐个匹配的机制达成相同效果

回复:在一天触发多次时的回复

写法 2
文本匹配:你需要的文本
回复:

text
{%
+if $m变量 != $tDate {
+  $t输出 = `你需要的回复文本`;
+  $m变量 = $tDate //对其赋值,作为标记
+} else {
+  $t输出 = `在一天触发多次时的回复`
+}
+%}
+{$t输出}

以上两种写法实现效果没有差别,具体使用哪种请自行决断。

条件语句嵌套条件算符,多条件条件语句

以石头剪刀布为例,为了实现骰子随机出招的效果,令 $tRand=d3,然后根据 $tRand 的情况赋值 $tDicePlay。通过骰子出招和玩家出招两个变量判断,输出游戏结果,并记录场次。

为了防止直接使用 {%%} 进行赋值导致的变量显示,需要在最外面写 if 1 ,则在生成 $tRand之后再次判断的时候,可以使用 $tDicePlay=条件算符,或是再新开一行用条件算符或者条件语句实现。

以下给出在同一个 if 内直接赋值的写法和新开一行使用条件语句的写法:

text
{% //在同一个if内直接赋值。可以在赋值时使用条件算符。
+if 1 {
+    $tRand=d3;
+    $tDicePlay = $tRand==1 ? "石头",
+                 $tRand==2 ? "剪刀",
+                 1 ? "布"
+}
+%}
+
+{% //新开一行赋值
+if 1 {
+    $tRand=d3;
+};
+if $tRand==1 {$tDicePlay="石头"};
+if $tRand==2 {$tDicePlay="剪刀"};
+if $tRand==3 {$tDicePlay="布"}
+%}

两种写法实现效果相同,石头剪刀布内在这里采用了第一种,实际上没有差别。

生成骰子出招并获取玩家出招之后,就开始判断。这里除了平局可以使用 $tDicePlay==$t0 省事之外,其他的都需要在条件中用多个进行嵌套。

注意:条件判断

豹语语法中,判断时条件中的 ||&& 是从左往右计算的,如果后面有需要优先计算与或的东西,请加好括号。

text
if $t0 == $tDicePlay {
+    $t输出 = `那我出{$tDicePlay}!{$t玩家}出的是{$t0}啊,我们平局了。`;
+    $mPlayerTime = $mPlayerTime + 1
+};
+if ($t0=="剪刀" && $tDicePlay=="石头") || ($t0=="石头" && $tDicePlay=="布") || ($t0=="布" && $tDicePlay=="剪刀") {
+    $t输出 = `那我出{$tDicePlay}!{$t玩家}出的是{$t0}啊,我赢了。`;
+    $mPlayerTime = $mPlayerTime + 1;
+    $mPlayerLose = $mPlayerLose + 1
+};
+if ($t0=="石头" && $tDicePlay=="剪刀") || ($t0=="布" && $tDicePlay=="石头") || ($t0=="剪刀" && $tDicePlay=="布") {
+    $t输出 = `那我出{$tDicePlay}!{$t玩家}出的是{$t0}啊,你赢了。`;
+    $mPlayerTime = $mPlayerTime + 1;
+    $mPlayerWin = $mPlayerWin + 1
+}

同时使用前缀和后缀匹配,以匹配 AxxxxxxxB 型文本

前缀匹配:A
后缀匹配:B
回复:怎么辉石呢

示例

木落
AB
头像
头像
海豹核心
怎么辉石呢

随机看图

随机看图

单人模组

示例

木落
开始吧 @海豹核心
头像
头像
海豹核心
那么,故事就这么开始了?如果你想听的话,回复我:说下去
木落
说下去 @海豹核心
头像
头像
海豹核心
那么,故事要从一个村子说起……(说下去)
木落
说下去 @海豹核心
头像
头像
海豹核心
这个村子有一户人家,门前有两棵树
木落
说下去 @海豹核心
头像
头像
海豹核心
一棵是函树,一棵是反函树
木落
说下去 @海豹核心
头像
头像
海豹核心
我讲完了。

具体实现,第一段

单人模组第一段

第二段

单人模组第二段

这两段较为常规,第三段开始变形了:

单人模组第三段

text
{%
+    if $mStory == 4 { $mStory = 5 };
+    if $mStory == 3 { $mStory = 4 };
+    if $mStory == 2 { $mStory = 3 };
+
+    $mStory == 3 ? '这个村子有一户人家,门前有两棵树',
+    $mStory == 4 ? '一棵是函树,一棵是反函树',
+    $mStory == 5 ? '我讲完了。',
+    1 ? '?'
+%}
+
+{% if $mStory == 5 { $mStory=0 } %}
+ + + + \ No newline at end of file diff --git a/advanced/edit_sensitive_words.html b/advanced/edit_sensitive_words.html new file mode 100644 index 000000000..731c5155c --- /dev/null +++ b/advanced/edit_sensitive_words.html @@ -0,0 +1,103 @@ + + + + + + 编写敏感词库 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

编写敏感词库

本节内容

本节将介绍敏感词库的编写,请善用侧边栏和搜索,按需阅读文档。

创建文本格式的敏感词库

你可以直接按照以下格式书写 <words>.txt

text
#notice
+提醒级词汇 1
+提醒级词汇 2
+
+#caution
+注意级词汇 1
+注意级词汇 2
+
+#warning
+警告级词汇
+
+#danger
+危险级词汇

创建 TOML 格式的敏感词库

TOML 格式

我们假定你已了解 TOML 格式。如果你对 TOML 还很陌生,可以阅读以下教程或自行在互联网搜索:

你可以直接按照以下格式书写 <words>.toml

toml
# 元信息,用于填写一些额外的展示内容
+[meta]
+# 词库名称
+name = '测试词库'
+# 作者,和 authors 存在一个即可
+author = ''
+# 作者(多个),和 author 存在一个即可
+authors = [ '<匿名>' ]
+# 版本,建议使用语义化版本号
+version = '1.0'
+# 简介
+desc = '一个测试词库'
+# 协议
+license = 'CC-BY-NC-SA 4.0'
+# 创建日期,使用 RFC 3339 格式
+date = 2023-10-30
+# 更新日期,使用 RFC 3339 格式
+updateDate = 2023-10-30
+
+# 词表,出现相同词汇时按最高级别判断
+[words]
+# 忽略级词表,没有实际作用
+ignore = []
+# 提醒级词表
+notice = [
+  '提醒级词汇 1',
+  '提醒级词汇 2'
+]
+# 注意级词表
+caution = [
+  '注意级词汇 1',
+  '注意级词汇 2'
+]
+# 警告级词表
+warning = [
+  '警告级词汇 1',
+  '警告级词汇 2'
+]
+# 危险级词表
+danger = [
+  '危险级词汇 1',
+  '危险级词汇 2'
+]
+ + + + \ No newline at end of file diff --git a/advanced/introduce.html b/advanced/introduce.html new file mode 100644 index 000000000..eb0d18986 --- /dev/null +++ b/advanced/introduce.html @@ -0,0 +1,49 @@ + + + + + + 进阶介绍 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

进阶介绍

本节内容

本节将介绍海豹扩展功能的进阶内容,请善用侧边栏和搜索,按需阅读文档。

海豹核心提供了多种扩展功能,这些功能能让你实现更多的个性化功能,但通常也需要你具备一些知识。

我们建议,在尝试使用对应功能进行个性化前,先阅读本章的对应小节,帮助你快速掌握相关内容。

阅读完小节教程后,如果在使用中依然存在疑问,可以在官方群内寻求帮助。

了解海豹语

在很多地方为了实现一些逻辑,都需要用到海豹所提供的一种简单的脚本语言,可以称为「海豹语」「豹语」等。

我们非常建议你在扩展功能的编写中,先了解海豹语。见 扩展-内置脚本语言

用什么编写?

在牌堆、JS 插件、敏感词库等的编写中,我们通常需要在对应格式的文件进行编写。

务必使用更专业的编辑器,如果你不知道选择什么,可以尝试使用 vscodesublime text或 MT 管理器(Android)等,这些都是被广泛使用的优秀编辑器。

更专业的编辑器能更好地帮助你编写相关格式的文件。这些编辑器提供的语法高亮、自动补全、格式化、错误检查、编码转换等诸多功能,能为你带来更好的编写体验。

不建议使用 Windows 记事本、Notepad++ 编写。

提示:如何获取安装包?

官网应当是你下载软件的首选途径,请不要被搜索引擎等误导进各种下载站,它们很可能会提供二次封装后、捆绑大量流氓软件的安装包。

但由于各种原因,官网下载可能会十分缓慢,你还可以选择从海豹官方群的群文件中获取安装包。通常群文件的「工具&内置文件」中,请善用搜索。

+ + + + \ No newline at end of file diff --git a/advanced/js_api_list.html b/advanced/js_api_list.html new file mode 100644 index 000000000..85efa6869 --- /dev/null +++ b/advanced/js_api_list.html @@ -0,0 +1,245 @@ + + + + + + API 列表 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

API 列表

本节内容

本节为海豹提供的 JS API 列表。目前的内容是从上古文档中直接迁移过来的,难免存在错误和缺失,参考本节时请注意识别。

更好的方式是参考海豹提供的 seal.d.ts 文件。(但同样存在缺失)

如果你需要最准确的内容,当前只能查阅海豹源码。主要查看 dice_jsvm.go,还有一些 API 以结构体方法的形式存在。

其中 ctx 为信息的 MsgContext,msg 为信息的 Message,一般会在定义指令函数时就声明,如:

javascript
cmd.solve = (ctx, msg, cmdArgs) => {
+    someFunction;
+}

下面是 api 的说明(完全了吧......应该?):

javascript
//被注释掉的 api 是可以提供的,但是在源码中被注释。
+//seal.setVarInt(ctx, `$XXX`, valueToSet) //`$XXX`即 rollvm(初阶豹语)中的变量,其会将$XXX 的值设定为 int 类型的 valueToSet。
+//seal.setVarStr(ctx, `$XXX`, valueToSet) //同上,区别是设定的为 str 类型的 valueToSet。
+seal.replyGroup(ctx, msg, something) //向收到指令的群中发送 something。
+seal.replyPerson(ctx, msg, something) //顾名思义,类似暗骰,向指令触发者(若为好友)私信 something。
+seal.replyToSender(ctx, msg, something) //同上,区别是群内收到就群内发送,私聊收到就私聊发送。
+seal.memberBan(ctx, groupID, userID, dur) //将指定群的指定用户封禁指定时间 (似乎只实现了 walleq 协议?)
+seal.memberKick(ctx, groupID, userID)  //将指定群的指定用户踢出 (似乎也只实现了 walleq 协议?)
+seal.format(ctx, something) //将 something 经过一层 rollvm 转译并返回,注意需要配合 replyToSender 才能发送给触发者!
+seal.formatTmpl(ctx, something) //调用自定义文案 something
+seal.getCtxProxyFirst(ctx, cmdArgs)  //获取被 at 的第一个人,等价于 getCtxProxyAtPos(ctx, 0)
+seal.vars.intGet(ctx, `$XXX`) //返回一个数组,其为 `[int 类型的触发者的该变量的值,bool]` 当 strGet 一个 int 或 intGet 一个 str 时 bool 为 false,若一切正常则为 true。(之所以会有这么奇怪的说法是因为 rollvm 的「个人变量」机制)。
+seal.vars.intSet(ctx, `$XXX`, valueToSet) //`$XXX` 即 rollvm(初阶豹语)中的变量,其会将 $XXX 的值设定为 int 类型的 valueToSet。
+seal.vars.strGet(ctx, `$XXX`) //返回一个数组,其为 `[str 类型的触发者的该变量的值,bool]`(之所以会有这么奇怪的说法是因为 rollvm 的「个人变量」机制),当 strGet 一个 int 或 intGet 一个 str 时 bool 为 false,如果一切正常则为 true。
+seal.vars.strSet(ctx, `$XXX`, valueToSet) //`$XXX` 即 rollvm(初阶豹语)中的变量,其会将 $XXX 的值设定为 str 类型的 valueToSet。
+//seal.vars.varSet(ctx, `$XXX`, valueToSet) //可能是根据数据类型自动推断 int 或 str?
+//seal.vars.varGet(ctx, `$XXX`) //同上
+seal.ext.newCmdItemInfo() //用来定义新的指令;没有参数,个人觉得可以视其为类(class)。
+seal.ext.newCmdExecuteResult(bool) //用于判断指令执行结果,true 为成功,false 为失败。
+seal.ext.new(extName, extAuthor, Version) //用于建立一个名为 extName,作者为 extAuthor,版本为 Version 的扩展。注意,extName,extAuthor 和 Version 均为字符串。
+seal.ext.find(extName) //用于查找名为 extname 的扩展,若存在则返回 true,否则返回 false。
+seal.ext.register(newExt) //将扩展 newExt 注册到系统中。注意 newExt 是 seal.ext.new 的返回值,将 register 视为 seal.ext.new() 是错误的。
+seal.coc.newRule() //用来创建自定义 coc 规则,github.com/sealdice/javascript/examples 中已有详细例子,不多赘述。
+seal.coc.newRuleCheckResult() //同上,不多赘述。
+seal.coc.registerRule(rule) //同上,不多赘述。
+seal.deck.draw(ctx, deckname, isShuffle) //他会返回一个抽取牌堆的结果。这里有些复杂:deckname 为需要抽取的牌堆名,而 isShuffle 则是一个布尔值,它决定是否放回抽取;false 为放回,true 为不放回。
+seal.deck.reload() //重新加载牌堆。
+//下面是 1.2 新增 api
+seal.newMessage() //返回一个空白的 Message 对象,结构与收到消息的 msg 相同
+seal.createTempCtx(endpoint, msg) // 制作一个 ctx, 需要 msg.MessageType 和 msg.Sender.UserId
+seal.applyPlayerGroupCardByTemplate(ctx, tmpl) // 设定当前 ctx 玩家的自动名片格式
+seal.gameSystem.newTemplate(string) //从 json 解析新的游戏规则。
+seal.gameSystem.newTemplateByYaml(string) //从 yaml 解析新的游戏规则。
+seal.getCtxProxyAtPos(ctx, pos) //获取第 pos 个被 at 的人,pos 从 0 开始计数
+atob(base64String) //返回被解码的 base64 编码
+btoa(string) //将 string 编码为 base64 并返回
+
+//下面是 1.4.1 新增 api
+seal.ext.newConfigItem() //用于创建一个新的配置项,返回一个 ConfigItem 对象
+seal.ext.registerConfig(configItem) //用于注册一个配置项,参数为 ConfigItem 对象
+seal.ext.getConfig(ext, "key") //用于获取一个配置项的值,参数为扩展对象和配置项的 key
+seal.ext.registerStringConfig(ext, "key", "defaultValue") //用于注册一个 string 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerIntConfig(ext, "key", 123) //用于注册一个 int 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerFloatConfig(ext, "key", 123.456) //用于注册一个 float 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerBoolConfig(ext, "key", true) //用于注册一个 bool 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerTemplateConfig(ext, "key", ["1", "2", "3", "4"]) //用于注册一个 template 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerOptionConfig(ext, "key", "1", ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]) //用于注册一个 option 类型的配置项,参数为扩展对象、配置项的 key、默认值和可选项
+seal.ext.getStringConfig(ext, "key") //用于获取一个 string 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getIntConfig(ext, "key") //用于获取一个 int 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getFloatConfig(ext, "key") //用于获取一个 float 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getBoolConfig(ext, "key") //用于获取一个 bool 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getTemplateConfig(ext, "key") //用于获取一个 template 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getOptionConfig(ext, "key") //用于获取一个 option 类型配置项的值,参数为扩展对象和配置项的 key
+
+//下面是 1.4.4 新增 api
+seal.setPlayerGroupCard(ctx, tmpl) //设置当前 ctx 玩家的名片
+seal.ban.addBan(ctx, id, place, reason)
+seal.ban.addTrust(ctx, id, place, reason)
+seal.ban.remove(ctx, id)
+seal.ban.getList()
+seal.ban.getUser(id)

以下为部分 api 使用示例。

提示

声明和注册扩展的代码部分已省略。

replyGroup replyPerson replyToSender

javascript
//在私聊触发 replyGroup 不会回复
+seal.replyGroup(ctx, msg, 'something'); //触发者会收到"something"的回复
+seal.replyPerson(ctx, msg, 'something'); //触发者会收到"something"的私聊回复
+seal.replyToSender(ctx, msg, 'something'); //触发者会收到"something"的回复

memberBan memberKick

是否保留待议

javascript
//注意这些似乎只能在 WQ 协议上实现;
+seal.memberBan(ctx, groupID, userID, dur) //将群为 groupID,userid 为 userID 的人封禁 dur(单位未知)
+seal.memberKick(ctx, groupID, userID) //将群为 groupID,userid 为 userID 的人踢出那个群

format formatTmpl

javascript
//注意 format 不会自动 reply,而是 return,所以请套一层 reply
+seal.replyToSender(ctx, msg, seal.format(`{$t玩家}的人品为:{$t人品}`))
+//{$t人品} 是一个 rollvm 变量,其值等于 .jrrp 出的数值
+//回复:
+//群主的人品为:87
+seal.replyToSender(ctx, msg, seal.formatTmpl(unknown))
+//这里等大佬来了再研究

getCtxProxyFirst getCtxProxyAtPos

javascript
cmd.solve = (ctx, msg, cmdArgs) => {
+    let ctxFirst = seal.getCtxProxyFirst(ctx, cmdArgs)
+    seal.replyToSender(ctx, msg, ctxFirst.player.name)
+}
+ext.cmdMap['test'] = cmd
+//输入:.test @A @B
+//返回:A 的名称。这里其实获取的是 A 玩家的 ctx,具体见 ctx 数据结构。
+cmd.solve = (ctx, msg, cmdArgs) => {
+    let ctx3 = seal.getCtxProxyAtPos(ctx, 3)
+    seal.replyToSender(ctx, msg, ctx3.player.name)
+}
+ext.cmdMap['test'] = cmd
+//输入:.test @A @B @C
+//返回:C(第三个被@的人)的名称。这里其实获取的是 C 玩家的 ctx,具体见 ctx 数据结构。

vars

javascript
// 要看懂这里你可能需要学习一下初阶豹语
+seal.vars.intSet(ctx, `$m今日打卡次数`, 8) //将触发者的该个人变量设置为 8
+seal.vars.intGet(ctx, `$m今日打卡次数`) //返回 [8,true]
+seal.vars.strSet(ctx, `$g群友经典语录`, `我要 Git Blame 一下看看是谁写的`) //将群内的该群组变量设置为“我要 Git Blame 一下看看是谁写的”
+seal.vars.strGet(ctx, `$g群友经典语录`) //返回 ["我要 Git Blame 一下看看是谁写的",true]

ext

javascript
//用于注册扩展和定义指令的 api,已有详细示例,不多赘述

coc

javascript
//用于创建 coc 村规的 api,已有详细示例,不多赘述

deck

javascript
seal.deck.draw(ctx, `煤气灯`, false) //返回 放回抽取牌堆“煤气灯”的结果
+seal.deck.draw(ctx, `煤气灯`, true) //返回 不放回抽取牌堆“煤气灯”的结果
+seal.deck.reload() //重新加载牌堆

自定义 TRPG 规则相关

javascript
//这里实在不知道如何举例了
+seal.gameSystem.newTemplate(string) //从 json 解析新的游戏规则。
+seal.gameSystem.newTemplateByYaml(string) //从 yaml 解析新的游戏规则。
+seal.applyPlayerGroupCardByTemplate(ctx, tmpl) // 设定当前 ctx 玩家的自动名片格式
+seal.setPlayerGroupCard(ctx, tmpl) // 立刻设定当前 ctx 玩家的名片格式

其他

javascript
seal.newMessage() //返回一个空白的 Message 对象,结构与收到消息的 msg 相同
+seal.createTempCtx(endpoint, msg) // 制作一个 ctx, 需要 msg.MessageType 和 msg.Sender.UserId
+seal.getEndPoints() //返回骰子(应该?)的 EndPoints
+seal.getVersion() //返回一个 map,键值为 version 和 versionCode

ctx 的内容

javascript
//在 github.com/sealdice/javascript/examples_ts/seal.d.ts 中有完整内容
+// 成员
+ctx.group // 当前群信息 (对象)
+ctx.player // 当前玩家数据 (对象)
+ctx.endPoint // 接入点数据 (对象)
+// 以上三个对象内容暂略
+ctx.isCurGroupBotOn // bool
+ctx.isPrivate // bool 是否私聊
+ctx.privilegeLevel // int 权限等级:40 邀请者、50 管理、60 群主、70 信任、100 master
+ctx.delegateText // string 代骰附加文本
+// 方法 (太长,懒.)
+chBindCur
+chBindCurGet
+chBindGet
+chBindGetList
+chExists
+chGet
+chLoad
+chNew
+chUnbind
+chUnbindCur
+chVarsClear
+chVarsGet
+chVarsNumGet
+chVarsUpdateTime
+loadGroupVars
+loadPlayerGlobalVars
+loadPlayerGroupVars,notice

ctx.group 的内容

javascript
// 成员
+active
+groupId
+guildId
+groupName
+cocRuleIndex
+logCurName
+logOn
+recentDiceSendTime
+showGroupWelcome
+groupWelcomeMessage
+enteredTime
+inviteUserId
+// 方法
+extActive
+extClear
+extGetActive
+extInactive
+extInactiveByName
+getCharTemplate
+isActive
+playerGet

ctx.player 的内容

javascript
// 成员
+name
+userId
+lastCommandTime
+autoSetNameTemplate
+// 方法
+getValueNameByAlias

ctx.endPoint 的内容

javascript
// 成员
+baseInfo
+id
+nickname
+state
+userId
+groupNum
+cmdExecutedNum
+cmdExecutedLastTime
+onlineTotalTime
+platform
+enable
+// 方法
+adapterSetup
+refreshGroupNum
+setEnable
+unmarshalYAML

msg 的内容

javascript
// 成员
+msg.time // int64 发送时间
+msg.messageType // string group 群聊 private 私聊
+msg.groupId // string 如果是群聊,群号
+msg.guildId // string 服务器群组号,会在 discord,kook,dodo 等平台见到
+msg.sender // 发送者信息 (对象)
+    sender.nickname
+    sender.userId
+msg.message
+msg.rawId // 原始信息 ID, 用于撤回等
+msg.platform // 平台
+// 方法
+// (似乎目前没有?)

cmdArgs 的内容

javascript
// 成员
+.command // string
+.args // []string
+.kwargs // []Kwarg
+.at // []AtInfo
+.rawArgs // string
+.amIBeMentioned // bool (为何要加一个 Be?)
+.cleanArgs // string 一种格式化后的参数,也就是中间所有分隔符都用一个空格替代
+.specialExecuteTimes // 特殊的执行次数,对应 3# 这种
+// 方法
+.isArgEqual(n, ss...) // 返回 bool, 检查第 n 个参数是否在 ss 中
+.eatPrefixWith(ss...) // 似乎是从 cleanArgs 中去除 ss 中第一个匹配的前缀
+.chopPrefixToArgsWith(ss...) // 不懂
+.getArgN(n) // -> string
+.getKwarg(str) // -> Kwarg 如果有名为 str 的 flag,返回对象,否则返回 null/undefined(不确定)
+.getRestArgsFrom(n) // -> string 获取从第 n 个参数之后的所有参数,用空格拼接成一个字符串
+ + + + \ No newline at end of file diff --git a/advanced/js_example.html b/advanced/js_example.html new file mode 100644 index 000000000..01bb107aa --- /dev/null +++ b/advanced/js_example.html @@ -0,0 +1,917 @@ + + + + + + 常见用法示例 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

常见用法示例

创建和注册扩展

提示:扩展机制

扩展机制可以看做是海豹的 mod 管理机制,可以模块化开关海豹的任意一部分,如常用的开启 dnd 扩展,关闭 coc 扩展,关闭自动回复等。

可以查看 .ext 命令 来了解更多。

在海豹中,所有指令必须归属于某个扩展,而一个扩展可以包含多条指令。

JS 脚本中创建扩展的方式如下,在创建扩展后,还需要注册扩展,才能让扩展起效,不要漏掉哦!

javascript
// 如何建立一个扩展
+
+// 首先检查是否已经存在
+if (!seal.ext.find('test')) {
+  // 不存在,那么建立扩展,名为 test,作者“木落”,版本 1.0.0
+  const ext = seal.ext.new('test', '木落', '1.0.0');
+  // 注册扩展
+  seal.ext.register(ext);
+}

注意:JS 脚本和扩展

在实现上,海豹允许你在一个 JS 脚本文件中注册多个扩展,但我们不建议这样做。一般来说,一个 JS 脚本文件只会注册一个扩展。

注意:修改内置功能?

出于对公平性的考虑,JS 脚本不能替换内置指令和内置扩展。

自定义指令

想要创建一条自定义指令,首先需要创建一个扩展(seal.ExtInfo),写好自定义指令的实现逻辑之后,再注册到扩展中。

创建指令

接上面的代码,假定目前已经注册好了一个名为 test 的扩展,现在要写一个名为 seal 的指令:

  • 这个命令的功能为,显示「抓到一只海豹」的文案;
    • 如果命令写 .seal ABC,那么文案中将海豹命名为「ABC」;
    • 如果命令中没写名字,那么命名为默认值「氪豹」。

第一步,创建新的自定义指令,设置好名字和帮助信息。

javascript
const cmdSeal = seal.ext.newCmdItemInfo();
+cmdSeal.name = 'seal'; // 指令名字,可用中文
+cmdSeal.help = '召唤一只海豹,可用 .seal <名字> 命名';

注意:命令的帮助信息

命令的帮助信息是在使用 .help <命令> 时会返回的帮助内容。

帮助信息不要. 开头,防止查看帮助时骰子的回复触发其他骰子。

第二步,编写指令的具体处理代码。

你需要编写指令对象的 solve 函数,在使用该指令的时候,海豹核心会调用你写的这个函数。

javascript
cmdSeal.solve = (ctx, msg, cmdArgs) => {
+    // 这里是你需要编写的内容
+};
参数说明
ctx主要是和当前环境以及用户相关的内容,如当前发指令用户,当前群组信息等
msg原始指令内容,如指令文本,发送平台,发送时间等
cmdArgs指令信息,会将用户发的信息进行分段,方便快速取用

这里仅说明需要用到的接口,详细可见 插件仓库 examp_ts 下的 seal.d.ts 文件,里面包含了目前开放的接口的定义及其注释说明。

指令参数与返回值

假设用户发送过来的消息是 .seal A B C,那么可以用 cmdArgs.getArgN(1) 获取到 AcmdArgs.getArgN(2) 获取到 BcmdArgs.getArgN(3) 获取到 C

通常会对参数值进行判断,随后作出响应。

以下代码处理的是 .seal help 的情形:

javascript
cmdSeal.solve = (ctx, msg, cmdArgs) => {
+  // 获取第一个参数,例如 .seal A B C
+  // 这里 cmdArgs.getArgN(1) 的结果即是 A,传参为 2 的话结果是 B
+  let val = cmdArgs.getArgN(1);
+  switch (val) {
+    case 'help': {
+      // 命令为 .seal help
+      // 创建一个结果对象,并将 showHelp 标记为 true,这会自动给用户发送帮助
+      const ret = seal.ext.newCmdExecuteResult(true);
+      ret.showHelp = true;
+      return ret;
+    }
+    default: {
+      // 没有传入参数时的代码
+      return seal.ext.newCmdExecuteResult(true);
+    }
+  }
+};

注意:返回执行结果

在执行完自己的代码之后,需要返回指令结果对象,其参数是是否执行成功。

指令核心执行流程

给消息发送者回应,需要使用 seal.replyToSender() 函数,前两个参数和 solve() 函数接收的参数一致,第三个参数是你要发送的文本。

发送的文本中,可以包含 变量(例如{$t玩家}),也可以包含 CQ 码,用来实现回复发送者、@发送者、发送图片、发送分享卡片等功能。

在这个例子中,我们需要获取作为海豹名字的参数,获取不到就使用默认值,随后向消息发送者发送回应。

在刚刚的位置填入核心代码,就可以完成了。

javascript
cmdSeal.solve = (ctx, msg, cmdArgs) => {
+  // 获取第一个参数,例如 .seal A B C
+  // 这里 cmdArgs.getArgN(1) 的结果即是 A,传参为 2 的话结果是 B
+  let val = cmdArgs.getArgN(1);
+  switch (val) {
+    case 'help': {
+      // 命令为 .seal help
+      // 创建一个结果对象,并将 showHelp 标记为 true,这会自动给用户发送帮助
+      const ret = seal.ext.newCmdExecuteResult(true);
+      ret.showHelp = true;
+      return ret;
+    }
+    default: {
+      // 命令为 .seal XXXX,取第一个参数为名字
+      if (!val) val = '氪豹';
+      // 进行回复,如果是群聊发送那么在群里回复,私聊发送则在私聊回复 (听起来是废话文学,但详细区别见暗骰例子)
+      seal.replyToSender(ctx, msg, `你抓到一只海豹!取名为${val}\n它的逃跑意愿为${Math.ceil(Math.random() * 100)}`);
+      return seal.ext.newCmdExecuteResult(true);
+    }
+  }
+};

注册指令

第三步,将命令注册到扩展中。

javascript
ext.cmdMap['seal'] = cmdSeal;

如果你想要给这个命令起一个别名,也就是增加一个触发词,可以这样写:

javascript
ext.cmdMap['seal'] = cmdSeal; // 注册 .seal 指令
+ext.cmdMap['海豹'] = cmdSeal; // 注册 .海豹 指令,等效于 .seal

完整的代码如下:

javascript
// ==UserScript==
+// @name         示例:编写一条自定义指令
+// @author       木落
+// @version      1.0.0
+// @description  召唤一只海豹,可用.seal <名字> 命名
+// @timestamp    1671368035
+// 2022-12-18
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+// 编写一条自定义指令
+// 先将扩展模块创建出来,如果已创建就直接使用
+let ext = seal.ext.find('test');
+if (!ext) {
+  ext = seal.ext.new('test', '木落', '1.0.0');
+
+  // 创建指令 .seal
+  // 这个命令的功能为,显示「抓到一只海豹」的文案;
+  // 如果命令写 .seal ABC,那么文案中将海豹命名为「ABC」;
+  // 如果命令中没写名字,那么命名为默认值「氪豹」。
+  const cmdSeal = seal.ext.newCmdItemInfo();
+  cmdSeal.name = 'seal'; // 指令名字,可用中文
+  cmdSeal.help = '召唤一只海豹,可用 .seal <名字> 命名';
+
+  // 主函数,指令解析器会将指令信息解析,并储存在几个参数中
+  // ctx 主要是和当前环境以及用户相关的内容,如当前发指令用户,当前群组信息等
+  // msg 为原生态的指令内容,如指令文本,发送平台,发送时间等
+  // cmdArgs 为指令信息,会将用户发的信息进行分段,方便快速取用
+  cmdSeal.solve = (ctx, msg, cmdArgs) => {
+    // 获取第一个参数,例如 .seal A B C
+    // 这里 cmdArgs.getArgN(1) 的结果即是 A,传参为 2 的话结果是 B
+    let val = cmdArgs.getArgN(1);
+    switch (val) {
+      case 'help': {
+        // 命令为 .seal help
+        // 创建一个结果对象,并将 showHelp 标记为 true,这会自动给用户发送帮助
+        const ret = seal.ext.newCmdExecuteResult(true);
+        ret.showHelp = true;
+        return ret;
+      }
+      default: {
+        // 命令为 .seal XXXX,取第一个参数为名字
+        if (!val) val = '氪豹';
+        // 进行回复,如果是群聊发送那么在群里回复,私聊发送则在私聊回复 (听起来是废话文学,但详细区别见暗骰例子)
+        seal.replyToSender(ctx, msg, `你抓到一只海豹!取名为${val}\n它的逃跑意愿为${Math.ceil(Math.random() * 100)}`);
+        return seal.ext.newCmdExecuteResult(true);
+      }
+    }
+  };
+
+  // 将命令注册到扩展中
+  ext.cmdMap['seal'] = cmdSeal;
+
+  // 无实际意义,用于消除编译报错
+  export {}
+
+  seal.ext.register(ext);
+}

这就是最基本的模板了。

抽取牌堆

抽取牌堆的函数是 seal.deck.draw(ctx, deckName, shufflePool)

  • ctxMsgContext 类型,指令上下文,solve() 函数传进来的第一个参数
  • deckName:牌堆名称,字符串类型,例如 GRE单词
  • shufflePool:是否放回抽取,布尔类型,true 为放回抽取,false 为不放回抽取

返回值是一个 map,包含以下字段:

  • exists:布尔类型,是否抽取成功
  • result:字符串类型,抽取结果
  • err:字符串类型,抽取失败的原因

示例代码:抽取牌堆

javascript
// ==UserScript==
+// @name         抽取牌堆示例
+// @author       SzzRain
+// @version      1.0.0
+// @description  用于演示如何抽取牌堆
+// @timestamp    1699077659
+// @license      MIT
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+// 本脚本用于演示如何抽取牌堆, 共有两种实现方式
+if (!seal.ext.find('draw-decks-example')) {
+  const ext = seal.ext.new('draw-decks-example', 'SzzRain', '1.0.0');
+  // 创建一个命令
+  const cmdDrawDecks = seal.ext.newCmdItemInfo();
+  cmdDrawDecks.name = 'dr';
+  cmdDrawDecks.help = '使用 .dr <牌堆名> 来抽取牌堆';
+  cmdDrawDecks.solve = (ctx, msg, cmdArgs) => {
+    // 抽取牌堆
+    // 参数1:ctx 参数2:牌堆名称 参数3:是否放回抽取
+    // 返回值:{exists: true, result: '抽取结果', err: '错误原因'}
+    const decks = seal.deck.draw(ctx, cmdArgs.getArgN(1), true);
+    // 判断是否抽取成功
+    if (decks['exists']) {
+      seal.replyToSender(ctx, msg, decks['result']);
+      return seal.ext.newCmdExecuteResult(true);
+    } else {
+      seal.replyToSender(ctx, msg, '抽取牌堆失败,原因:' + decks['err']);
+      return seal.ext.newCmdExecuteResult(true);
+    }
+  };
+  // 注册命令
+  ext.cmdMap['dr'] = cmdDrawDecks;
+
+  // 创建一个命令
+  const cmdDrawDecks2 = seal.ext.newCmdItemInfo();
+  cmdDrawDecks2.name = 'dr2';
+  cmdDrawDecks2.help = '使用 .dr2 <牌堆名> 来抽取牌堆';
+  cmdDrawDecks2.solve = (ctx, msg, cmdArgs) => {
+    // 抽取牌堆的另一种写法,使用 format 函数,由于经过了 rollvm 的处理,所以代码的执行效率会更慢
+    // 不过这种写法的返回值固定为字符串,省去了判断是否抽取成功的步骤
+    // 参数1:ctx 参数2:海豹语表达式,其中 #{DRAW-牌堆名称} 会被替换为抽取结果
+    const decks = seal.format(ctx, `#{DRAW-${cmdArgs.getArgN(1)}}`);
+    seal.replyToSender(ctx, msg, decks);
+  }
+  // 注册命令
+  ext.cmdMap['dr2'] = cmdDrawDecks2;
+
+  // 注册扩展
+  seal.ext.register(ext);
+}

权限识别

海豹中的权限等级,由高到低分别是:骰主群主管理员邀请者普通用户黑名单用户。 每一个身份都有一个对应的数字,可以通过 ctx.privilegeLevel 获取当前用户的权限等级。 每个身份所对应的数字如下表所示:

信息

注意: 部分权限等级仅在群聊中有效。

v1.4.5 起,在私聊中,除了骰主白名单用户黑名单用户,其他用户被视为拥有与群管理员等同的权限,即权限值 50。

v1.4.4 或更早版本,私聊中除了骰主白名单用户黑名单用户,其他用户的权限等级为普通用户(0)。

身份权限值
骰主100
白名单70
群主60
管理员50
邀请者40
普通用户0
黑名单用户-30

提示:关于白名单用户

白名单用户即通过骰主手动添加的信任名单用户,可以使用所有需要群管理权限的功能,但不具备 Master 权限。

信任名单可以通过 .ban trust <统一ID> 添加,通过 .ban list trust 查看。

提示:关于黑名单用户

通常情况下你不需要考虑黑名单用户的情况,因为黑名单用户的消息会被过滤掉,不会触发任何指令。

示例代码:权限识别

javascript
// ==UserScript==
+// @name         权限识别样例
+// @author       SzzRain
+// @version      1.0.0
+// @description  使用命令 .myperm 查看自己的权限
+// @timestamp    1699086084
+// @license      MIT
+// @homepageURL  https://github.com/Szzrain
+// ==/UserScript==
+if (!seal.ext.find('myperm')) {
+  const ext = seal.ext.new('myperm', 'SzzRain', '1.0.0');
+  // 创建一个命令
+  const cmdMyperm = seal.ext.newCmdItemInfo();
+  cmdMyperm.name = 'myperm';
+  cmdMyperm.help = '使用 .myperm 展示我的权限';
+  cmdMyperm.solve = (ctx, msg, cmdArgs) => {
+    let text = "普通用户";
+    console.log(ctx.privilegeLevel);
+    switch (ctx.privilegeLevel) {
+      case 100:
+        text = "master";
+        break;
+      case 60:
+        text = "owner";
+        break;
+      case 50:
+        text = "admin";
+        break;
+      case 40:
+        text = "inviter";
+        break;
+      case -30:
+        // 黑名单用户,但是由于黑名单会被过滤掉,所以实际上这里并不会执行,这里只是为了演示
+        return seal.ext.newCmdExecuteResult(false);
+    }
+    seal.replyToSender(ctx, msg, text);
+    return seal.ext.newCmdExecuteResult(true);
+  }
+  // 注册命令
+  ext.cmdMap['myperm'] = cmdMyperm;
+
+  // 注册扩展
+  seal.ext.register(ext);
+}

黑名单 / 信任名单操作 v1.4.4

黑名单操作的函数

添加:seal.ban.addBan(ctx, uid, place, reason)

移除:seal.ban.remove(ctx, uid)

  • ctxMsgContext 类型,指令上下文,solve() 函数传进来的第一个参数
  • uid:用户 ID,字符串类型,例如 QQ:123456789, TG:123456789
  • place:拉黑的地方,字符串类型,随便写,一般来说在群内拉黑就写群 ID
  • reason:拉黑原因,字符串类型,随便写

信任用户名单

添加:seal.ban.addTrust(ctx, uid, place, reason) 参数说明同上

移除:seal.ban.remove(ctx, uid)

提示:相同的移除函数

黑名单和信任名单存储在同一个数据库中,因此移除时使用的是同一个函数。

你在进行移除操作时需要自己判断是否符合你的预期。

获取黑名单 / 信任名单列表

使用 seal.ban.getList()

返回值为一个数组,数组中的每一项都是一个 BanListInfoItem 对象,包含以下字段:

  • id:用户 ID,字符串类型
  • name:用户昵称,字符串类型
  • score:怒气值,整数类型
  • rank:拉黑/信任等级 0 没事 -10警告 -30禁止 30信任
  • times:事发时间,数组类型,内部元素为整数时间戳
  • reasons:拉黑/信任原因,数组类型,内部元素为字符串
  • places:拉黑/信任的发生地点,数组类型,内部元素为字符串
  • banTime:拉黑/信任的时间,整数时间戳

获取用户在黑名单 / 信任名单中的信息

使用 seal.ban.getUser(uid)

如果用户没有在黑名单 / 信任名单中,返回值为空值。

如果有则返回一个 BanListInfoItem 对象,字段同上。

示例代码:黑名单 / 信任名单操作

javascript
// ==UserScript==
+// @name         js-ban
+// @author       SzzRain
+// @version      1.0.0
+// @description  演示 js 扩展操作黑名单
+// @timestamp    1706684850
+// @license      MIT
+// @homepageURL  https://github.com/Szzrain
+// ==/UserScript==
+
+if (!seal.ext.find('js-ban')) {
+const ext = seal.ext.new('js-ban', 'SzzRain', '1.0.0');
+    // 创建一个命令
+    const cmdcban = seal.ext.newCmdItemInfo();
+    cmdcban.name = 'cban';
+    cmdcban.help = '使用.cban <用户id> 来拉黑目标用户,仅master可用';
+    cmdcban.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    seal.ban.addBan(ctx, val, "JS扩展拉黑", "JS扩展拉黑测试");
+                    seal.replyToSender(ctx, msg, "已拉黑用户" + val);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['cban'] = cmdcban;
+
+    // 创建一个命令
+    const cmdcunban = seal.ext.newCmdItemInfo();
+    cmdcunban.name = 'cunban';
+    cmdcunban.help = '使用.cunban <用户id> 来解除拉黑/移除信任目标用户,仅master可用';
+    cmdcunban.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    // 信任用户和拉黑用户存在同一个列表中,remove 前请先判断是否符合预期
+                    seal.ban.remove(ctx, val);
+                    seal.replyToSender(ctx, msg, "已解除拉黑/信任用户" + val);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['cunban'] = cmdcunban;
+
+    // 创建一个命令
+    const cmdctrust = seal.ext.newCmdItemInfo();
+    cmdctrust.name = 'ctrust';
+    cmdctrust.help = '使用.ctrust <用户id> 来信任目标用户,仅master可用';
+    cmdctrust.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    seal.ban.addTrust(ctx, val, "JS扩展信任", "JS扩展信任测试");
+                    seal.replyToSender(ctx, msg, "已信任用户" + val);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['ctrust'] = cmdctrust;
+
+    // 创建一个命令
+    const cmdcbanlist = seal.ext.newCmdItemInfo();
+    cmdcbanlist.name = 'cbanlist';
+    cmdcbanlist.help = '使用.cbanlist 来查看黑名单和信任列表,仅master可用';
+    cmdcbanlist.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    let text = "黑名单/信任列表:\n";
+                    seal.ban.getList().forEach((v) => {
+                        text += `${v.name}(${v.id}) 当前等级:${v.rank} 怒气值:${v.score}\n`;
+                    });
+                    seal.replyToSender(ctx, msg, text);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['cbanlist'] = cmdcbanlist;
+
+    // 创建一个命令
+    const cmdcget = seal.ext.newCmdItemInfo();
+    cmdcget.name = 'cget';
+    cmdcget.help = '使用.cget <用户id> 来查看目标用户的黑名单/信任信息,仅master可用';
+    cmdcget.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    let info = seal.ban.getUser(val);
+                    if (!info) {
+                        seal.replyToSender(ctx, msg, "用户不存在或未被拉黑/信任");
+                        return seal.ext.newCmdExecuteResult(true);
+                    }
+                    let level = info.rank;
+                    // 不知道为什么,用 === 是 false
+                    if (info.rank == 30) {
+                        level = "信任"
+                    } else if (info.rank == -30) {
+                        level = "拉黑"
+                    } else if (info.rank == -10) {
+                        level = "警告"
+                    }
+                    let text = `用户${info.name}(${info.id}) 当前等级:${level} 怒气值:${info.score}`;
+                    seal.replyToSender(ctx, msg, text);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['cget'] = cmdcget;
+
+    // 注册扩展
+    seal.ext.register(ext);
+}

存取数据

相关的 API 是两个函数,ExtInfo.storageSet(key, value) 函数和 ExtInfo.storageGet(key),一个存,一个取。

关于 key:

存储时需要指定 key,你可以设定为你的扩展的名字,也可以设定为其他的,注意不要和别的扩展的 key 重名就可以了。

就好比你在商场门口想要把随身物品存进暂存柜中,需要先找到个和别人不重复的柜子,避免放错地方或者取错东西。

关于 value:

存放的数据是字符串类型,且只能存一个,但如果想要存放更多的数据以及非字符串类型的数据怎么办?

答案是使用 JSON.stringify() 函数将存储了数据的 JS 对象转换为 JSON 字符串,存储起来,需要取出的时候,再使用 JSON.parse() 函数将数据再转换为 JS 对象。。

示例代码:投喂插件

javascript
// ==UserScript==
+// @name         示例:存储数据
+// @author       木落
+// @version      1.0.0
+// @description  投喂,格式 .投喂 <物品>
+// @timestamp    1672423909
+// 2022-12-31
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+// 先将扩展模块创建出来,如果已创建就直接使用
+let ext = seal.ext.find('test');
+if (!ext) {
+  ext = seal.ext.new('test', '木落', '1.0.0');
+
+  const cmdFeed = seal.ext.newCmdItemInfo();
+  cmdFeed.name = '投喂';
+  cmdFeed.help = '投喂,格式:.投喂 <物品>\n.投喂 记录 // 查看记录';
+  cmdFeed.solve = (ctx, msg, cmdArgs) => {
+    let val = cmdArgs.getArgN(1);
+    switch (val) {
+      case 'help':
+      case '': {
+        // .投喂 help
+        const ret = seal.ext.newCmdExecuteResult(true);
+        ret.showHelp = true;
+        return ret;
+      }
+      case '列表':
+      case '记录':
+      case 'list': {
+        const data = JSON.parse(ext.storageGet('feedInfo') || '{}');
+        const lst = [];
+        for (let [k, v] of Object.entries(data)) {
+          lst.push(`- ${k}: 数量 ${v}`);
+        }
+        seal.replyToSender(ctx, msg, `投喂记录:\n${lst.join('\n')}`);
+        return seal.ext.newCmdExecuteResult(true);
+      }
+      default: {
+        const data = JSON.parse(ext.storageGet('feedInfo') || '{}');
+        const name = val || '空气';
+        if (data[name] === undefined) {
+          data[name] = 0;
+        }
+        data[name] += 1;
+        ext.storageSet('feedInfo', JSON.stringify(data));
+        seal.replyToSender(ctx, msg, `你给海豹投喂了${name},要爱护动物!`);
+        return seal.ext.newCmdExecuteResult(true);
+      }
+    }
+  };
+
+  // 将命令注册到扩展中
+  ext.cmdMap['投喂'] = cmdFeed;
+  ext.cmdMap['feed'] = cmdFeed;
+
+  seal.ext.register(ext);
+}

示例代码:群内安价收集

这是关于数据的增加、删除、查询等操作的实现示例(修改的话就是删除之后增加)

javascript
// ==UserScript==
+// @name         群内安价收集
+// @author       憧憬少
+// @version      1.0.0
+// @description  在群内收集群友给出的安价选项,并掷骰得出结果
+// @timestamp    1676386517
+// 2023-02-14 22:55:17
+// @license      MIT
+// @homepageURL  https://github.com/ChangingSelf/sealdice-js-ext-anchor
+// ==/UserScript==
+
+(() => {
+  // src/index.ts
+  const HELP = `群内安价收集 (ak 是アンカー罗马字缩写)
+注意 ak 后面有空格,“.ak”也可以换成“.安价”
+
+.ak help // 查看帮助
+.ak # 标题 // 新建一轮分歧并设标题
+.ak + 选项 // 需要添加的选项的内容
+.ak - 序号 // 需要移除的选项的序号
+.ak ? // 列出目前所有选项
+.ak = // 随机抽取 1 个选项并继续
+.ak = n // 随机抽取 n 个选项并继续
+`;
+  const STORAGE_KEY = "anchor";
+  const OPTION_NUM_PER_PAGE = 15; // 列出所有选项时,每页放多少个选项
+  function akNew(ctx, msg, ext, title) {
+    const data = {
+      "title": title,
+      "options": []
+    };
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+    seal.replyToSender(ctx, msg, `已新建分歧:${title}`);
+  }
+  function akAdd(ctx, msg, ext, option) {
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+    data.options.push(option);
+    seal.replyToSender(ctx, msg, `当前分歧:${data.title}
+已添加第${data.options.length}个选项:${option}`);
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+  }
+  function akDel(ctx, msg, ext, index) {
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+    const removed = data.options.splice(index - 1, 1)[0];
+    seal.replyToSender(ctx, msg, `当前分歧:${data.title}
+已移除第${index}个选项:${removed}`);
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+  }
+  function akList(ctx, msg, ext) {
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+    if (data.options.length === 0) {
+      seal.replyToSender(ctx, msg, `当前分歧:${data.title}
+还没有任何选项呢`);
+      return;
+    }
+    let optStr = "";
+    let curPageRows = 0;
+    data.options.forEach((value, index) => {
+      optStr += `${index + 1}.${value}
+`;
+      ++curPageRows;
+      if (curPageRows >= OPTION_NUM_PER_PAGE) {
+        seal.replyToSender(ctx, msg, `当前分歧:${data.title}
+${optStr}`);
+        optStr = "";
+        curPageRows = 0;
+      }
+    });
+    if (curPageRows > 0) {
+      seal.replyToSender(ctx, msg, `当前分歧:${data.title}
+${optStr}`);
+    }
+  }
+  function randomInt(min, max) {
+    return Math.floor(Math.random() * (max - min + 1)) + min;
+  }
+  function akGet(ctx, msg, ext, num = 1) {
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+    if (data.options.length === 0) {
+      seal.replyToSender(ctx, msg, `当前分歧:${data.title}
+还没有任何选项呢`);
+      return;
+    }
+    akList(ctx, msg, ext);
+    let optStr = "";
+    for (let i = 0; i < num; ++i) {
+      const r = randomInt(1, data.options.length);
+      const result = data.options.splice(r - 1, 1);
+      optStr += `${i + 1}.${result}
+`;
+    }
+    seal.replyToSender(ctx, msg, `结果是:
+${optStr}`);
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+  }
+  function main() {
+    let ext = seal.ext.find("anchor");
+    if (!ext) {
+      ext = seal.ext.new("anchor", "憧憬少", "1.0.0");
+      
+      const cmdSeal = seal.ext.newCmdItemInfo();
+      cmdSeal.name = "安价";
+      cmdSeal.help = HELP;
+      cmdSeal.solve = (ctx, msg, cmdArgs) => {
+        try {
+          let val = cmdArgs.getArgN(1);
+          switch (val) {
+            case "#": {
+              const title = cmdArgs.getArgN(2);
+              akNew(ctx, msg, ext, title);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "+": {
+              const option = cmdArgs.getArgN(2);
+              akAdd(ctx, msg, ext, option);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "-": {
+              const index = Number(cmdArgs.getArgN(2));
+              akDel(ctx, msg, ext, index);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "?":
+            case "?": {
+              akList(ctx, msg, ext);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "=": {
+              let num = 1;
+              if (cmdArgs.args.length >= 2) {
+                num = Number(cmdArgs.getArgN(2));
+              }
+              akGet(ctx, msg, ext, num);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "help":
+            default: {
+              const ret = seal.ext.newCmdExecuteResult(true);
+              ret.showHelp = true;
+              return ret;
+            }
+          }
+        } catch (error) {
+          seal.replyToSender(ctx, msg, error.Message);
+          return seal.ext.newCmdExecuteResult(true);
+        }
+      };
+      ext.cmdMap["安价"] = cmdSeal;
+      ext.cmdMap["ak"] = cmdSeal;
+
+      seal.ext.register(ext);
+    }
+  }
+  main();
+})();

数据处理模板

关于取出数据来修改的函数,可以参考如下代码:

javascript
const STORAGE_KEY = "anchor"; // 将你的 key 抽出来单独作为一个常量,方便开发阶段修改(使用了之后就不要修改了)
+//函数:添加选项
+function akAdd(ctx, msg, ext, option) {
+    //取出数据
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+
+    //处理数据
+    data.options.push(option);
+
+    //响应发送者
+    seal.replyToSender(ctx, msg, `当前分歧:${data.title}\n已添加第${data.options.length}个选项:${option}`);
+
+    //将处理完的数据写回去
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+}

读取玩家或群组数据

可以查看下文的 API

编写暗骰指令

如下:

javascript
// ==UserScript==
+// @name         示例:编写暗骰指令
+// @author       流溪
+// @version      1.0.0
+// @description  暗骰,格式.hide 原因
+// @timestamp    1671540835
+// 2022-12-20
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+ext = seal.ext.find('hide');
+if (!ext){
+    ext = seal.ext.new('hide','流溪','0.0.1');
+
+    const cmdHide = seal.ext.newCmdItemInfo;
+    cmdHide.name = 'hide';
+    cmdHide.help = '暗骰,使用 .hide 面数 暗骰';
+    cmdHide.solve = (ctx, msg, cmdArgs) => {
+      if (msg.messageType !== 'group'){
+          seal.replyToSender(ctx, msg, '暗骰只能在群内触发');
+          return seal.ext.newCmdExecuteResult(true);
+      }
+      function rd(x){
+          // 这里写的时候有点不清醒了,感觉是对的,如果不对请拷打我
+          return Math.round(Math.random() * (x - 1) + 1);
+      }
+      let x = cmdArgs.getArgN(1);
+      if (x === 'help'){
+          return seal.ext.newCmdExecuteResult(true).showhelp = true;
+      } else if (isNaN(Number(x))){
+          // 我知道这里有更好的判断是否为数字的方法但是我不会.jpg
+          seal.replyToSender(ctx, msg, `骰子面数应是数字`);
+          return seal.ext.newCmdExecuteResult(true);
+      } else {
+          // 这就是暗骰 api 哒!
+          seal.replyPerson(ctx, msg, `你在群${msg.groupId}的掷骰结果为:${rd(x)}`);
+          return seal.ext.newCmdExecuteResult(true);
+      }
+    }
+  ext.cmdMap['hide'] = cmdHide;
+
+  seal.ext.register(ext);
+}

可以看到使用seal.replyPerson做到暗骰的效果。

编写代骰指令

javascript
// ==UserScript==
+// @name         示例:编写代骰指令
+// @author       木落
+// @version      1.0.0
+// @description  捕捉某人,格式.catch <@名字>
+// @timestamp    1671540835
+// 2022-12-20
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+// 编写代骰指令
+// 先将扩展模块创建出来,如果已创建就直接使用
+let ext = seal.ext.find('test');
+if (!ext) {
+  ext = seal.ext.new('test', '木落', '1.0.0');
+
+  // 创建指令 .catch
+  // 这个命令的功能为,显示“试图捕捉某人”,并给出成功率
+  // 如果命令写“.catch @张三”,那么就会试着捕捉张三
+  const cmdCatch = seal.ext.newCmdItemInfo();
+  cmdCatch.name = 'catch';
+  cmdCatch.help = '捕捉某人,格式.catch <@名字>';
+  // 对这个指令启用使用代骰功能,即@某人时,可获取对方的数据,以对方身份进行骰点
+  cmdCatch.allowDelegate = true;
+  cmdCatch.solve = (ctx, msg, cmdArgs) => {
+    // 获取对方数据,之后用 mctx 替代 ctx,mctx 下读出的数据即被代骰者的个人数据
+    const mctx = seal.getCtxProxyFirst(ctx, cmdArgs);
+    let val = cmdArgs.getArgN(1);
+    switch (val) {
+      case 'help': {
+        // 命令为 .catch help
+        const ret = seal.ext.newCmdExecuteResult(true);
+        ret.showHelp = true;
+        return ret;
+      }
+      default: {
+        const text = `正在试图捕捉${mctx.player.name},成功率为${Math.ceil(Math.random() * 100)}%`;
+        seal.replyToSender(mctx, msg, text);
+        return seal.ext.newCmdExecuteResult(true);
+      }
+    }
+  };
+  // 将命令注册到扩展中
+  ext.cmdMap['catch'] = cmdCatch;
+
+  seal.ext.register(ext);
+}

网络请求

主要使用 Fetch API 进行网络请求,详细文档见链接。fetch 函数返回一个 Promise,传统的写法是这样:

javascript
// 你可以使用 generator 来重写这段代码,欢迎 pr
+// 访问网址
+fetch('https://api-music.imsyy.top/cloudsearch?keywords=稻香').then((resp) => {
+  // 在返回对象的基础上,将文本流作为 json 解析
+  resp.json().then((data) => {
+    // 打印解析出的数据
+    console.log(JSON.stringify(data));
+  });
+});

你也可以使用异步编程(async/await)来简化代码:

javascript
const response = await fetch('https://api-music.imsyy.top/cloudsearch?keywords=稻香');
+if (!response.ok) {
+    // 处理不成功的请求...
+}
+const data = await response.json();
+console.log(JSON.stringify(data));

套用这个模板,你可以写出很多调用 API 的简单扩展。

比如核心代码只有一行的「随机猫猫图片」扩展:

javascript
seal.replyToSender(ctx, msg, `[CQ:image,file=https://thiscatdoesnotexist.com/,cache=0]`);

核心代码同样只有一行的「随机二次元图片」扩展:

javascript
seal.replyToSender(ctx, msg, `[CQ:image,file=https://api.oick.cn/random/api.php?type=${val},cache=0]`);

当然,也有稍微复杂的,比如「AI 骰娘」扩展,但也没有太复杂,只是处理了一下发送者传过来的消息,再发送给网络 API,收到响应之后再回应发送者。

它的核心代码如下:

javascript
const BID = ''; // 填入你的骰娘的大脑的 id
+const KEY = ''; // 填入你的 key
+/**
+ * 给 AI 主脑发送消息并接收回复
+ * @param ctx 主要是和当前环境以及用户相关的内容,如当前发指令用户,当前群组信息等
+ * @param msg 为原生态的指令内容,如指令文本,发送平台,发送时间等
+ * @param message 要发送给骰娘的具体消息
+ */
+function chatWithBot(ctx,msg,message) {
+    fetch(`http://api.brainshop.ai/get?bid=${BID}&key=${KEY}&uid=${msg.sender.userId}&msg=${message}`).then(response => {
+      if (!response.ok) {
+        seal.replyToSender(ctx, msg, `抱歉,我连接不上主脑了。它传递过来的信息是:${response.status}`);
+        return seal.ext.newCmdExecuteResult(false);
+      } else {
+        response.json().then(data => {
+          seal.replyToSender(ctx, msg, data["cnt"]);
+          return seal.ext.newCmdExecuteResult(true);
+        });
+        return seal.ext.newCmdExecuteResult(true);
+      }
+    });
+}

自定义 COC 规则

javascript
// ==UserScript==
+// @name         示例:自定义 COC 规则
+// @author       木落
+// @version      1.0.0
+// @description  自设规则,出 1 大成功,出 100 大失败。困难极难等保持原样
+// @timestamp    1671886435
+// 2022-12-24
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+const rule = seal.coc.newRule();
+rule.index = 20; // 自定义序号必须大于等于 20,代表可用.setcoc 20 切换
+rule.key = '测试'; // 代表可用 .setcoc 测试 切换
+rule.name = '自设规则'; // 已切换至规则文本 name: desc
+rule.desc = '出 1 大成功\n出 100 大失败';
+// d100 为出目,checkValue 为技能点数
+rule.check = (ctx, d100, checkValue) => {
+  let successRank = 0;
+  const criticalSuccessValue = 1;
+  const fumbleValue = 100;
+  if (d100 <= checkValue) {
+    successRank = 1;
+  } else {
+    successRank = -1;
+  }
+  // 成功判定
+  if (successRank == 1) {
+    // 区分大成功、困难成功、极难成功等
+    if (d100 <= checkValue / 2) {
+      //suffix = "成功(困难)"
+      successRank = 2;
+    }
+    if (d100 <= checkValue / 5) {
+      //suffix = "成功(极难)"
+      successRank = 3;
+    }
+    if (d100 <= criticalSuccessValue) {
+      //suffix = "大成功!"
+      successRank = 4;
+    }
+  } else {
+    if (d100 >= fumbleValue) {
+      //suffix = "大失败!"
+      successRank = -2;
+    }
+  }
+  let ret = seal.coc.newRuleCheckResult();
+  ret.successRank = successRank;
+  ret.criticalSuccessValue = criticalSuccessValue;
+  return ret;
+};
+// 注册规则
+seal.coc.registerRule(rule);

补充:使用非指令关键词

你是否因为自定义回复能实现的功能有限而烦恼?你是否因为自定义回复的匹配方式不全而愤怒?你是否因为自定义回复只能调用图片 api 而感到焦头烂额?

不要紧张,我的朋友,试试非指令关键词,这会非常有用。

通常情况下,我们使用 ext.onNotCommandReceived 作为非指令关键词的标志;这限定了只有在未收到命令且未达成自定义回复时,海豹才会触发此流程。

一个完整的非指令关键词模板如下:

javascript
// 必要流程,注册扩展,注意即使是非指令关键词也是依附于扩展的
+if (!seal.ext.find('xxx')){
+    ext = seal.ext.new('xxx','xxx','x.x.x');
+    seal.ext.register(ext);
+    // 这里其实是编写处理函数
+    ext.onNotCommandReceived = (ctx, msg) => {
+        let message = msg.message;
+        // 这里请自己处理要如何达成 message 的匹配条件,js 那么多的匹配方法,足够你玩出花来。
+        if(xxx){
+          // 匹配到关键词了,要干什么?
+          xxx;
+        }
+    }
+}

注册插件配置项 v1.4.1

插件若要在 UI 中注册可供用户修改的配置项,需要在插件注册后调用 seal.ext.registerXXXConfig() 函数注册配置项。

XXX 为配置项的类型,目前支持 stringintfloatbooltemplateoption 六种类型。注意按照小驼峰命名法大写

同样的,插件也可以使用 seal.ext.getXXXConfig() 函数获取配置项的值。

你也可以直接使用 seal.ext.getConfig() 函数获取配置项的值,这个函数会返回一个 ConfigItem 对象, 包含了配置项的类型、值、默认值等信息。

ConfigItem 对象的类型定义如下,调用时请使用 jsbind 中的值作为 key

go
type ConfigItem struct {
+    Key          string      `json:"key" jsbind:"key"`
+    Type         string      `json:"type" jsbind:"type"`
+    DefaultValue interface{} `json:"defaultValue" jsbind:"defaultValue"`
+    Value        interface{} `json:"value,omitempty" jsbind:"value"`
+    Option       interface{} `json:"option,omitempty" jsbind:"option"`
+    Deprecated   bool        `json:"deprecated,omitempty" jsbind:"deprecated"`
+}

提示:更原始的 API

seal.ext.registerConfig() 函数也是可以使用的,你需要自己通过 seal.ext.newConfigItem() 来获取一个新的 ConfigItem 对象。

在对你的 ConfigItem 对象进行修改后,再调用 seal.ext.registerConfig() 函数进行注册。

示例代码:注册配置项

js
// ==UserScript==
+// @name         js-config-example
+// @author       Szzrain
+// @version      1.0.0
+// @description  演示 js 配置项的用法
+// @timestamp    1698636875
+// @license      MIT
+// ==/UserScript==
+
+if (!seal.ext.find('js-config-example')) {
+    const ext = seal.ext.new('js-config-example', 'SzzRain', '1.0.0');
+    // 创建一个命令
+    const cmdgetConfig = seal.ext.newCmdItemInfo();
+    cmdgetConfig.name = 'getconfig';
+    cmdgetConfig.help = '使用.getconfig <key> 来获取配置项,仅 master 可用';
+    cmdgetConfig.allowDelegate = true;
+    cmdgetConfig.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel !== 100) {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                    return seal.ext.newCmdExecuteResult(true);
+                }
+                switch (val) {
+                    case "1":
+                        strVal = seal.ext.getStringConfig(ext, "testkey1");
+                        seal.replyToSender(ctx, msg, strVal);
+                        break;
+                    case "2":
+                        intVal = seal.ext.getIntConfig(ext, "testkey2");
+                        seal.replyToSender(ctx, msg, intVal);
+                        break;
+                    case "3":
+                        floatVal = seal.ext.getFloatConfig(ext, "testkey3");
+                        seal.replyToSender(ctx, msg, floatVal);
+                        break;
+                    case "4":
+                        boolVal = seal.ext.getBoolConfig(ext, "testkey4");
+                        seal.replyToSender(ctx, msg, boolVal);
+                        break;
+                    case "5":
+                        tmplVal = seal.ext.getTemplateConfig(ext, "testkey5");
+                        seal.replyToSender(ctx, msg, tmplVal);
+                        break;
+                    case "6":
+                        optVal = seal.ext.getOptionConfig(ext, "testkey6");
+                        seal.replyToSender(ctx, msg, optVal);
+                        break;
+                    default:
+                        let config = seal.ext.getConfig(ext, val);
+                        if (config) {
+                            seal.replyToSender(ctx, msg, config.value);
+                        } else {
+                            seal.replyToSender(ctx, msg, "配置项不存在");
+                        }
+                        break;
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['getconfig'] = cmdgetConfig;
+
+    // 注册扩展
+    seal.ext.register(ext);
+
+    // 注册配置项需在 ext 注册后进行
+    // 通常来说,register 函数的参数为 ext, key, defaultValue
+    seal.ext.registerStringConfig(ext, "testkey1", "testvalue");
+    seal.ext.registerIntConfig(ext, "testkey2", 123);
+    seal.ext.registerFloatConfig(ext, "testkey3", 123.456);
+    seal.ext.registerBoolConfig(ext, "testkey4", true);
+    seal.ext.registerTemplateConfig(ext, "testkey5", ["1", "2", "3", "4"]);
+    // 注册单选项函数的参数为 ext, key, defaultValue, options
+    seal.ext.registerOptionConfig(ext, "testkey6", "1", ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]);
+}

注册后的配置项会在 UI 中显示,可以在 UI 中修改配置项的值

JS 配置项

+ + + + \ No newline at end of file diff --git a/advanced/js_gamesystem.html b/advanced/js_gamesystem.html new file mode 100644 index 000000000..1ac8c2fe3 --- /dev/null +++ b/advanced/js_gamesystem.html @@ -0,0 +1,49 @@ + + + + + + 编写新的 TRPG 规则 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

编写新的 TRPG 规则

本节内容

本节将介绍如何为你的海豹核心编写和添加一个新的 TRPG 规则。包括编写规则模板和编写指令。

本文中将涉及使用 JavaScript 与 TypeScript 编写插件的内容。如果你尚未阅读 常见用法示例,请先阅读它。

在本节中,假设我们创建了一个叫做《摸鱼大赛》的 TRPG 规则,简称为 fish 规则。

补充:规则详细内容

角色属性

每个角色有 2 个关键属性,即脸皮厚度摸鱼技能等级。取值分别为 1 - 3,通过投掷 D3 来生成。

此外有生命值,生命值上限 = 脸皮厚度 * 2。

游戏规则

简单说:这是一个类 21 点游戏。

玩家的目标是尽可能使得自己的积分接近 21,但不能大于等于 22(因为摸到 22 就不存在了!)。

开始游戏时,每个玩家创建一个角色,可以互换交换一次属性点位置。

每一轮游戏中,每个玩家都要决定“摸鱼”和“不摸鱼”。如果选择摸鱼,获得 d6 + d(摸鱼等级) 的积分;如果选择不摸鱼,则跳过本回合。

如果选择摸鱼后累计积分超过 22,玩家自动消耗 1 点生命值、随机弃牌 1 张。如果累计积分仍大于 22,那么重复以上过程直到积分小于 22 或生命值归零。

如果生命值归零,此玩家就无法再摸鱼了。

当连续两轮所有玩家都选择不摸鱼时,游戏结束。积分最大的人取胜,如果积分相同,生命值更大的人取胜。

规则模板是什么?有什么功能?

规则模板是海豹核心中几种功能的整合发展,包括角色卡、属性同义词、自动修改群名片等。

具体地说,规则模板能为 fish 规则提供以下功能:

  1. set 指令 中注册这个游戏系统,可以直接使用 set fish 打开扩展并设定默认骰子为 D6;

  2. st 指令中添加 fish 规则的角色卡,这包括:(对于以下内容,可以参考海豹核心内置的 CoC 7th 系统与 D&D 5e 系统角色卡的功能)

    1. fish 规则自己的技能默认值
    2. fish 规则的二级属性计算公式
    3. fish 规则的属性同义词
    4. fish 规则的角色卡属性展示顺序
  3. sn 指令 中添加 fish 规则的自动群名片格式,可以使用 sn fish 来开启。

那么,要怎么做?

你需要根据规则编写规则模板,并把规则中的动作编写成指令。

对于 fish 规则来说,指令应该实现以下动作:

  1. 制卡:投掷 2 个 D3,生成角色的属性点;
  2. 摸鱼:投掷 D6 + D(摸鱼等级),计算总积分,按规则扣除生命值;
  3. 不摸鱼:跳过此轮;

另外,对于一个合适的指令,它也应提供帮助文本。

以上的规则模板和指令都可以在同一个 TypeScript 或 JavaScript 插件文件中完成。我们已经写了一个比较完善且有详细注释的示例,以供参考:

摸鱼大赛 TRPG 规则.ts

如果你希望直接尝试以上插件的效果,可以从以下链接获取经过编译的 JavaScript 文件:

摸鱼大赛 TRPG 规则.js

+ + + + \ No newline at end of file diff --git a/advanced/js_project.html b/advanced/js_project.html new file mode 100644 index 000000000..8c6f64477 --- /dev/null +++ b/advanced/js_project.html @@ -0,0 +1,56 @@ + + + + + + 插件的工程化编写 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

插件的工程化编写

本节内容

本节将介绍如何使用 Node.js 项目编译出海豹可使用的插件,面向有前端经验的开发者。

我们假定你了解如何使用前端工具链,你应当具备诸如命令行、Node.js、npm/pnpm 等工具的使用知识。如果你对这些内容感到陌生,请自行了解或转至 使用单 JS 文件编写,手册不会介绍这些相关背景知识。

如果你打算使用 TypeScript,或者需要编写大型插件,希望更加工程化以方便维护,可以创建项目使用前端工具链来编译出插件。

海豹提供了相应的 模板项目。注册扩展和指令的代码已经写好,可以直接编译出一个可直接装载的 JS 扩展文件。

Clone 或下载模板项目

推荐的流程:

  1. 模板项目仓库 点击 Use this template 按钮,使用该模板在自己的 GitHub 上创建一个扩展的仓库,并设置为自己的扩展的名字;
  2. git clone 到本地,进行开发。

如果不打算使用 GitHub 托管仓库,希望先在本地编写:

  1. 模板项目仓库 点击 Code 按钮,在出现的浮窗中选择 Download ZIP,这样就会下载一个压缩包;
  2. 解压后进行开发。

补全信息

当插件开发完成后(或者开始开发时),你还需要修改几处地方:

  • header.txt:这个文件是你插件的描述信息;
  • tools/build-config.js:最开头一行 var filename = 'sealdce-js-ext.js'; 改成你中意的名字,注意不要与现有的重名。这决定了编译时输出的插件文件名。
  • (可选)package.json:修改其中 name version description 等项目描述信息,不过不修改也不会影响编译。

使用和编译

在确认你所使用的包管理器后,在命令行使用如下命令安装依赖:

bash
npm install

当你写好了代码,需要工程编译为插件的单 js 文件以便上传到海豹骰时,在命令行使用如下命令:

bash
npm run build

编译成功的 js 文件在 dist 目录下,默认的名字是 sealdce-js-ext.js

目录结构

只列出其中主要的一些文件

  • src
    • index.ts:你的扩展的代码就写在这个文件里。
  • tools
    • build-config.js:一些编译的配置,影响 index.ts 编译成 js 文件的方式;
    • build.js:在命令 npm run build 执行时所运行的脚本,用于读取 build-config 并按照配置进行编译。
  • types
    • seal.d.ts:类型文件,海豹核心提供的扩展 API。
  • header.txt:扩展头信息,会在编译时自动加到目标文件头部;
  • package.json:命令 npm install 时就在安装这个文件里面所指示的依赖包;
  • tsconfig.json:TypeScript 的配置文件。

其他问题

我能在项目中引用 npm 包吗?

当然可以,像正常的前端项目一样,你可以在其中引用其他 npm 包,比如模板项目中就为你引入了常用的 lodash-es

一般来说纯 JS 编写的包都是可以引用的,一些强 native 相关的包可能存在兼容性问题,你需要自行尝试。

推荐你尽量使用 esm 格式的包,不过 commonjs 格式的包也是可以使用的,如 dayjs。其他格式的支持和更多问题排查,请查阅模板项目所使用的构建工具 esbuild 的文档,tools/build-config.js 中即是 esbuild 的配置项。

我想使用的 API 没有被自动提示,直接使用被提示错误,如何解决?

types/seal.d.ts 文件中维护了海豹提供的 API,但目前来说维护的并不完全。如果你发现有一些存在的 API 未被提示,可以手动在 types/seal.d.ts 补上来解决报错。

有时 seal.d.ts 会有更新,可以去模板项目仓库看看有没有最新的,有的话可以替换到你的项目中。也非常欢迎你向模板仓库提 PR 来帮忙完善。

默认输出的插件代码是压缩过的,如何尽量保持产物的可读性?

调整 tools/build-config.js 中的选项,关闭 minify:

js
module.exports = {
+  ...
+  build: {
+    ...
+    minify: false,
+    ...
+  }
+}
+ + + + \ No newline at end of file diff --git a/advanced/js_start.html b/advanced/js_start.html new file mode 100644 index 000000000..a604c27a4 --- /dev/null +++ b/advanced/js_start.html @@ -0,0 +1,81 @@ + + + + + + 前言 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

前言

本节内容

本节将介绍 JavaScript 脚本的编写的前置知识,更多内容请看 API 列表常见用法示例,请善用侧边栏和搜索,按需阅读文档。

我们假定你熟悉 JavaScript / TypeScript,编程语言的教学超出了本文档的目的,如果你还不熟悉它们,可以从互联网上寻找到很多优秀的教程。如:

注意:你只需要学习 JavaScript 语言本身,不包括 WebAPI。

快速开始

JavaScriptJS)虽然作为 Web 页面中的脚本语言被人所熟知,但是它也被用到了很多 非浏览器环境 中,例如 Node.jsApache CouchDBAdobe Acrobat 等。

—— 来自 MDN 文档

海豹的 JS 插件就是运行在一个非浏览器环境中—— goja 作为 JS 脚本引擎所提供的环境,该环境目前支持了 ES6 基本上全部的特性,包括 async/awaitpromisegenerator 等异步编程友好的特性。

除了 JS 语言规范所提供的 内置对象,海豹额外在环境中提供了如下全局对象:

  • seal 用于自定义扩展、增加指令、管理黑白名单……几乎所有与海豹本体有关的 API 都挂载在这个内置对象上。
  • console 专门与海豹的日志模块进行交互。
  • setTimeout/setInterval 等与事件循环相关的函数。
  • fetch 用于网络请求。
  • atob/btoa 用于 base64 编解码。

警告

需要注意引擎的整型为 32 位,请小心溢出问题。

现在,让我们从最简单的扩展开始,这个扩展只会在日志中打印一条 Hello World!

新建一个 JS 文件,写入如下内容,然后通过海豹的 WebUI 上传并重载 JS 环境(或是直接复制到海豹 WebUI 的调试控制台中运行)。

javascript
// ==UserScript==
+// @name         示例:如何开始
+// @author       木落
+// @version      1.0.0
+// @description  这是一个演示脚本,并没有任何实际作用。
+// @timestamp    1671368035
+// 2022-12-18
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+console.log('Hello World!');

你应当能在控制台中观察到一条 Hello World 的日志。

提示:打印日志

console 打印出来的东西不仅会在控制台中出现,在日志中也会显示。

涉及网络请求或延迟执行的内容,有时候不会在控制台调试面板上显示出来,而在日志中能看到。

插件元数据

每个 JS 扩展需要在开头以固定格式注释的形式留下信息,以便使用和分享,这些信息通常被称为「插件元数据」:

javascript
// ==UserScript==
+// @name         脚本的名字
+// @author       木落
+// @version      1.0.0
+// @description  这是一个演示脚本,并没有任何实际作用。
+// @timestamp    1672066028
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// @depends      SzzRain:demo:1.0.0
+// @sealVersion  1.4.5
+// ==/UserScript==
属性含义
@name必填,JS 扩展的名称,会展示在插件列表页面
@author必填,作者名
@version必填,版本号,可以自己定义,但建议遵循 语义版本控制(Semantic Versioning)
@description可选,对扩展的功能的描述
@timestamp可选,最后更新时间,以秒为单位的 unix 时间戳,新版本支持了直接使用时间字符串,如 2023-10-30
@license可选,开源协议,示例中的 Apache-2 是一个比较自由的协议,允许任意使用和分发(包括商用),当然你也可以使用其它协议(MIT GPL 等)
@homepageURL可选,你的扩展的主页链接,有 GitHub 仓库可以填仓库链接,没有则可以填海豹官方插件仓库
@depends v1.4.4可选,从 v1.4.4 加入,指定你的扩展依赖的其他扩展,可以不含此行或含有多行。详见 依赖其他扩展
@sealVersion v1.4.5可选,从 v1.4.5 加入,指定你的扩展的目标海豹版本。详见 目标海豹版本

插件编写

单 JS 文件编写插件

我们更推荐使用 TypeScript 来编写插件,编译到 ES6 后使用即可。不过先从 JavaScript 开始也是没有任何问题的。

编写插件时,可以下载海豹提供的 seal.d.ts 文件,将其保存在和你要编写的 JS 文件同级的目录下。

seal.d.ts 支持了在使用 vscode 等工具编写时,对海豹提供的 API 的代码补全。

海豹 API 代码补全

提示

seal.d.ts 文件随时可能会有更新,如果你需要的 API 没有提示,可以检查一下是否是最新版本。

插件的工程化编写

如果你打算使用 TypeScript,或者需要编写大型插件,希望更加工程化以方便维护,见 插件的工程化编写

插件的工程化编写

插件的工程化编写是 为有一定经验的开发者准备的。相关文档默认你了解如何使用前端工具链,你应当具备诸如命令行、Node.js、npm/pnpm 等工具的使用知识。

如果你对上面的内容感到陌生,请自行了解或放弃使用,手册不会介绍相关内容。

使用单 JS 文件编写插件与使用模板工程编写本质上是没有区别的,并不会出现某些功能无法使用的差异。

扩展依赖

依赖其他扩展 v1.4.4

有些时候,你的扩展依赖于另一个扩展提供的功能,希望在缺失对应扩展时不进行这个插件的加载。

例如,「SzzRain:每日新闻」依赖于「SzzRain:定时任务」,我们希望在骰主仅安装了「SzzRain:每日新闻」时,提示需要安装其依赖的「SzzRain:定时任务」扩展。

v1.4.4 开始,你可以在 插件元数据 中通过 @depends 来指定扩展依赖的其他扩展。

指定依赖的格式

指定依赖的格式为 作者:插件名[:SemVer版本约束,可选],其中 : 是分隔符,注意必须是半角符号。

例如,使用 @depends SzzRain:定时任务,这意味着该插件需要同时安装一个名为 定时任务,作者名为 SzzRain 的插件才可正常工作。

javascript
// ==UserScript==
+// @name         每日新闻
+// @author       SzzRain
+// @version      2.0.0
+// ...
+// @depends      SzzRain:定时任务:>=2.0.0

在上面的示例中,可以看见「SzzRain:每日新闻」通过 @depends 指明了其依赖 SzzRain:定时任务:>=2.0.0

版本限制是可选的,比如上面示例中的 >=2.0.0,这表示 SzzRain:每日新闻 依赖于 SzzRain:定时任务,且后者的版本必须大于等于 2.0.0。这在你需要依赖高版本插件的情况下很有用。

插件名、作者、版本号

指定依赖插件涉及到对应的插件名、作者名和版本号,其为插件元数据中的 @name@author@version

有更复杂的指定依赖版本需求?

除了上面提到的 >=2.0.0 之外,你还可以参阅海豹所使用的 go-semver 库的文档,来进行更复杂的限制。

比如 1.1.4-5.1.4 意味着指定的依赖版本需要在 1.1.45.1.4 之间。

但是,目标依赖的版本号需要符合 SemVer 才能更好的支持你进行版本限制。

依赖多个扩展

依赖可以是多个,每一行指定一个 @depends,这意味着这个插件需要同时满足所有的依赖才能工作。

例如我们给上面的「SzzRain:每日新闻」增加一个新的依赖:

javascript
// ==UserScript==
+// @name         每日新闻
+// @author       SzzRain
+// @version      2.0.0
+// ...
+// @depends      SzzRain:定时任务:>=2.0.0
+// @depends      sealdice:强制依赖

此时,这个插件需要同时安装 SzzRain:定时任务(且版本大于等于 2.0.0)和 sealdice:强制依赖 这两个插件时,才能正常加载。

目标海豹版本 v1.4.5

新版本的海豹有时会增加更多插件可以调用的 API,但会出现使用旧版本海豹的骰主,去尝试加载使用了新 API 的插件而出错的情况。

为了让插件作者无需反复说明,也更好地提示使用插件的骰主,从 v1.4.5 开始,你可以在 插件元数据 中通过 @sealVersion 来指定插件的目标海豹版本。

例如,当插件使用了在 1.4.6 新增的 API,可以指定目标海豹版本 @sealVersion 1.4.6。而当加载该插件的海豹版本为 1.4.5 时,会向骰主提示海豹版本不兼容而拒绝加载。

兼容的海豹版本

插件作者只需要指定目标海豹版本即可,如 1.4.5 新增的 API 则指定 @sealVersion 1.4.5

海豹会尝试在兼容的情况下尽可能地加载插件,这是由海豹核心自动处理的。

一些有帮助的资源

VS Code 可以安装 SealDice Snippets 插件,提供了一些常见代码片段,帮助快速生成模板代码。

其他问题

我不会 JavaScript,海豹支持其他编程语言编写插件吗?

这个问题分为两个部分,如果你所说的其他编程语言为 Python、Lua 等与 JavaScript 无关的编程语言,那么目前是无法使用这些语言编写海豹插件的。如果你有一些其它骰系的插件(比如一些 Lua 插件),你只能通过按原逻辑重写为海豹 JavaScript 插件的方式来在海豹中使用。

但是有些编程语言是可以编译为 JavaScript 的,典型的像 TypeScript、CoffeeScript。这些语言在编写时使用它们自己,最后只要编译成 JavaScript 就可以在海豹中使用了。

+ + + + \ No newline at end of file diff --git a/advanced/script.html b/advanced/script.html new file mode 100644 index 000000000..dcb4a95f9 --- /dev/null +++ b/advanced/script.html @@ -0,0 +1,92 @@ + + + + + + 内置脚本语言 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

内置脚本语言

本节内容

本节将介绍海豹内置的脚本语言,请善用侧边栏和搜索,按需阅读文档。

为了在很多地方支持实现一些逻辑,但又不至于直接使用学习门槛较高的正式编程语言,海豹提供了一种简单易学的脚本语言,可以称为「海豹语」「豹语」等。

变量

你可能注意到,在自定义文案等地方,出现了一些以 $t 开头的东西,这些是海豹中的变量

变量的名称可以是汉字、字母和数字,$t 是一个特殊的变量前缀,还有其它的前缀。不同前缀代表不同的作用域:

变量名字用途举例
普通名字玩家的角色属性理智、力量、智力
$t开头个人临时变量,不存数据库$t随机点数
$m开头个人变量,跨群存在$m今日人品
$g开头群变量,群内所有人共享$g群主体重

所有变量均可以在 .rx / .rxh / .ra/ .text 等指令以及「自定义文案」中使用。

注意:$t 是临时变量

$t 开头的临时变量的存活周期仅为单次指令执行,执行完毕后不应当认为该变量值还保留

在下一次指令中使用上一次指令设置的 $t 变量属于未定义行为,可能会出现包括但不限于变量值不变,变量值丢失,变量值被覆盖,变量值变为随机数,变量值变成 114514 等任何情况。如果你需要这样的持久变量,请使用 $m$g 代替。

内置的 $t 变量的值固定并不代表它们是持久变量,其值是在每次指令执行的初始阶段设置的。

提示:变量不生效?

如果一部分变量无效,请检查海豹是否为最新版本。

一些内置变量

变量名内容示例结果
$t玩家当前人物卡的名字,如果不存在则为群昵称或 QQ 昵称。<木落>
$t玩家_RAW同上,但没有<>木落
$tQQ昵称QQ 昵称<木落>
$t账号ID海豹格式的 IDQQ:123456789
$t账号ID_RAW原始格式的 ID123456789
$tQQ海豹格式的 IDQQ:123456789
$t群名群名海豹核心·SealDice 用户群
$t群号海豹格式的 IDQQ-Group:987654321
$t群号_RAW原始格式的 ID987654321
$t个人骰子面数个人骰子面数100
$tDate数字格式的现日期20230109
$tYear数字格式的年份2023
$tMonth数字格式的现月份1
$tDay数字格式的现日期9
$tWeekday数字格式的星期(1-7)1
$tHour数字格式的现时间(小时)15
$tMinute数字格式的现时间(分钟)41
$tSecond数字格式的现时间(秒)55
$tTimestamp数字格式的 10 位时间戳1673250115
$t文本长度触发消息的文本,汉字长度为 3,英文字母和数字长度为 1。6
$t平台触发的平台QQ
$t游戏模式.set coc/dnd 改变coc7
$t消息类型触发位置为群还是私聊(group/private)group
娱乐:今日人品自定义文案<木落> 的今日人品为 0
常量:APPNAME软件名SealDice
常量:VERSION版本号1.4.0
$tMsgID消息 ID,仅自定义回复中可用。-123

所有自定义文案也均为可用变量。

数据类型和赋值

text
// 注意,目前并不支持写注释,此为教程中便于展示
+// 文本类型
+$t0 = '文本'
+$t0 = "也是文本"
+$t0 = `特殊文本类型,可以插入表达式,例如,玩家的力量数值: {力量}`
+$t0 = `另一种插入表达式的写法 {% 力量 %} `
+
+// 数字类型
+$t0 = 1
+
+// 布尔类型:没有专门的布尔类型,0 或空字符串被视为 False,非零和非空字符串为 True
+$t0 > 1
+$t0 >= 1
+$t0 == 1
+$t0 != 1
+$t0 < 1
+$t0 <= 1

注意:务必区分 ===

混淆 === 是小白常犯的错误之一。前者用于赋值而后者用于比较。当你试图在下文所述的条件算符或条件语句中,比较两个值时,需要使用 ==

语句

多个语句可以用 ; 分隔,取分隔后的最后一项的值,为整个表达式的值,例如:

text
$t0 = 1;2;3

此时 $t0 的值为 3。

注意:分号的使用

不要在最后一条语句的后面再使用分号,会变得不幸。

text
// 正确写法
+if 1 {
+    $t0 = 1;
+    $t1 = 2
+}
+
+// 错误写法
+if 1 {
+    $t0 = 1;
+    $t1 = 2;
+}

运算符

数学运算

text
加减乘除余 + - * / %
+乘方 ^ ** // 2 ** 3 或 2 ^ 3,即 2 的 3 次方

逻辑运算

text
&& 逻辑与
+|| 逻辑或
+!  逻辑非

骰子算符

d 常规骰子算符,用法举例 d20 2d20k1 d20 优势

f 命运骰,随机骰 4 次,每骰结果可能是 -1 0 1,记为 - 0 +。

b 奖励骰 (CoC)。

p 惩罚骰 (CoC)。

c 双十字。

条件算符

条件算符 ?

text
灵视 >= 40 ? '如果灵视达到40以上,你就能看到这句话'

可以用这个指令测试,下同:

text
.st 灵视 41
+.text {灵视 >= 40 ? '如果灵视达到 40 以上,你就能看到这句话'}

多重条件算符 ? ,

text
灵视 >= 80 ? '看得很清楚吗?',
+灵视 >= 50 ? '不错,再靠近一点……',
+灵视 >= 30 ? '仔细听……',
+灵视 >= 0 ? '呵,无知之人。'

应用举例,默认的 jrrp

text
{$t玩家} 今日人品为{$t人品},{%
+    $t人品 > 95 ? '人品爆表!',
+    $t人品 > 80 ? '运气还不错!',
+    $t人品 > 50 ? '人品还行吧',
+    $t人品 > 10 ? '今天不太行',
+    1 ? '流年不利啊!'
+%}

三目运算符 ? :

text
灵视 >= 40 ? '如果灵视达到 40 以上,你就能看到这句话' : '无知亦是幸运'

条件语句

text
if $t0 > 10 {
+    $t1 = "aaa"
+} else {
+    $t1 = 'bbb'
+}

提示:出现格式化错误

如果上面的代码输出「格式化错误」,那是因为你的 $t0 不是数值。字符串当然不能和数值比较大小,所以会报错。

解决方法:.text {$t0=0}

实际测试:

text
.text {% if $t0 > 10 { $t1="aaa"} else { $t1 = 'bbb' }; $t1 %}
+ + + + \ No newline at end of file diff --git a/assets/about_README.md.BgkOmeWZ.js b/assets/about_README.md.BgkOmeWZ.js new file mode 100644 index 000000000..a867cfa2a --- /dev/null +++ b/assets/about_README.md.BgkOmeWZ.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as l,j as e}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"关于","description":"","frontmatter":{"title":"关于","index":false},"headers":[],"relativePath":"about/README.md","filePath":"about/README.md","lastUpdated":1711707239000}'),o={name:"about/README.md"},r=e("ul",null,[e("li",null,[e("a",{href:"./start-from-zero.html"},"从零开始")]),e("li",null,[e("a",{href:"./about.html"},"关于")]),e("li",null,[e("a",{href:"./license.html"},"许可协议")]),e("li",null,[e("a",{href:"./develop.html"},"参与项目")])],-1),s=[r];function n(c,i,d,u,_,f){return l(),a("div",null,s)}const p=t(o,[["render",n]]);export{m as __pageData,p as default}; diff --git a/assets/about_README.md.BgkOmeWZ.lean.js b/assets/about_README.md.BgkOmeWZ.lean.js new file mode 100644 index 000000000..a867cfa2a --- /dev/null +++ b/assets/about_README.md.BgkOmeWZ.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as l,j as e}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"关于","description":"","frontmatter":{"title":"关于","index":false},"headers":[],"relativePath":"about/README.md","filePath":"about/README.md","lastUpdated":1711707239000}'),o={name:"about/README.md"},r=e("ul",null,[e("li",null,[e("a",{href:"./start-from-zero.html"},"从零开始")]),e("li",null,[e("a",{href:"./about.html"},"关于")]),e("li",null,[e("a",{href:"./license.html"},"许可协议")]),e("li",null,[e("a",{href:"./develop.html"},"参与项目")])],-1),s=[r];function n(c,i,d,u,_,f){return l(),a("div",null,s)}const p=t(o,[["render",n]]);export{m as __pageData,p as default}; diff --git a/assets/about_about.md.hrcKISE7.js b/assets/about_about.md.hrcKISE7.js new file mode 100644 index 000000000..310073dfb --- /dev/null +++ b/assets/about_about.md.hrcKISE7.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as r,a8 as t}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"关于","description":"","frontmatter":{"lang":"zh-cn","title":"关于"},"headers":[],"relativePath":"about/about.md","filePath":"about/about.md","lastUpdated":1718529177000}'),o={name:"about/about.md"},n=t('

关于

官方站点

官网:海豹官网,新版本发布的正式地址,还提供试用,log 染色 等多项功能。

海豹开源组织 GitHub:海豹核心源码的托管地址。

投喂

请参见 官网—投喂,目前尚未更新蓝绿修改器(暂时顾不上)。

你的投喂将用于支付服务器费用,以及帮助社畜制作者们稍微抵抗来自现实的引力。

非常感谢。

手册贡献者

新手册贡献者


旧手册贡献者

木落、鹊鹊、蜜瓜包、病、于言诺、流溪憧憬少浣熊旅記

开源

海豹的源代码以 MIT 协议开源,托管在 GitHub 下。海豹核心的诞生离不开开源社区和其它开源软件的支持。

',15),h=[n];function l(i,s,c,p,b,d){return r(),e("div",null,h)}const u=a(o,[["render",l]]);export{f as __pageData,u as default}; diff --git a/assets/about_about.md.hrcKISE7.lean.js b/assets/about_about.md.hrcKISE7.lean.js new file mode 100644 index 000000000..e21c613d2 --- /dev/null +++ b/assets/about_about.md.hrcKISE7.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as r,a8 as t}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"关于","description":"","frontmatter":{"lang":"zh-cn","title":"关于"},"headers":[],"relativePath":"about/about.md","filePath":"about/about.md","lastUpdated":1718529177000}'),o={name:"about/about.md"},n=t("",15),h=[n];function l(i,s,c,p,b,d){return r(),e("div",null,h)}const u=a(o,[["render",l]]);export{f as __pageData,u as default}; diff --git a/assets/about_archieve.md.BYjlOLqB.js b/assets/about_archieve.md.BYjlOLqB.js new file mode 100644 index 000000000..3e0268e5a --- /dev/null +++ b/assets/about_archieve.md.BYjlOLqB.js @@ -0,0 +1 @@ +import{_ as n,D as c,c as p,j as a,a as t,I as o,w as e,a8 as s,o as d}from"./chunks/framework.C7ysi3tu.js";const h="/sealdice-manual-next/assets/platform-qq-qsign-1.DewZ-7A7.png",u="/sealdice-manual-next/assets/platform-qq-qsign-2.Cv0YuS6C.png",g="/sealdice-manual-next/assets/select-account.BQuutaYp.png",m="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVkAAAA8CAIAAABD3l7RAAAACXBIWXMAAAsSAAALEgHS3X78AAAIgUlEQVR42u3df1CT9x0H8E93u6Mj64mXJwHaJeHsSdKBFC+cyg/ZWYq6FqtzYbG3nSzGK+ucU2uBQ3TADvDQabCW648ZItx2NYPa2toeJcPdIYHOI8pR0IS7VpMcC5KHlawL07/cHw88PCYEBw3jR96vv/Lj4XmSJ8/3/Xy/n++T8NiDBw8IACLed7ALAABZAADIAgBAFgAAsgAAkAUAgCwAAGQBACALAABZAADIAgBAFgAAsgAAkAUAMEffjZD36Rwjy5fU7aavvsaHDkvbqpWULqPcp0kRE87VPhYJv1/gHKPGXvrmPmmSwrz7ABbkeG4ZoCeiqCA1nMdzRGTBORs5WDq5BUcRLB9Fn5GSob1q1Atmo9tNmiQcPLCsaJKo2x3OFUZEFnz1NYYGsNwoYsJc/MI8AgAgCwAAWQAAyAIAQBYAALIAAEKZ9TXIVzu72tuvFL3+2seXP/EMDx86sD9gAS/LVtfU+nz/2rL5+V3a/OA1GM6cjY+Lm/YpIZYdtXZ12+0Ou2OQYcSMWKxSKbe/lDfPO8Rq0Df1cTeluRXHNYpHLrZmt+lgZvASTnNZRRsb9HCyzrg/m4jIbS6tah155IYAFmsWBLtgbv6s7a/83aioqAP7f/3MM6o7Tuec12l3DNaeOCXMBZYdtTsGO61dJUWHGUY8P3vDbS5t6pto225zaVVFKU3XSq0GPb8YddQV6uooOA4U2mqTVnDf1VJcaaHNO6aCIHa36fjkhuripw0UgKWUBUSUkpIc3EFIUCiudnY1mBqDl+/r6xfGB2ePrmBjVkZwEAR0FmpPnpqvOOj8sHWE2foq1yZl2ldzbZU3PndpFPKAE/6nfZSsm2y62Qd32/RNhs7MQ1kzpsxbFq80t0IrC7GhT82uTK0cByQs8SwIZWNWBte8hUMMLh34lh9MGARZmRncuMDucBgbGrk4MDacLyk+vFC7zOlhac0L2VMPyJ+Ukm3ITSR7RMqUT3QxnEPDJF27gW/58vVqqcXW7dbKZTgiYaH8X2uHXpZtb7+ikMuUiaut1i6/fzx4Ga7B8/R7Ci59dLn25CmGYbIyM/gRhN0xGP7Xl7Vjq5RtvWgVnMkFLXbmt+ZxzdQp+KSf1rzAn/adHpZi4xWzWAMsEwM3B0e8o6GevX3HffuOe6Fe21z6BU6X+ze/PcTdrqisSkhI6Ovr1+kLhcvwVQPhg3/683sqldIzPBwfF0dE12/0BncN7A4Hf5thxJc+utxp7Qp+DQ7HoEqZGO69IdMefye+rlCnbyIKWRRUxDPUdr2DMie7Bq5/jBDFzjz0oJQXUQ4ASlD84FpPr1fCJP0wcbqYYDf9KGMpZYFCLit6/TWRKJq7e8HcrExcfe/evZyc57i27WXZU6fPBPzV1c4u35jvlb36d88ZiSgnZ1N9/dsqVaKEYUJtiGVHP7z0MRHt2L6NEYuFMWG3O8I/pzBR3jtqOigjriiovz5Z9he8/fS1kjaLqc6aPVE7nJxQCKGjp5+kuTuz0BCARKLodWmp13p66SYJ4+BaT6/fP76AQRC2MULU41ErYlb02GyTDXXw8agouXyqe33rlv39ix9of6bhE0TCMDk5z9XXvz3tSEFIpUzc/lKeseE8y44KugxM2PdFx0WLV5q7TzsxaM8+uDuF+i+bg/pscs2J8lzJF006faFOX2hLO7pVOsNarbYvSJK6HlOGIIyDES87cHNw8QTBtx0jCKcP0tTq9vYrfv+4SBTdY7OpVEq+2XtZ9p0/Gn+68ycBQ4aNWRk9Ntu754zCOQhGLBa2ea7ZGxsaAwoESuXqedkfDw3j5U9Kqc/jmqYoKNecMGr41m4wkSQ1RF3B5fEQxT8lCxxl9HqcRMKAkMRjFiESewf+8fHFEARz7Bco5LI33zBs2fz8Q2dvVeK9+/ddLpeXZe/eHXk2ZQ0fBNU1tRvWr5t21uCVvXrfmM9w5iz/SGZmevBiwTOI89EvICK66wm4KCK4iTrNZTr92Y6pcsD1PmLU6bJQWeClZPXDAwTFU3E0cuNzvlbo+rttJPQaYPnGwW2ne5EEQXjGCFwtUMIwsbFS819ajMbzqc+mcF2AW7fsx373e4VCHuoqQ5Eoet++XzmdLj4OVEplQFGQYQJ7ClmZGfNQOKTsnbmSEUv95KCgo66qdSQ5TxvYRBXpayVTYwerwfTQHEFgcAwNkzRwymBiwuKtFifRxIRF6DXAMo6DvB/nLJIgmMsYYWhoaEXMCr7/7/eP+8Z8aWo1Ef3i5y9X19TGEG3Le5F7trXNolSuPnRgf8BFR/y1Rtx0Q9mRkuqa2gvm5l3afIYR6/f8sqjkCL8wVz4URoN+T8G87Ay55oQx3qCv0rVx95OnCoeuluLKG+ryaq2cqxdQceXEYpLNR018XggX47LAw063JZn2+FEqrarQW4iIpLkVuOgQFtrsfvvU7x8/+YfTKpVylzb/grnZMzycpla/f/GDsiMlEobhL0YO9U0Ezv/yfQTugqLgiwh2bN82h+mDTSZ6L5/ivo+PG5aP4X/Ty830N90C9QtcLteYz8fXAoiox2ZTKOTR34uuqKwiojffMIz/Z7y6ptZudwjnHWeLYcQlxYc7rV2jo//kBggMI87MSJ+3byIARLpZjxHiYmP5yULfmI+ItNr8smPlG9av4071IlF03emThjNny46Vc/2FgDUEf3MhFP5CQwBYXGOEJQpjBMAY4ZHwWyYAgCwAAGQBACALAABZAAARmwWrVpJzDJ81LCvOMVq1ElkwS+kyahnAwQPLSssAhffrbBFxfYFzjBp76Zv7pEnCP1yG5XA8twzQE1FUkBrO4zkisoDbfZYvqdsd5n9TDbAgY950GeU+HeYTW6RkAQCgXgAAyAIAQBYAALIAAJAFAIAsAABkAQAgCwDg2/kvh+Bdy6b8rFsAAAAASUVORK5CYII=",k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAT0AAAByCAIAAACugJHHAAAACXBIWXMAAAsSAAALEgHS3X78AAAK2ElEQVR42u3da1BTZx4G8D9VTGpmyE4NkExKsl9akw7S24xSiWw1hdLL7MWFDVO3dLPZbnoRFau4VltCBa1CCWxqK9PBs9LpTKms253thYJ0W4jsdoasFtgmdqYzTRgaJBlLkAQOiNkPB8IhAUVLZFOe36dwznveIbx58t5OQlwwGCQAiCm34E8AgNwCAHILAMgtAHILAMgtACC3AMgtACC3AIDcAiC3AIDcAgByC4DcAkDMWP4jeA4TE1cGh/yXhgMTE1fQorAUxMX6529Zdvx733AwGBQniOLjl6NFAf1tDPAHRoPBoCz5NrQlYH4bM0bZMXGCCA0JyG0sGRkdw/AYkFsAQG4BALkFAOQWALkFAOQWACItwR2U3oa9Zd89VlukmXGkaWDyhzT9XKdS9XWFmZH1uRqLS1tkvKvaqo1MN69AUpbpUK6Se2y16Jke7mFi9v4juhS8BOGm5tbj9ZYfPOzzDYWOpKWlFm0vNNdYZFJpvi6PO9hu7ei02Yq2FxKR3x+oqKxyunrnqlMsTtj34p5EiSR6T7ituqxpgNJmxriJskx1ucrJXBnNNBnCturpU23VRsZgofDo9ja82eIhkvGOuC/MkUmrRc/0TL4vuBqLS8uKCdGFKOT2stU6ce6cYOvWWc8KhULj0wa1WkVE5hpLZIF3G05+9nn7lify/f6ASLSSO/h7/VMbNOsjC9vtjhNvvxPNJ3vGbKjvCu8tv7ANSHJKpvpDTaG+08h82OjU5CpdjR90U5p+8lTmjgKbod5mpczp3picDcdCHXWoxu8GSCZPmaWf/7AnMXv/ZLesyH0++6zp3BdOXYoSL0NYqNyOnTw5cfZs/KOP3qJUsq+/Hrx0SbBtW5wo/I7CwMiIqbRMq90UWYO5xuJ0ug688nJU+8/rC21SlulZOlraMn1YkXukLpdfTimT0IXZTrnc7hn9KpGr8Wgz5eizbEzLzGKpj2sih9Nf2AYk9z8wnWelrpzR4RUIC5rbFXl5wQcfHDWbg5curdDplms011Uv1/1WV1VEnjrOnDjOnJhrnBy1Z5pRVJfBhe3qs99/n/NSsiyyD2w71eJJynpeM3OEvKZAp3DbeMWc/zrrIS9jMDJhk1uX20NSmWK6z8f8FqIyTr7i8cStWrVMrb7idl9vvdyEdlaLN06eB+v7TQOU9lgG/5izYZ+p2Us0PWaeKpmqP5QR9kbgdHuJJDkl5TrF5OTZtJdMh3Kpr5/IyxhIX1dbRJjfQnRyG/T7xz/+OP6RR25RKtljxya++mrZXXddvS52lDWVljldvV1dPZ80n+afejj7oXxdnki00lSyf67L1WrVqwcPLOYfw9VYzPTQmoKimWOLqQHtGbPBWNzHJe2MmelJ09dGLi9n7uAfTNE9m2UrbTllzd1MRCTJKZla1uLmt83vt+lmW6MGuLHcxolEwhdemFx/mnpwdQKh4E97dnHryXK5/K+n/hZaHG63dugNxvn/WlzOb3ZoS1s8awqYHRlzjbQ3Z3/EJY2q67vWFDDzmTooZDIidx+3hC6VKXhvB3IpUb/bRaTA6xAWbpw8T0KhULIq/GPrKtWdQqHQ6/Fyud2gWc+NjbmtIK1206xD5cXsaa8RWr4ztm4iqtcb6kOHPIxR33m1y5VyKV5t8P+S20BgZNDnizyeKJEkJyd92dXN7RKF/OfsuUGfT6W6MwZCa7Xomf6pmerU3DXpXiVlZNZlhF0+dd9Fb8PesqZkXlUut5sk9z+QQor70pgZ20jOvv6wHhgg6rlNlEhePXjAbncMDvoa3mvcvWtnaIeWk5OdVftW3d1pa/jR7evr8/mGivfsm6vauVatouaMea6eVvPLnA/Lmt5sTD80eUsG0z1zaWoWKbrHUpuYerM1o0gzXblOMTXMZixtmsJMIrJaTM3exOxnMLmFRehvv+zqXr36DiKqqKwKi65arUpftzYs0vm6vLkmrna7o/atusghd1Q5Gz7qIqLuGYPeqVsaU3SH9tPeMpOB256V5JTU6q7ZPWoKGbLoGaOe2wjivSModeWM3KKf2iKaeUMlwHX4Qd/n6PF6X6uqeerJLQqFoqKySvwTceg+R7lc3mmz/fEPhorKKiKK7I0jtVs7Wls/nU9Jvm++dStuT4pfvgxtCcjtvEJbfvDwrzf/ihvWerzeo0eP6X9XwPyl3unq5d9pzN2DEbaja7c7aixvsCwbOiIQCLYXPhc2H0ZuARYyt2GfH5g1zDcBcgvIbexBbmEJwufmAZBbAEBuAQC5BUBuF1sQDQjIbcyJI7pVuGJ8/DIaEpDbWCIQrPAN+dGQsKTg/1YDILeLYWLiim/IPzQcmJi4ghYF5BYAML8FAOQWALkFAOQWAJBbAEBuAZBbAEBuAQC5BUBuAQC5BQDkFgC5BQDkFgCQWwDkFgCQWwBAbgGQWwBAbgEg2n4MX1w6Nn55eHjEP8KOjY2jRWEpiPnvcxwbv+y9OBRHhO9PBvS3MWN4eCSOSJZ8G9oSML+NGf4RVpwgQkMCchtT4+SxcQyPAbkFAOQWAJBbAEBuAZBbAEBuASC6ubXbHc88t63d2oE/K0BULeTOp1qtWr36jtbWT++79x6RaCX/lN8fqKiscrp6Q0fE4oSND/7s/b//I6wSpSJl966dYZcDAN+N35/cbu04zpyYT0mxOGHfi3sSJRLuqtbWT+dKZru1o9NmK9peOP9f45tv3Yrbk+KXL0NbAvrbeQnrG9utHX19ffm6vLDB84m33wn92GmzqVSrQ5eYaywyqTR0SV9fn0wqRasARCu3GzTrVao7971Ukr5urbu/XyaVpqev7bTZTKVlu3ftDIwEyg8eTl+3Nl+X9+rBA9wlHq/3woWBnOwsfj1yuTw0lnY4zmu1m6LyRF2NxaUtHqLE7P1HdClE1FZtZLqJKFVfV5i5IAUAbpYftC7V2vpPItJqN3I//lSpLNpeqNVu2rqt6KWXXzE+bdBqN7acbuWXT05OUqtVoaD6Bn2hs4GRwCjLSlZF5ZM9badaPNx7R/OxBheRq/GDbu5MD1N9ZkEKAMRAf2u3Oz77vH3LE/ncxPX7wcEdO3f7fENiccKRw+Urb11ZUVmVLE0+f/7rnv9+VbS9kCvPsqzeYCSih7Mf0mo38oPqcHwtFAgUCgVaBSBauVWrVcfe+DO398OyLBfF0EzVbncM+ny63+QW/HZLRWXV6dbPrFYry7JcGXONhSs2Ojp6pNLMr3brtqJoLClnbs76oJsb5T6jUxBR7uNrWiZHuTsyFqQAwE3zQ9eTubVirnflb/MQUVpaamhl2G53NLzXOMqy99ydxuWWvxzF927DSYfj/Pxzi/VkQH87X35/4OLFi0xdbeiIqWT/1Tvn3bt2VlRWXbNmd3+/+Cdi7N8CLHxuRaKVv/j545Fhrqis0mo3bdCsv2YNo6OsqbQssotGkwBEcX5LRB6v97Wqmqee3BJaIp7/oFcoFMzaRYemvgAQldzegE+aT3/SfJqIZr2/wuP1Op2u9HVr0TAAUcxt5ILwceYE//5HpSKFfzZsPZljtztqLG9wi9JicUJoQxgAZhXd70++3sXhG4D1ZEBuYw9yC0sQPjcPgNwCAHILAMgtAHK72IJoQEBuY04c0YoV8ePjl9GQgNzGEtGtAt+QHw0JSwr+bzUAcrtI0R0eHvGPsGNj42hRQG4BAPNbAEBuAZBbAEBuAQC5BQDO/wApyt1rmZ2jAwAAAABJRU5ErkJggg==",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWkAAAA/CAIAAACtua5HAAAACXBIWXMAAAsSAAALEgHS3X78AAAOvUlEQVR42u2de1QTVx7Hf4g1ESyhZlCsS8I5uyXRYyM+1geCFuKjDx9trRUfu4DU4lGRqlW3Wq1ipSIKpaiLbdF6tr4FV9E99RFZBYK2Iko9ZkKPZwHLAjJYBiQmPur+cbPXcSY8RIKgv89fw2RmYO69873f3+93h7g8ePAAEARBHpNO2AQIgqB2IAiC2oEgCGoHgiCoHQiCIKgdCIKgdiAIgtqBIAhqB4IgqB0IgiCoHQiCoHYgCILagSAIageCIKgdCIIgqB0IgqB2IAiC2oEgCGoHgiCoHQiCIKgdCIKgdiAI0sZ0xiZoA+7du19767bltrWTS6fbVluH+/s5q+vf8no8b732bXD5s//8d3bt5i5XvuSB2tFOheNGNe/ayYV5yUMu79IRb8H91vPYcX/07fXM3+Pdu/dqauuLSyt8Vd6oHe0Ovs7SqVOnnl6e2BRIe+OFFzp7KRUAUP1b7eO6D8x3OB2r1ebp0RXbAWm3eHq436q3Pu5ZqB1Ox8Wlk1wmw3ZA2rP7uHfvPmpHu6MjJkcRBLUDQRCn4JRcaVJyCl/DL/l4kbu7W+M7hVRx3Lq4+GFDh4ROndK6f099vSVhY6LCU7EwJrqZp3Bcda4xj2XNrLmIYZSMUqnVaiZNHI8jBmnB4Kfs3XegvKKi+ePw+dIOk4k1m3+x2WzzFywkexQKj+DXRhUWXgEAulMmk8VEz+3TR0sf7y1bUj0Vignj32q8Y8h1AECt8okI/2tScgrP14oOU6t8hJ2XefRYReWNqe+/18xbYM1F8Rs2CXWE46pZc1FOrnHZksUMo3RGT5hMbHLKVputiQBHofBYsXyZF8OYTOzOf+xavCjGi2FIA6Zs3jpp4njapFQ0S0qvN3LBWRFhQYEBrXsvk/vCh4Mh4ypsu/BwT/gA+K4A0q8+PGyYDywfCS82ULauuwNxZwHA8TE/lUF/b+jiav8xuwRWnYbUCaBhGvvDyutgdRYUVbfane7dd+D4iVPS/XScC0c7AFy6XLh4UYzDvtbp+i2MiXb4kUwmGzZ0yJmz2cJeGzjAv8nOJdfsGNpRX2/Zt//ga6OChN6hiuM2JSYv/XihcFhLfQFpBVGjE8aNHU0vSLazc4wGw2mHo59IOxUOk4n995lsm822YWNScx4ekXCIzEh8wiYnyUefPtrUrV813y5dLvzZarWuXBUrHGfCe9Tp+n34QaRcLqctTzoi7C8zyI/k+q1+I35KmNwXurhC6KsQ+ioAgJkDAOjWBeYPhflDAQDu3IevL0BZHdyyQdxZOCcZ/8N8YMFQAIBz12HiLvBTwvKRkHcdRvnCV+fFx8eGPNwmIjK5L0zQ2KVndTCcKYZtFyBqMIzybeWbDZ06JXTqlCqO27Ildd68OUTHhfPB4SNHo+fPJaMxKTnlrTff8GIYL4bZlLBeqPVJySm9vL3pMCAX1OtDcnON9PTwsJl0BhWN3uwc44X8/IUx0cIuJg9Ch/EdX3+bBgB6ffD6+I2kXbJzjNt37Bw3djTZNhhOi+wcGcE1PL8hfp2o6engbtyMiOcWQXtVcdy2b9JsNpvI5gh/r1brJzxdKByBIwJInMKazWnbdxL5SNv+3bKli9vAE14suFTD8/PmzXEY3126XBg1O1Jo3Bz6jra3sjP7Q60NVmfB8pGQaYb0q/aH9ouzED7gkSd/mA90k8EXoxv0HS0gSA1ZEfbtbRP//4T/X8XK65x11zU8v3TZCul+tcqHTmm9vL2DAgP27jtw7vyPUR9+UMPztDf5Gn7mjGkt+L3bd+zcvmMn2Y6IjBJNITpdv46hHSYTW1l5g7joyMjw73ft+bWsbPee/dOnvZ+bm5edYyTTe8LGRCofxKF59+yxMCZapNzkI43mleaYLqFzIa6eJlDUatXCmOjsHOOGjUnUvxCrqVb5rFu7RihkRCAokbPC0rbvZM3myFnhgSMCcnKNxJiw5iKtxs+pT2AVx6VnHJr87jsiPbWbI7ZILpOpVCphECccNCRqAwCr1SoyXA35r9aKVlQKuFwBM/tD3FlYFAB1NhjuA+lX4cQ1qL0D4f5w0/IwamjSdwA8jETUngAAX4y2hzPSs+ZkOvAjq063hWJ6KhQklpT6DjI+WdZcUnqdjjrLbYvVauWqbwKAwZCl1Wpo7ElHMhGF+QsWimJwgru72+rPPhVF9IMHDWr1CLQttKNPH+36uLVkmzREesZhYpj9/fuvi4svKysLnTqF3hsxBTOmhwYFBlRxnK+v78pVscQdkEfCYSh+/MQpEmFSRXfYjqRLaOY1KDBAq/VbFxdPzpXJZA5jKNZsptsMozx85CjRCxFm52vH97v28HytwXB64AB/0aAhsuKpUAiDOKHvoEMWANo4Zkm/as9oxIbAogAoKIdPRgLAw2iF2AESWQA013f8VAY93O0xy8Gr8F5f6N8T1gQ/ku+IDYEgtYPrUBti7ztOLDFPjhfDSIcfeSLoGFv92adVHHfp0uUxo/UAYLltAYAL+flBgQHlFRWFhVeOnzhFwkwAeHvShIKCSyRmGTNGf/KkwZiXt3vPfnrlwYMGiaYNQmHhFWpDpPF+e8+VAgCJU9Qqn00J68m492KYdWvXJGxM/GjREirPXgzzZWICbf3wsJlyuYzMimqVz+avkhxmqqX5DqFtE866wiYTNTRJfzSeSeK46n8eziQdySiVQllhWbNTay579x3ga3ji14x5ecf+9YNwTjMYsmQyebtNv5MIhaYkabqUkjrBvkFyGbEh8KfuTaQwZZ2hiytUPRqB1dlgoxHOXW/QX7SN73D4DEtzamTq4vna3Xv263T9SIRiNv9iMrFkEBLXQI7/7bcauVzu5tbVYQWA5DukQ7cD+w4aaJDGSs84JM02Dxs6ZOmyFbRYIO0Dhx81zqiRQazZTCsONEW0es3nNAs9KyLMYVvTELEhedZq/CZNHB+/YRPHVQssCeO8LsnOMZ47/+OK5ctYtggAAoYP/0Pv3itXxZLwrb7eYrXaRutfy83NExkxUcxCNto4ZhGJCMkyiBKZomOIWaC5CWlZBAB0PcHMwZVKeK8vRA8Vp0LoNf2UsDoYer3o2Hc0FOk8OY3P7eRRNxiyrFYb9YAmEyuXyzUavx9OnCRWsbLyBk29nTmbPW7saJXKp6KycvOWVKHFFqoGicqFdUah73AY6bTffEdyylZaZGlI/8LDZu7dd4CGJ6KiFM/XSnNOjdcRe/fuVVxczLJFXoEMCSy1Wo00ihE5dofKzSiVQo0gMpG2fSdrLhLu1GhecZ5w7Nq9NyZ6rhfDsFAkLMEkJafMmbsgJnpueNjM7BwjvYXikhJftZoEIHp9SFBgAI1ZiDGmSei2qbM0FCAIqyHUgLzsAZ+cgnPXIXUC3KiHVachajAM6AVzMu0bxIxQ0Zl+8JFUiGPX9rMDs9PkWc4wIEJjSyoy9KPLhT/LZbI3Xx/3923f5F8syMw85t9f58UwJL1NB/yXiQnCCFSKXC4XpsylqZYOk+8QVRnJwyCsrdCqFYk7IiKj1Cqf2R9EHDiYQY2DNAnaeL5DLu+q1WpI6FhaWmq12fT64Ia6UzrrCoVpxIjhIpkgiQ/JHqf4DpKBXxu7yqHtIsX/bd+kRc2OFAril8mb1WrV62PHWG02MnHRMLu0tFQul7t1dYOnhIZ5JN2QXSKOXCbusm97yCDRCH5KGOULZ4obq56AoxJM6gQoKIes/zxSVWkkgeIkhGNJWiKl0+T0ae+TGU6tVr315hvEWQiLiaIwXOQ7aG6L8WKkvrKhszpAvkNU69Zq/dIzDl0suBQUGEBWf+j1IURHggIDSEObTOzj+kNhvgMA9PrgTYnJQv2WOgvpkj7SB4yyuyBC0Wg1fkL5YBixEwkcEeCMRGl2jpFlzaK6j1SdSYaI+g6SM0pKTiHpG5HocNU3ZXKZ81zrk/gOsp/ENWYOph+0S0Ctze4aens4DnakDsJPCR6yp+87pM88LZHabHdWr/m8hufJxJCdY6zheTLDXcjPB4AanrfcttCeEmqQ1EFYbltoffcZ8R10NOv1IVu2pBKv4cUwarWKmIKLBZcAYOAAf2f8Uof6LZrSSe3WYR9QpYicFb5k2XK6h6RLHz0gzBk9QZW0BaJDvFVh4ZWIyCgae9fXWwyG03p9yFPMmzbiO8ii0ls2iDoCRdX2pajnf32oET3c4UZ9s3xHdzfo4gqcBZ46DQXXMlkXGkHT6jsAfLRoCQkqDYaspctWkNWiTfoOrooDAMaLebo365Q6y8AB/gbD6cyjx8ggJlO9ycSmZxyKmh3Z4mmwiuNKSkppLlqEQ/0GwRIS6ZTOskVWq1XUBwyjTIiPS9v+nTR4eXvShHb1SsuBgxlnzmbrdP12pG0ThngkAfznwQPlcrlDpaYrqRUKD9HSOOf5DiIWWRFw5z6cvGYvsggTH59lAQAcmWFfgV5eB4nGBn3H5UoY0OthfbekBib3tZeBG4pZoNG1IU+OKH1Gqo2kkYXrvsjSAUbZfeWqWLJAgWRD+uteTU7ZWlxc4tB3+Pv3z83No8WHoKARNEvaSPK7obUhrYLLgwcPnJouagjhLTX5KgddeJuecYhUYUjMQt5nmfzuOxfy88kLSJlHjx0/cYocTxeACduO9miTWdicXGN19U0SsDCMckTA8JYtRb9WXN7R/3tdxS2YdgCeN0QLQ55tWjBKW9l3tPjFG09PRZO50rKysmFDh3BVHHmJQ6fr5+buRgyeTtePeMLQqVP0+uB1cfEkQSutnDU/NAgcEQAIgrSN70Ck/Lfi5sve3dF3oO94xnwH/u8fp/P7g9+t1jvYDki75e7de507uz7uWagdTqdrVxlfV4/tgLRbamrru7k/9lsOqB1OR9HN7f7vDyqqaqw2/MelSLtzHFXV/N2791rw9U74/SxOp3Nn1x5KBV9nqb5Z5+JS30G/Fw7gufteuGvFz8v3wr3s3ZICIuZKEQRpCRizIAiC2oEgCGoHgiCoHQiCoHYgCIKgdiAIgtqBIAhqB4IgqB0IgqB2IAiCoHYgCILagSBIW/I/E7gJk6HthWUAAAAASUVORK5CYII=",A="/sealdice-manual-next/assets/qsign-config.C7X6Y-jY.png",q="/sealdice-manual-next/assets/gocq-folder.BqYrXyGR.png",f="/sealdice-manual-next/assets/gocq-warn1.DnQT2Y8j.png",S="/sealdice-manual-next/assets/gocq-warn2.Be6mD1Aa.png",v="/sealdice-manual-next/assets/gocq-step1.pboT6Yxb.png",C="/sealdice-manual-next/assets/gocq-step2.-UlYTUsA.png",Q="/sealdice-manual-next/assets/gocq-success.DvcHSdvM.png",B="/sealdice-manual-next/assets/onebot11.hPU3-IW2.png",P="/sealdice-manual-next/assets/onebot11-success.B8KhG_3g.png",_="/sealdice-manual-next/assets/platform-qq-shamrock-1.DJ7tSnjn.png",x="/sealdice-manual-next/assets/platform-qq-shamrock-2.BojvCHzi.png",w="/sealdice-manual-next/assets/platform-qq-shamrock-3.BlEqBGNz.png",L="/sealdice-manual-next/assets/platform-qq-shamrock-4.FmFC-9a8.png",I="/sealdice-manual-next/assets/platform-qq-shamrock-5.BMm24yfS.png",E="/sealdice-manual-next/assets/platform-qq-shamrock-6.Bf1yZXSr.png",R="/sealdice-manual-next/assets/platform-qq-shamrock-7.DfAmZJ9X.png",T="/sealdice-manual-next/assets/platform-qq-shamrock-8.BJqlFaWq.png",y="/sealdice-manual-next/assets/platform-qq-shamrock-9.CRgE7lL1.png",z="/sealdice-manual-next/assets/image-016.McE9_BqK.png",W="/sealdice-manual-next/assets/image-017.h2f0ACoz.png",Y="/sealdice-manual-next/assets/image-018.DTqSvbQG.png",Sa=JSON.parse('{"title":"归档","description":"","frontmatter":{"lang":"zh-cn","title":"归档"},"headers":[],"relativePath":"about/archieve.md","filePath":"about/archieve.md","lastUpdated":1721204034000}'),K={name:"about/archieve.md"},F=s('

归档

本节内容

本节将记录海豹曾经使用但新版本已弃用的功能。

Go-cqhttp / Mirai

',3),X={class:"warning custom-block"},O={class:"custom-block-title"},Z=s('

危险:此方案已经接近不可用

由于 QQ 官方的检测,使用 Go-cqhttp 方案成功连接的成功率已经越来越低。即使成功连接,也可能面临高达每月 2 次的频繁冻结等情况。

我们不推荐任何用户再使用此方案连接 QQ 平台。

危险:Go-cqhttp 已停止维护

Go-cqhttp 的开发者已无力维护项目(见 go-cqhttp/issue#2471)。在未来 qsign 签名服务彻底被官方封死之后,Go-cqhttp 将无法继续使用。

使用签名服务

危险:qsign 已停止维护

原 qsign 作者已因「不可抗力」无法再维护此项目,对应原代码仓库也已删除,该方法会在未来逐渐失效,请做好预期准备。

部署签名服务,即使用开源签名服务 qsign,是目前用来绕过检测的最有效手段。

怎么使用签名服务?

你可以自己在本地搭一个 qsign 服务,也可以使用别人搭好的。

注意:自行搭建签名服务

如果你的动手能力足够强或者有足够的电脑知识,强烈推荐 自己搭建本地签名服务器。

使用他人的签名服务可能会泄漏以下信息 (截取自 qsign 的说明)

不会泄露的信息:

使用共享签名服务可能会提高账号被封禁的概率。

在登录账号的时候会看到这样一个界面:

海豹的 qq 登录页

点击下面的「签名服务」一栏的「简易配置」,可以看到如下配置项:

配置签名服务

提示:默认的 qsign 配置

没有特殊设置的话,qsign 的 url 通常默认为 http://localhost:13579,key 通常默认为 114514

如何搭建签名服务

提示:有能力的用户可以自行搭建服务。

注意

由于项目的特殊性,下面的方法随时可能失效,我们不对信息的及时性做任何保证。可以加入海豹官方群寻求帮助。

',17),G=a("p",null,[t("可以尝试使用 "),a("a",{href:"https://github.com/rhwong/unidbg-fetch-qsign-onekey",target:"_blank",rel:"noreferrer"},"一键 qsign"),t("。")],-1),M=a("p",null,"引用自说明:",-1),N=a("blockquote",null,[a("p",null,[t("点开以后删掉文件夹里的 "),a("code",null,"go-cqhttp.bat"),t(" 及 "),a("code",null,"go-cqhttp_windows_386.exe"),t(",然后运行里面的 "),a("code",null,"Start_Qsign.bat"),t(" 启动 qsign,按照提示依次键入 "),a("code",null,"txlib_version"),t(" 参数、设定 "),a("code",null,"host"),t("、"),a("code",null,"port"),t("、"),a("code",null,"key"),t("的值。(如果不知道这些是干什么的,请直接依次按下 Enter)")])],-1),D=a("p",null,[t("参阅 qsign 提供的完整教程,看 "),a("a",{href:"https://github.com/fuqiuluo/unidbg-fetch-qsign/wiki/%E9%83%A8%E7%BD%B2%E5%9C%A8Linux",target:"_blank",rel:"noreferrer"},"这里"),t("。")],-1),V=a("p",null,[t("可以尝试使用 "),a("a",{href:"https://github.com/Verplitic/AutoQSignForMac",target:"_blank",rel:"noreferrer"},"AutoQSignForMac"),t("。")],-1),U=a("p",null,[t("在终端运行 "),a("code",null,"start.sh"),t(" 即可配置和启动签名服务器。如果提示 "),a("code",null,"zsh: access denied"),t(",需要先运行 "),a("code",null,"chmod -x start.sh"),t(" 来给予权限。")],-1),H=a("p",null,"初次启动会选择 txlib 版本,及运行 QSign 的主机、端口和 API Key。通常情况下,可以回车跳过而使用默认配置。",-1),J=s('

手动抓取 ticket

目前,Gocq 的过验证码网站已经停止服务,你需要自行抓取 ticket 进行登录。

步骤如下:

前置工作

启动海豹,打开海豹的管理 ui,账号设置,添加账号;

账号类型选 QQ 账号,设备选「Android Pad-可共存」(此协议登录手机可同时在线,qsign 仅 Android 协议和 Android Pad 协议可用):

添加账号

版本选择 8.9.70(如果你的 qsign 是其它版本,请选择对应版本):

选择 qsign 版本

填写 QQ 账号密码:

填写 QQ 账号密码

选择简易配置:

选择简易配置

服务 url 填你的 qsign 服务地址。

服务 key 填你的 qsign 服务密码,没有可以不填。

服务鉴权不填写。

服务鉴权

接着点击登录,然后退出海豹(结束进程)。

分离部署登录流程

  1. go-cqhttp\\go-cqhttp.exe 文件复制到 海豹目录/data/default/extra/gocqQQ号(你登录骰娘的qq号) 这个文件夹下。

    文件夹结构

  2. 双击运行 go-cqhttp.exe,两次确认后出现 go-cqhttp.bat 文件。

    运行警告 1 运行警告 2

  3. 双击运行 go-cqhttp.bat,出现以下消息后输入 2,回车,复制链接到浏览器(终端选中后右键即可复制粘贴,没有选项)。

    运行

    提示:出现 open image cache db failed

    出现该报错的原因很可能是因为 gocq 的缓存数据库损坏,可以尝试删除 gocq 的 data 目录后重新运行 gocq。(注意是 gocq 的 data 而不是海豹的!)

  4. 按照 手动抓取 ticket 教程 - 哔哩哔哩 视频教程操作,成功滑条后(需要抓 ticket,不只是滑条)复制 ticket 到终端后回车。

    滑块 ticket 输入

  5. 如果登录成功,你应当能看到一条类似于 2022-05-06 20:00:00 [INFO] 登录成功,欢迎使用:XXX 的日志。

    登录成功

    同时你应当在下方看到一条类似于 2022-05-06 20:00:00 [INFO] CQ Websocket 服务器已启动:[::]:8080 的日志。

    结尾的 8080 即为 gocq 的 ws 端口。你的端口号可能不同,总之请记住这个端口号。

  6. 打开海豹,删除之前添加的账号,然后重新添加账号,选择 QQ(OneBot11 分离部署)

    添加账号

    在连接地址中填写 ws://localhost:8080(请把8080替换为你的 gocq 端口号)。填写完成后点击下一步。

  7. 你的账号应当已经成功连接。

    连接成功

GoCqhttp FAQ

1. 出现 Code 1

  1. 账号密码错误,输入正确的账号密码。

2. QSign 闪退

  1. 确认没有启动多个 qsign(多个 qsign 需要端口不重复);
  2. 确认端口没有重复。若重复,请重新配置 qsign,修改 port;
  3. 将 qsign 文件夹放到硬盘根目录试试(如 D 盘、C 盘)。

3. 出现 Code 45

  1. 没连上 qsign,重启 qsign,重新登录;
  2. QSign 协议版本和 gocq 协议版本没对应,切换对应协议后重新登录;
  3. 该版本 qsign 已失效,升级版本。

4. 出现 Code 235

  1. Ticket 复制错误(多复制了 "" 或少复制了内容),重新登录;
  2. 更换网络进行滑条,如电脑连手机热点,复制链接发给手机滑条,换台电脑等;
  3. 登录频繁,过段时间重新尝试登录(时间不确定)。

5. 出现 Code 237

  1. 登录过于频繁,请等待一段时间继续;
  2. 内置的 ticket 抓取工具失效,需要手动抓取;
  3. 让他人帮助你滑条。

5. 如何启动多个 qsign?(仅当需要备用签名或不同协议版本的时候有此需求)

解压一个新的 qsign 文件,重新配置,端口需要输入不同于前面的端口。

6. 什么是 go-cqhttp?(通常简称 gocq)

登录 QQ 的程序,现各大骰系都用此程序,此外还有 mirai 等其他程序。

7. 什么是签名?

8. 对于 SignServer(即 Start_Qsign.bat,俗称签名服务器)崩溃闪退可能的一种情况

通常 SignServer 都不会出现用户可直接读出的报错信息。如果出现了崩溃或闪退的情况,可以同时按下键盘上 Ctrl Alt Delete 这三个按键,找到任务管理器,在右上角的内存一栏,那里会出现数字,有些调过设置了的会出现占用的运行内存占可用运行内存的百分比。

很显然,这里的内存就是指电脑 CPU 的可用运行内存不足,这时候通过在任务管理器关闭部分没有在使用的进程就可以解决。

注意:进程不能轻易关闭

通常情况下,Windows 系统会运行一些进程以保证系统的正常运行。这些进程一旦关闭,系统可能会出现无法运行的问题。

在一般情况下,不推荐关闭这些进程。如果需要通过关闭进程来腾出运行内存,可以选择关闭其他应用程序运行的进程。

当然,关闭应用进程跟直接退出应用程序差别不大。对于在看这个界面的你来说,关闭应用程序是更好的选择。

Chronocat Red 协议

',42),j={class:"warning custom-block"},$={class:"custom-block-title"},aa=a("div",{class:"danger custom-block"},[a("p",{class:"custom-block-title"},"危险:支持 Chronocat 为 0.0.54"),a("p",null,"海豹 Red 协议所适配的目标 Chronocat 版本为 0.0.54,低于该版本(主要为 0.0.52)缺少必要接口,使用时会出现报错,不建议使用。")],-1),ta=a("p",null,"在账号添加中,选择「QQ Red 协议」,填写相应信息进行连接。",-1),oa={id:"shamrock",tabindex:"-1"},ea=a("a",{class:"header-anchor",href:"#shamrock","aria-label":'Permalink to "Shamrock "'},"​",-1),sa=a("div",{class:"warning custom-block"},[a("p",{class:"custom-block-title"},"注意:已发现 QQ 客户端针对 Shamrock 增加了检测机制。在新版 QQ 客户端上,Shamrock 已无法使用。以下内容归档于 2024 年 7 月 17 日。")],-1),la=s('

危险:Shamrock 已停止更新

Shamrock 已于 2024 年 4 月 20 日归档,将不再进行更新。

危险:1.1.0 及以上版本的 Shamrock 不适用以下教程

2024 年 4 月 2 日,OpenShamrock 开发组于 Discussion#272 宣布,Shamrock 将会从 1.1.0 版本起弃用 OneBot V11 支持,迁移至新的 Kritor 协议。

这意味着 1.1.0 及之后版本的 Shamrock 将不再支持 OneBot V11,以下教程也不再适用。请仔细分辨,以免造成麻烦。

海豹开发组也正在着手对新的 Kritor 协议进行适配,请耐心等待。

注意:有难度的操作

此方式存在一定难度,你可能需要对 Root,使用命令行程序等有所了解。

Shamrock

Shamrock 是一个基于 LSPosed/Xposed 框架,实现劫持 QQ 以对外暴露 Onebot Api 的软件。你可以在 Android 手机/模拟器中使用 Shamrock 代替已经停止开发的 gocq。

遗憾的是,Shamrock 的使用依赖于 Android 的 root 权限,而手机厂商对 root 管控愈加严格,实体手机获取 root 权限的门槛很高,而模拟器中使用 Shamrock 的效果也不是很可观。因此,这种解决方案适合个人与朋友使用骰子的场景。

此外,如果你想使用 Shamrock 代替 gocq,请确保你有良好的计算机使用能力。

本节主要讲解如何使用模拟器实现 Shamrock,如果你有一台已经 root 的手机,也可以参考本节内容,本教程不涉及说明如何 root 手机,海豹官方也不对 root 手机造成的后果负责,请自行斟酌。

提示:如何 Root 手机

Root 手机可以参阅 小米手机安装面具教程。也可以前往 酷安 寻找更详细的教程。

注意:低配置设备可能无法使用 Shamrock!

在尝试通过模拟器使用 Shamrock 的场景下,由于模拟器对性能要求较高,包括 轻量级服务器、旧电脑、小主机等配置较低的设备可能无法支持使用。

准备模拟器

下面将使用 夜神模拟器 作为示例。

使用时,确保安卓版本在安卓 8 以上,而在安卓 11 以下,最好使用安卓 9。

获取 Root 权限

Magisk

Magisk(面具)是一套开源的 Android 自定义工具,通常用于获取 root 权限。

Root 即 Android 的超级用户权限,如对 QQ 应用进行注入等的危险操作需要 root 权限。

在使用之前,请在模拟器设置中打开 root 选项,软件中获取的一切权限都给予 通过,包括 root 权限

使用 面具安装工具,把它安装到模拟器。

然后启动软件,输入 m 回车,再输入 y 回车,会索取超级用户权限,给予,然后输入 1 回车,再输入 a 回车,输入 1 回车,此时面具就安装到你的模拟器上了。

打开面具模块,此时面具会索取超级用户权限,给予,此时你会发现你的超级用户权限那里是灰的,关闭你的超级用户权限,重新启动你的模拟器。

此时你会发现你的超级用户模块已经激活。在面具的设置里启动 zygisk 模块,随后你需要再次重启模拟器,使得 zygisk 模块生效。

启用 zygisk

安装 LSPosed 模块

提示:使用 xposed/edxposed

理论上,使用更为老旧的 xposed/edxposed 或在手机上运行虚拟机的 virtualXposed 的方案也是可行的,但我们不推荐也未尝试过使用它们。

任何不按教程的行动请自行处理疑难问题,海豹官方不对此提供帮助。

请于 LSPosed Releases 页下载模块。

注意:zygisk

务必选择以 zygisk 结尾的包。

下载完成后,把文件上传到模拟器中。一般情况下,直接把文件拖动到模拟器就可以传文件了,且文件一般在 picture 文件夹中,如果没有请参照你使用的模拟器说明。

在你传完文件之后,在最右侧切换到「模块」页后,你可以看到从本地安装的选项。单击你刚刚传到模拟器里的文件,等待安装完成即可,随后你可以在右下角看到重启按钮,点击等待重启。

安装完成后应该如下所示:

完成 LSPosed 模块安装

安装 Shamrock

请于 Shamrock Releases 下载 Shamrock 的 apk 安装包,直接将 apk 文件拖动到模拟器即可进行安装。

如果模拟器中没有安装 QQ,此时你还需要将 QQ 安装到模拟器中。

安装完成后,首先启动 Shamrock。在通知上,你可以打开 LSPosed 的页面,在模块一栏中启用 Shamrock

启用 Shamrock

选中 Shamrock,进入勾选 QQ,并长按 QQ 选择 强行停止

Shamrock 中勾选 QQ

随后再打开 QQ,你可以看到「加载 Shamrock 库成功」的提示,这代表 Shamrock 已经成功注入了 QQ。

成功注入后,打开 Shamrock 启用 ws 服务,通常情况下无需修改 Shamrock 的任何内容,如有其它需求请阅读 Shamrock 文档

Shamrock 启用 ws

开放模拟器端口供海豹对接

首先下载 adb 工具,解压到电脑中任何可用的位置。

随后找到模拟器供 adb 连接的端口,夜神模拟器路径示例如下:

夜神模拟器 adb 端口

其中:

打开

guestport 值为 5555hostport 即为所需端口,如示例中就是 62028,记住这个端口号。

在你解压的 platform-tools 里打开终端,或者把 platform-tools 加入环境变量后再启用终端。也可以在 platform-tools 里新建一个 .bat 文件,把下面的命令写到文件里面。

在打开的终端中输入命令:

cmd
.\\adb connect 127.0.0.1:端口

如替换为上面示例中的 62828:

cmd
.\\adb connect 127.0.0.1:62028

随后再执行:

cmd
.\\adb forward tcp:5800 tcp:5800

此时你已经成功开启端口了。

执行 adb 命令

连接海豹

在账号添加中,选择「QQ(onebot11正向WS)」,按照下面的格式进行填写:

连接 Shamrock

成功连接后即可使用。

',56),ia={id:"shamrock-lspatch",tabindex:"-1"},ca=a("a",{class:"header-anchor",href:"#shamrock-lspatch","aria-label":'Permalink to "Shamrock LSPatch "'},"​",-1),ra=s('

注意:已发现 QQ 客户端针对 Shamrock 增加了检测机制。在新版 QQ 客户端上,Shamrock 已无法使用。以下内容归档于 2024 年 7 月 17 日。

注意:有难度的操作

此方式存在一定难度,你可能需要对使用命令行程序有所了解。

注意:Andriod 版本要求

由于 LSPatch 要求安卓版本 9.0 以上,因此你的安卓手机版本必须超过安卓 9。

LSPatch

LSPatch 是在无 root 环境下使用 Shamrock 的一种途径,原理是利用 Shizuku 安装经 LSPatch 修补后的 QQ,再使用 Shamrock 劫持 QQ 并对外开放 API。

安装 Shizuku

Shizuku

Shizuku 是一个帮助其他应用直接使用系统 API 的应用,而 Shizuku 本身则需要通过电脑使用 adb 工具赋予权限。

Adb 即 Android 调试桥,是安卓官方提供的帮助在电脑端调试 Android 设备的命令行工具。

首先需要在你的手机安装 Shizuku,安装后需要在电脑中使用 adb 命令为其赋予权限。

',7),na=a("p",null,[a("strong",null,"在 Windows 中使用 cmd 执行 adb 命令:")],-1),pa=a("ol",null,[a("li",null,[t("安装 adb,工具下载见 "),a("a",{href:"#开放模拟器端口供海豹对接"},"上文"),t(";")]),a("li",null,[t("打开 cmd 窗口; "),a("ul",null,[a("li",null,[t("如果你的电脑是 Window 11 操作系统,你可以直接右键 "),a("code",null,"platform-tools"),t(" 文件夹单击 "),a("strong",null,"在此处打开命令行"),t(";")]),a("li",null,"其它版本的打开方式请自行搜索。")])]),a("li",null,"你有多种方式使用 adb:")],-1),da=a("ul",null,[a("li",null,[t("将 adb 添加至系统环境变量,在系统开始一栏中可以直接搜索到该功能,随后将 "),a("strong",null,"解压好的"),t(),a("code",null,"platform-tools"),t(" 路径填入至系统变量中的 "),a("code",null,"path"),t(",例如,adb 在 "),a("code",null,"E:/shamrock achieve/platform-tools"),t(" 文件夹中,那么你只需要将该路径填入 "),a("code",null,"path"),t(" 即可。 "),a("img",{src:z,alt:"adb path"}),a("ul",null,[a("li",null,[t("如果你是旧版本 Window(如 Win 7),系统未提供对应的 GUI,你需要使用 "),a("strong",null,[a("code",null,";")]),t(" 隔开不同的路径。")])])]),a("li",null,[t("也可以选择使用 "),a("code",null,"cd"),t(" 命令切换至 adb 目录,使用此方法请将 adb 放在 C 盘;(由于 Windows 权限问题,使用运行开启的 cmd 实例无法访问 C 盘之外的路径。) "),a("ul",null,[a("li",null,[a("code",null,"win + R"),t(" 键启动「运行」;")]),a("li",null,[t("在运行中输入 "),a("code",null,"cmd"),t(" 并回车;")]),a("li",null,[t("在打开的黑框框中输入命令 "),a("code",null,"cd <替换为对应路径>"),t("。 "),a("img",{src:W,alt:"切换到 adb 文件夹"})])])]),a("li",null,[t("还可以选择在 "),a("code",null,"platform-tools"),t(" 文件夹中新建"),a("code",null,".bat"),t(" 文件。")])],-1),ha=s('

在手机中,你需要开启 USB 调试 ,在手机设置中,选择「更多设置—关于手机」,多次点击软件版本号,即可进入开发者模式。

随后在「更多设置—开发者选项」中打开 USB 调试,使用数据线连接电脑和手机,随后在你的手机中出现指纹调试弹框,给予通过。

在电脑中使用命令:

cmd
adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh

为 Shizuku 赋予 adb 权限

安装 LSPatch

LSPatch

LSPatch 可以在无 root 环境使用 LSPosed 框架。

可以参看 LSPatch 使用教程 了解更多。

  1. 你需要在 Shizuku 中启用 LSPatch,并重启 Shizuku。
  2. 在管理中,单击加号,选择已经下载的 QQ apk 文件,选择本地修补,等待一会,然后就可以安装了。

安装并激活 Shamrock

安装方式 上文 有提及,此处不予重复。

在 LSPatch 中,长按修补后的 QQ 出现模块作用域,允许 Shamrock 然后重启 LSPatch。

激活 Shamrock 模块有三个前提,即 QQ 进程,Shamrock 进程和 LSPatch 进程存活,请自行配置保活策略,例如允许自启动,允许后台存活和关闭后台高耗电等。

对接海豹

首先安装海豹安卓端。

注意:确认海豹版本

请使用版本为 1.4.2 以上的安卓端海豹。

建议使用 反向 ws 设置。在海豹中,账号添加中选择「QQ(onebot11反向WS)」,填入骰子 QQ 号和要开放的 ws 端口(例如 :6544)。

随后在 Shamrock 中的被动 ws 连接地址中写 ws://localhost:6544/ws

',17);function ua(ga,ma,ka,ba,Aa,qa){const l=c("Badge"),i=c("PluginTabsTab"),r=c("PluginTabs");return d(),p("div",null,[F,a("div",X,[a("p",O,[t("注意:海豹已于 "),o(l,{type:"warning",text:"v1.4.5"}),t(" 版本弃用此方案,以下内容归档于 2024 年 5 月 7 日。")])]),Z,o(r,{sharedStateKey:"os"},{default:e(()=>[o(i,{label:"Windows"},{default:e(()=>[G,M,N]),_:1}),o(i,{label:"Linux"},{default:e(()=>[D]),_:1}),o(i,{label:"MacOS"},{default:e(()=>[V,U,H]),_:1})]),_:1}),J,a("div",j,[a("p",$,[t("注意:海豹已于 "),o(l,{type:"warning",text:"v1.4.5"}),t(" 版本弃用此方案,以下内容归档于 2024 年 5 月 7 日。")])]),aa,ta,a("h2",oa,[t("Shamrock "),o(l,{type:"tip",text:"v1.4.2"}),t(),ea]),sa,a("p",null,[t("海豹从 "),o(l,{type:"tip",text:"v1.4.2"}),t(" 开始适配了 Shamrock 的连接。")]),la,a("h2",ia,[t("Shamrock LSPatch "),o(l,{type:"tip",text:"v1.4.2"}),t(),ca]),ra,o(r,null,{default:e(()=>[o(i,{label:"Windows"},{default:e(()=>[na,pa,da]),_:1})]),_:1}),ha])}const va=n(K,[["render",ua]]);export{Sa as __pageData,va as default}; diff --git a/assets/about_archieve.md.BYjlOLqB.lean.js b/assets/about_archieve.md.BYjlOLqB.lean.js new file mode 100644 index 000000000..de023ea57 --- /dev/null +++ b/assets/about_archieve.md.BYjlOLqB.lean.js @@ -0,0 +1 @@ +import{_ as n,D as c,c as p,j as a,a as t,I as o,w as e,a8 as s,o as d}from"./chunks/framework.C7ysi3tu.js";const h="/sealdice-manual-next/assets/platform-qq-qsign-1.DewZ-7A7.png",u="/sealdice-manual-next/assets/platform-qq-qsign-2.Cv0YuS6C.png",g="/sealdice-manual-next/assets/select-account.BQuutaYp.png",m="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVkAAAA8CAIAAABD3l7RAAAACXBIWXMAAAsSAAALEgHS3X78AAAIgUlEQVR42u3df1CT9x0H8E93u6Mj64mXJwHaJeHsSdKBFC+cyg/ZWYq6FqtzYbG3nSzGK+ucU2uBQ3TADvDQabCW648ZItx2NYPa2toeJcPdIYHOI8pR0IS7VpMcC5KHlawL07/cHw88PCYEBw3jR96vv/Lj4XmSJ8/3/Xy/n++T8NiDBw8IACLed7ALAABZAADIAgBAFgAAsgAAkAUAgCwAAGQBACALAABZAADIAgBAFgAAsgAAkAUAMEffjZD36Rwjy5fU7aavvsaHDkvbqpWULqPcp0kRE87VPhYJv1/gHKPGXvrmPmmSwrz7ABbkeG4ZoCeiqCA1nMdzRGTBORs5WDq5BUcRLB9Fn5GSob1q1Atmo9tNmiQcPLCsaJKo2x3OFUZEFnz1NYYGsNwoYsJc/MI8AgAgCwAAWQAAyAIAQBYAALIAAEKZ9TXIVzu72tuvFL3+2seXP/EMDx86sD9gAS/LVtfU+nz/2rL5+V3a/OA1GM6cjY+Lm/YpIZYdtXZ12+0Ou2OQYcSMWKxSKbe/lDfPO8Rq0Df1cTeluRXHNYpHLrZmt+lgZvASTnNZRRsb9HCyzrg/m4jIbS6tah155IYAFmsWBLtgbv6s7a/83aioqAP7f/3MM6o7Tuec12l3DNaeOCXMBZYdtTsGO61dJUWHGUY8P3vDbS5t6pto225zaVVFKU3XSq0GPb8YddQV6uooOA4U2mqTVnDf1VJcaaHNO6aCIHa36fjkhuripw0UgKWUBUSUkpIc3EFIUCiudnY1mBqDl+/r6xfGB2ePrmBjVkZwEAR0FmpPnpqvOOj8sHWE2foq1yZl2ldzbZU3PndpFPKAE/6nfZSsm2y62Qd32/RNhs7MQ1kzpsxbFq80t0IrC7GhT82uTK0cByQs8SwIZWNWBte8hUMMLh34lh9MGARZmRncuMDucBgbGrk4MDacLyk+vFC7zOlhac0L2VMPyJ+Ukm3ITSR7RMqUT3QxnEPDJF27gW/58vVqqcXW7dbKZTgiYaH8X2uHXpZtb7+ikMuUiaut1i6/fzx4Ga7B8/R7Ci59dLn25CmGYbIyM/gRhN0xGP7Xl7Vjq5RtvWgVnMkFLXbmt+ZxzdQp+KSf1rzAn/adHpZi4xWzWAMsEwM3B0e8o6GevX3HffuOe6Fe21z6BU6X+ze/PcTdrqisSkhI6Ovr1+kLhcvwVQPhg3/683sqldIzPBwfF0dE12/0BncN7A4Hf5thxJc+utxp7Qp+DQ7HoEqZGO69IdMefye+rlCnbyIKWRRUxDPUdr2DMie7Bq5/jBDFzjz0oJQXUQ4ASlD84FpPr1fCJP0wcbqYYDf9KGMpZYFCLit6/TWRKJq7e8HcrExcfe/evZyc57i27WXZU6fPBPzV1c4u35jvlb36d88ZiSgnZ1N9/dsqVaKEYUJtiGVHP7z0MRHt2L6NEYuFMWG3O8I/pzBR3jtqOigjriiovz5Z9he8/fS1kjaLqc6aPVE7nJxQCKGjp5+kuTuz0BCARKLodWmp13p66SYJ4+BaT6/fP76AQRC2MULU41ErYlb02GyTDXXw8agouXyqe33rlv39ix9of6bhE0TCMDk5z9XXvz3tSEFIpUzc/lKeseE8y44KugxM2PdFx0WLV5q7TzsxaM8+uDuF+i+bg/pscs2J8lzJF006faFOX2hLO7pVOsNarbYvSJK6HlOGIIyDES87cHNw8QTBtx0jCKcP0tTq9vYrfv+4SBTdY7OpVEq+2XtZ9p0/Gn+68ycBQ4aNWRk9Ntu754zCOQhGLBa2ea7ZGxsaAwoESuXqedkfDw3j5U9Kqc/jmqYoKNecMGr41m4wkSQ1RF3B5fEQxT8lCxxl9HqcRMKAkMRjFiESewf+8fHFEARz7Bco5LI33zBs2fz8Q2dvVeK9+/ddLpeXZe/eHXk2ZQ0fBNU1tRvWr5t21uCVvXrfmM9w5iz/SGZmevBiwTOI89EvICK66wm4KCK4iTrNZTr92Y6pcsD1PmLU6bJQWeClZPXDAwTFU3E0cuNzvlbo+rttJPQaYPnGwW2ne5EEQXjGCFwtUMIwsbFS819ajMbzqc+mcF2AW7fsx373e4VCHuoqQ5Eoet++XzmdLj4OVEplQFGQYQJ7ClmZGfNQOKTsnbmSEUv95KCgo66qdSQ5TxvYRBXpayVTYwerwfTQHEFgcAwNkzRwymBiwuKtFifRxIRF6DXAMo6DvB/nLJIgmMsYYWhoaEXMCr7/7/eP+8Z8aWo1Ef3i5y9X19TGEG3Le5F7trXNolSuPnRgf8BFR/y1Rtx0Q9mRkuqa2gvm5l3afIYR6/f8sqjkCL8wVz4URoN+T8G87Ay55oQx3qCv0rVx95OnCoeuluLKG+ryaq2cqxdQceXEYpLNR018XggX47LAw063JZn2+FEqrarQW4iIpLkVuOgQFtrsfvvU7x8/+YfTKpVylzb/grnZMzycpla/f/GDsiMlEobhL0YO9U0Ezv/yfQTugqLgiwh2bN82h+mDTSZ6L5/ivo+PG5aP4X/Ty830N90C9QtcLteYz8fXAoiox2ZTKOTR34uuqKwiojffMIz/Z7y6ptZudwjnHWeLYcQlxYc7rV2jo//kBggMI87MSJ+3byIARLpZjxHiYmP5yULfmI+ItNr8smPlG9av4071IlF03emThjNny46Vc/2FgDUEf3MhFP5CQwBYXGOEJQpjBMAY4ZHwWyYAgCwAAGQBACALAABZAAARmwWrVpJzDJ81LCvOMVq1ElkwS+kyahnAwQPLSssAhffrbBFxfYFzjBp76Zv7pEnCP1yG5XA8twzQE1FUkBrO4zkisoDbfZYvqdsd5n9TDbAgY950GeU+HeYTW6RkAQCgXgAAyAIAQBYAALIAAJAFAIAsAABkAQAgCwDg2/kvh+Bdy6b8rFsAAAAASUVORK5CYII=",k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAT0AAAByCAIAAACugJHHAAAACXBIWXMAAAsSAAALEgHS3X78AAAK2ElEQVR42u3da1BTZx4G8D9VTGpmyE4NkExKsl9akw7S24xSiWw1hdLL7MWFDVO3dLPZbnoRFau4VltCBa1CCWxqK9PBs9LpTKms253thYJ0W4jsdoasFtgmdqYzTRgaJBlLkAQOiNkPB8IhAUVLZFOe36dwznveIbx58t5OQlwwGCQAiCm34E8AgNwCAHILAMgtAHILAMgtACC3AMgtACC3AIDcAiC3AIDcAgByC4DcAkDMWP4jeA4TE1cGh/yXhgMTE1fQorAUxMX6529Zdvx733AwGBQniOLjl6NFAf1tDPAHRoPBoCz5NrQlYH4bM0bZMXGCCA0JyG0sGRkdw/AYkFsAQG4BALkFAOQWALkFAOQWACItwR2U3oa9Zd89VlukmXGkaWDyhzT9XKdS9XWFmZH1uRqLS1tkvKvaqo1MN69AUpbpUK6Se2y16Jke7mFi9v4juhS8BOGm5tbj9ZYfPOzzDYWOpKWlFm0vNNdYZFJpvi6PO9hu7ei02Yq2FxKR3x+oqKxyunrnqlMsTtj34p5EiSR6T7ituqxpgNJmxriJskx1ucrJXBnNNBnCturpU23VRsZgofDo9ja82eIhkvGOuC/MkUmrRc/0TL4vuBqLS8uKCdGFKOT2stU6ce6cYOvWWc8KhULj0wa1WkVE5hpLZIF3G05+9nn7lify/f6ASLSSO/h7/VMbNOsjC9vtjhNvvxPNJ3vGbKjvCu8tv7ANSHJKpvpDTaG+08h82OjU5CpdjR90U5p+8lTmjgKbod5mpczp3picDcdCHXWoxu8GSCZPmaWf/7AnMXv/ZLesyH0++6zp3BdOXYoSL0NYqNyOnTw5cfZs/KOP3qJUsq+/Hrx0SbBtW5wo/I7CwMiIqbRMq90UWYO5xuJ0ug688nJU+8/rC21SlulZOlraMn1YkXukLpdfTimT0IXZTrnc7hn9KpGr8Wgz5eizbEzLzGKpj2sih9Nf2AYk9z8wnWelrpzR4RUIC5rbFXl5wQcfHDWbg5curdDplms011Uv1/1WV1VEnjrOnDjOnJhrnBy1Z5pRVJfBhe3qs99/n/NSsiyyD2w71eJJynpeM3OEvKZAp3DbeMWc/zrrIS9jMDJhk1uX20NSmWK6z8f8FqIyTr7i8cStWrVMrb7idl9vvdyEdlaLN06eB+v7TQOU9lgG/5izYZ+p2Us0PWaeKpmqP5QR9kbgdHuJJDkl5TrF5OTZtJdMh3Kpr5/IyxhIX1dbRJjfQnRyG/T7xz/+OP6RR25RKtljxya++mrZXXddvS52lDWVljldvV1dPZ80n+afejj7oXxdnki00lSyf67L1WrVqwcPLOYfw9VYzPTQmoKimWOLqQHtGbPBWNzHJe2MmelJ09dGLi9n7uAfTNE9m2UrbTllzd1MRCTJKZla1uLmt83vt+lmW6MGuLHcxolEwhdemFx/mnpwdQKh4E97dnHryXK5/K+n/hZaHG63dugNxvn/WlzOb3ZoS1s8awqYHRlzjbQ3Z3/EJY2q67vWFDDzmTooZDIidx+3hC6VKXhvB3IpUb/bRaTA6xAWbpw8T0KhULIq/GPrKtWdQqHQ6/Fyud2gWc+NjbmtIK1206xD5cXsaa8RWr4ztm4iqtcb6kOHPIxR33m1y5VyKV5t8P+S20BgZNDnizyeKJEkJyd92dXN7RKF/OfsuUGfT6W6MwZCa7Xomf6pmerU3DXpXiVlZNZlhF0+dd9Fb8PesqZkXlUut5sk9z+QQor70pgZ20jOvv6wHhgg6rlNlEhePXjAbncMDvoa3mvcvWtnaIeWk5OdVftW3d1pa/jR7evr8/mGivfsm6vauVatouaMea6eVvPLnA/Lmt5sTD80eUsG0z1zaWoWKbrHUpuYerM1o0gzXblOMTXMZixtmsJMIrJaTM3exOxnMLmFRehvv+zqXr36DiKqqKwKi65arUpftzYs0vm6vLkmrna7o/atusghd1Q5Gz7qIqLuGYPeqVsaU3SH9tPeMpOB256V5JTU6q7ZPWoKGbLoGaOe2wjivSModeWM3KKf2iKaeUMlwHX4Qd/n6PF6X6uqeerJLQqFoqKySvwTceg+R7lc3mmz/fEPhorKKiKK7I0jtVs7Wls/nU9Jvm++dStuT4pfvgxtCcjtvEJbfvDwrzf/ihvWerzeo0eP6X9XwPyl3unq5d9pzN2DEbaja7c7aixvsCwbOiIQCLYXPhc2H0ZuARYyt2GfH5g1zDcBcgvIbexBbmEJwufmAZBbAEBuAQC5BUBuF1sQDQjIbcyJI7pVuGJ8/DIaEpDbWCIQrPAN+dGQsKTg/1YDILeLYWLiim/IPzQcmJi4ghYF5BYAML8FAOQWALkFAOQWAJBbAEBuAZBbAEBuAQC5BUBuAQC5BQDkFgC5BQDkFgCQWwDkFgCQWwBAbgGQWwBAbgEg2n4MX1w6Nn55eHjEP8KOjY2jRWEpiPnvcxwbv+y9OBRHhO9PBvS3MWN4eCSOSJZ8G9oSML+NGf4RVpwgQkMCchtT4+SxcQyPAbkFAOQWAJBbAEBuAZBbAEBuASC6ubXbHc88t63d2oE/K0BULeTOp1qtWr36jtbWT++79x6RaCX/lN8fqKiscrp6Q0fE4oSND/7s/b//I6wSpSJl966dYZcDAN+N35/cbu04zpyYT0mxOGHfi3sSJRLuqtbWT+dKZru1o9NmK9peOP9f45tv3Yrbk+KXL0NbAvrbeQnrG9utHX19ffm6vLDB84m33wn92GmzqVSrQ5eYaywyqTR0SV9fn0wqRasARCu3GzTrVao7971Ukr5urbu/XyaVpqev7bTZTKVlu3ftDIwEyg8eTl+3Nl+X9+rBA9wlHq/3woWBnOwsfj1yuTw0lnY4zmu1m6LyRF2NxaUtHqLE7P1HdClE1FZtZLqJKFVfV5i5IAUAbpYftC7V2vpPItJqN3I//lSpLNpeqNVu2rqt6KWXXzE+bdBqN7acbuWXT05OUqtVoaD6Bn2hs4GRwCjLSlZF5ZM9badaPNx7R/OxBheRq/GDbu5MD1N9ZkEKAMRAf2u3Oz77vH3LE/ncxPX7wcEdO3f7fENiccKRw+Urb11ZUVmVLE0+f/7rnv9+VbS9kCvPsqzeYCSih7Mf0mo38oPqcHwtFAgUCgVaBSBauVWrVcfe+DO398OyLBfF0EzVbncM+ny63+QW/HZLRWXV6dbPrFYry7JcGXONhSs2Ojp6pNLMr3brtqJoLClnbs76oJsb5T6jUxBR7uNrWiZHuTsyFqQAwE3zQ9eTubVirnflb/MQUVpaamhl2G53NLzXOMqy99ydxuWWvxzF927DSYfj/Pxzi/VkQH87X35/4OLFi0xdbeiIqWT/1Tvn3bt2VlRWXbNmd3+/+Cdi7N8CLHxuRaKVv/j545Fhrqis0mo3bdCsv2YNo6OsqbQssotGkwBEcX5LRB6v97Wqmqee3BJaIp7/oFcoFMzaRYemvgAQldzegE+aT3/SfJqIZr2/wuP1Op2u9HVr0TAAUcxt5ILwceYE//5HpSKFfzZsPZljtztqLG9wi9JicUJoQxgAZhXd70++3sXhG4D1ZEBuYw9yC0sQPjcPgNwCAHILAMgtAHK72IJoQEBuY04c0YoV8ePjl9GQgNzGEtGtAt+QHw0JSwr+bzUAcrtI0R0eHvGPsGNj42hRQG4BAPNbAEBuAZBbAEBuAQC5BQDO/wApyt1rmZ2jAwAAAABJRU5ErkJggg==",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWkAAAA/CAIAAACtua5HAAAACXBIWXMAAAsSAAALEgHS3X78AAAOvUlEQVR42u2de1QTVx7Hf4g1ESyhZlCsS8I5uyXRYyM+1geCFuKjDx9trRUfu4DU4lGRqlW3Wq1ipSIKpaiLbdF6tr4FV9E99RFZBYK2Iko9ZkKPZwHLAjJYBiQmPur+cbPXcSY8RIKgv89fw2RmYO69873f3+93h7g8ePAAEARBHpNO2AQIgqB2IAiC2oEgCGoHgiCoHQiCIKgdCIKgdiAIgtqBIAhqB4IgqB0IgiCoHQiCoHYgCILagSAIageCIKgdCIIgqB0IgqB2IAiC2oEgCGoHgiCoHQiCIKgdCIKgdiAI0sZ0xiZoA+7du19767bltrWTS6fbVluH+/s5q+vf8no8b732bXD5s//8d3bt5i5XvuSB2tFOheNGNe/ayYV5yUMu79IRb8H91vPYcX/07fXM3+Pdu/dqauuLSyt8Vd6oHe0Ovs7SqVOnnl6e2BRIe+OFFzp7KRUAUP1b7eO6D8x3OB2r1ebp0RXbAWm3eHq436q3Pu5ZqB1Ox8Wlk1wmw3ZA2rP7uHfvPmpHu6MjJkcRBLUDQRCn4JRcaVJyCl/DL/l4kbu7W+M7hVRx3Lq4+GFDh4ROndK6f099vSVhY6LCU7EwJrqZp3Bcda4xj2XNrLmIYZSMUqnVaiZNHI8jBmnB4Kfs3XegvKKi+ePw+dIOk4k1m3+x2WzzFywkexQKj+DXRhUWXgEAulMmk8VEz+3TR0sf7y1bUj0Vignj32q8Y8h1AECt8okI/2tScgrP14oOU6t8hJ2XefRYReWNqe+/18xbYM1F8Rs2CXWE46pZc1FOrnHZksUMo3RGT5hMbHLKVputiQBHofBYsXyZF8OYTOzOf+xavCjGi2FIA6Zs3jpp4njapFQ0S0qvN3LBWRFhQYEBrXsvk/vCh4Mh4ypsu/BwT/gA+K4A0q8+PGyYDywfCS82ULauuwNxZwHA8TE/lUF/b+jiav8xuwRWnYbUCaBhGvvDyutgdRYUVbfane7dd+D4iVPS/XScC0c7AFy6XLh4UYzDvtbp+i2MiXb4kUwmGzZ0yJmz2cJeGzjAv8nOJdfsGNpRX2/Zt//ga6OChN6hiuM2JSYv/XihcFhLfQFpBVGjE8aNHU0vSLazc4wGw2mHo59IOxUOk4n995lsm822YWNScx4ekXCIzEh8wiYnyUefPtrUrV813y5dLvzZarWuXBUrHGfCe9Tp+n34QaRcLqctTzoi7C8zyI/k+q1+I35KmNwXurhC6KsQ+ioAgJkDAOjWBeYPhflDAQDu3IevL0BZHdyyQdxZOCcZ/8N8YMFQAIBz12HiLvBTwvKRkHcdRvnCV+fFx8eGPNwmIjK5L0zQ2KVndTCcKYZtFyBqMIzybeWbDZ06JXTqlCqO27Ildd68OUTHhfPB4SNHo+fPJaMxKTnlrTff8GIYL4bZlLBeqPVJySm9vL3pMCAX1OtDcnON9PTwsJl0BhWN3uwc44X8/IUx0cIuJg9Ch/EdX3+bBgB6ffD6+I2kXbJzjNt37Bw3djTZNhhOi+wcGcE1PL8hfp2o6engbtyMiOcWQXtVcdy2b9JsNpvI5gh/r1brJzxdKByBIwJInMKazWnbdxL5SNv+3bKli9vAE14suFTD8/PmzXEY3126XBg1O1Jo3Bz6jra3sjP7Q60NVmfB8pGQaYb0q/aH9ouzED7gkSd/mA90k8EXoxv0HS0gSA1ZEfbtbRP//4T/X8XK65x11zU8v3TZCul+tcqHTmm9vL2DAgP27jtw7vyPUR9+UMPztDf5Gn7mjGkt+L3bd+zcvmMn2Y6IjBJNITpdv46hHSYTW1l5g7joyMjw73ft+bWsbPee/dOnvZ+bm5edYyTTe8LGRCofxKF59+yxMCZapNzkI43mleaYLqFzIa6eJlDUatXCmOjsHOOGjUnUvxCrqVb5rFu7RihkRCAokbPC0rbvZM3myFnhgSMCcnKNxJiw5iKtxs+pT2AVx6VnHJr87jsiPbWbI7ZILpOpVCphECccNCRqAwCr1SoyXA35r9aKVlQKuFwBM/tD3FlYFAB1NhjuA+lX4cQ1qL0D4f5w0/IwamjSdwA8jETUngAAX4y2hzPSs+ZkOvAjq063hWJ6KhQklpT6DjI+WdZcUnqdjjrLbYvVauWqbwKAwZCl1Wpo7ElHMhGF+QsWimJwgru72+rPPhVF9IMHDWr1CLQttKNPH+36uLVkmzREesZhYpj9/fuvi4svKysLnTqF3hsxBTOmhwYFBlRxnK+v78pVscQdkEfCYSh+/MQpEmFSRXfYjqRLaOY1KDBAq/VbFxdPzpXJZA5jKNZsptsMozx85CjRCxFm52vH97v28HytwXB64AB/0aAhsuKpUAiDOKHvoEMWANo4Zkm/as9oxIbAogAoKIdPRgLAw2iF2AESWQA013f8VAY93O0xy8Gr8F5f6N8T1gQ/ku+IDYEgtYPrUBti7ztOLDFPjhfDSIcfeSLoGFv92adVHHfp0uUxo/UAYLltAYAL+flBgQHlFRWFhVeOnzhFwkwAeHvShIKCSyRmGTNGf/KkwZiXt3vPfnrlwYMGiaYNQmHhFWpDpPF+e8+VAgCJU9Qqn00J68m492KYdWvXJGxM/GjREirPXgzzZWICbf3wsJlyuYzMimqVz+avkhxmqqX5DqFtE866wiYTNTRJfzSeSeK46n8eziQdySiVQllhWbNTay579x3ga3ji14x5ecf+9YNwTjMYsmQyebtNv5MIhaYkabqUkjrBvkFyGbEh8KfuTaQwZZ2hiytUPRqB1dlgoxHOXW/QX7SN73D4DEtzamTq4vna3Xv263T9SIRiNv9iMrFkEBLXQI7/7bcauVzu5tbVYQWA5DukQ7cD+w4aaJDGSs84JM02Dxs6ZOmyFbRYIO0Dhx81zqiRQazZTCsONEW0es3nNAs9KyLMYVvTELEhedZq/CZNHB+/YRPHVQssCeO8LsnOMZ47/+OK5ctYtggAAoYP/0Pv3itXxZLwrb7eYrXaRutfy83NExkxUcxCNto4ZhGJCMkyiBKZomOIWaC5CWlZBAB0PcHMwZVKeK8vRA8Vp0LoNf2UsDoYer3o2Hc0FOk8OY3P7eRRNxiyrFYb9YAmEyuXyzUavx9OnCRWsbLyBk29nTmbPW7saJXKp6KycvOWVKHFFqoGicqFdUah73AY6bTffEdyylZaZGlI/8LDZu7dd4CGJ6KiFM/XSnNOjdcRe/fuVVxczLJFXoEMCSy1Wo00ihE5dofKzSiVQo0gMpG2fSdrLhLu1GhecZ5w7Nq9NyZ6rhfDsFAkLMEkJafMmbsgJnpueNjM7BwjvYXikhJftZoEIHp9SFBgAI1ZiDGmSei2qbM0FCAIqyHUgLzsAZ+cgnPXIXUC3KiHVachajAM6AVzMu0bxIxQ0Zl+8JFUiGPX9rMDs9PkWc4wIEJjSyoy9KPLhT/LZbI3Xx/3923f5F8syMw85t9f58UwJL1NB/yXiQnCCFSKXC4XpsylqZYOk+8QVRnJwyCsrdCqFYk7IiKj1Cqf2R9EHDiYQY2DNAnaeL5DLu+q1WpI6FhaWmq12fT64Ia6UzrrCoVpxIjhIpkgiQ/JHqf4DpKBXxu7yqHtIsX/bd+kRc2OFAril8mb1WrV62PHWG02MnHRMLu0tFQul7t1dYOnhIZ5JN2QXSKOXCbusm97yCDRCH5KGOULZ4obq56AoxJM6gQoKIes/zxSVWkkgeIkhGNJWiKl0+T0ae+TGU6tVr315hvEWQiLiaIwXOQ7aG6L8WKkvrKhszpAvkNU69Zq/dIzDl0suBQUGEBWf+j1IURHggIDSEObTOzj+kNhvgMA9PrgTYnJQv2WOgvpkj7SB4yyuyBC0Wg1fkL5YBixEwkcEeCMRGl2jpFlzaK6j1SdSYaI+g6SM0pKTiHpG5HocNU3ZXKZ81zrk/gOsp/ENWYOph+0S0Ctze4aens4DnakDsJPCR6yp+87pM88LZHabHdWr/m8hufJxJCdY6zheTLDXcjPB4AanrfcttCeEmqQ1EFYbltoffcZ8R10NOv1IVu2pBKv4cUwarWKmIKLBZcAYOAAf2f8Uof6LZrSSe3WYR9QpYicFb5k2XK6h6RLHz0gzBk9QZW0BaJDvFVh4ZWIyCgae9fXWwyG03p9yFPMmzbiO8ii0ls2iDoCRdX2pajnf32oET3c4UZ9s3xHdzfo4gqcBZ46DQXXMlkXGkHT6jsAfLRoCQkqDYaspctWkNWiTfoOrooDAMaLebo365Q6y8AB/gbD6cyjx8ggJlO9ycSmZxyKmh3Z4mmwiuNKSkppLlqEQ/0GwRIS6ZTOskVWq1XUBwyjTIiPS9v+nTR4eXvShHb1SsuBgxlnzmbrdP12pG0ThngkAfznwQPlcrlDpaYrqRUKD9HSOOf5DiIWWRFw5z6cvGYvsggTH59lAQAcmWFfgV5eB4nGBn3H5UoY0OthfbekBib3tZeBG4pZoNG1IU+OKH1Gqo2kkYXrvsjSAUbZfeWqWLJAgWRD+uteTU7ZWlxc4tB3+Pv3z83No8WHoKARNEvaSPK7obUhrYLLgwcPnJouagjhLTX5KgddeJuecYhUYUjMQt5nmfzuOxfy88kLSJlHjx0/cYocTxeACduO9miTWdicXGN19U0SsDCMckTA8JYtRb9WXN7R/3tdxS2YdgCeN0QLQ55tWjBKW9l3tPjFG09PRZO50rKysmFDh3BVHHmJQ6fr5+buRgyeTtePeMLQqVP0+uB1cfEkQSutnDU/NAgcEQAIgrSN70Ck/Lfi5sve3dF3oO94xnwH/u8fp/P7g9+t1jvYDki75e7de507uz7uWagdTqdrVxlfV4/tgLRbamrru7k/9lsOqB1OR9HN7f7vDyqqaqw2/MelSLtzHFXV/N2791rw9U74/SxOp3Nn1x5KBV9nqb5Z5+JS30G/Fw7gufteuGvFz8v3wr3s3ZICIuZKEQRpCRizIAiC2oEgCGoHgiCoHQiCoHYgCIKgdiAIgtqBIAhqB4IgqB0IgqB2IAiCoHYgCILagSBIW/I/E7gJk6HthWUAAAAASUVORK5CYII=",A="/sealdice-manual-next/assets/qsign-config.C7X6Y-jY.png",q="/sealdice-manual-next/assets/gocq-folder.BqYrXyGR.png",f="/sealdice-manual-next/assets/gocq-warn1.DnQT2Y8j.png",S="/sealdice-manual-next/assets/gocq-warn2.Be6mD1Aa.png",v="/sealdice-manual-next/assets/gocq-step1.pboT6Yxb.png",C="/sealdice-manual-next/assets/gocq-step2.-UlYTUsA.png",Q="/sealdice-manual-next/assets/gocq-success.DvcHSdvM.png",B="/sealdice-manual-next/assets/onebot11.hPU3-IW2.png",P="/sealdice-manual-next/assets/onebot11-success.B8KhG_3g.png",_="/sealdice-manual-next/assets/platform-qq-shamrock-1.DJ7tSnjn.png",x="/sealdice-manual-next/assets/platform-qq-shamrock-2.BojvCHzi.png",w="/sealdice-manual-next/assets/platform-qq-shamrock-3.BlEqBGNz.png",L="/sealdice-manual-next/assets/platform-qq-shamrock-4.FmFC-9a8.png",I="/sealdice-manual-next/assets/platform-qq-shamrock-5.BMm24yfS.png",E="/sealdice-manual-next/assets/platform-qq-shamrock-6.Bf1yZXSr.png",R="/sealdice-manual-next/assets/platform-qq-shamrock-7.DfAmZJ9X.png",T="/sealdice-manual-next/assets/platform-qq-shamrock-8.BJqlFaWq.png",y="/sealdice-manual-next/assets/platform-qq-shamrock-9.CRgE7lL1.png",z="/sealdice-manual-next/assets/image-016.McE9_BqK.png",W="/sealdice-manual-next/assets/image-017.h2f0ACoz.png",Y="/sealdice-manual-next/assets/image-018.DTqSvbQG.png",Sa=JSON.parse('{"title":"归档","description":"","frontmatter":{"lang":"zh-cn","title":"归档"},"headers":[],"relativePath":"about/archieve.md","filePath":"about/archieve.md","lastUpdated":1721204034000}'),K={name:"about/archieve.md"},F=s("",3),X={class:"warning custom-block"},O={class:"custom-block-title"},Z=s("",17),G=a("p",null,[t("可以尝试使用 "),a("a",{href:"https://github.com/rhwong/unidbg-fetch-qsign-onekey",target:"_blank",rel:"noreferrer"},"一键 qsign"),t("。")],-1),M=a("p",null,"引用自说明:",-1),N=a("blockquote",null,[a("p",null,[t("点开以后删掉文件夹里的 "),a("code",null,"go-cqhttp.bat"),t(" 及 "),a("code",null,"go-cqhttp_windows_386.exe"),t(",然后运行里面的 "),a("code",null,"Start_Qsign.bat"),t(" 启动 qsign,按照提示依次键入 "),a("code",null,"txlib_version"),t(" 参数、设定 "),a("code",null,"host"),t("、"),a("code",null,"port"),t("、"),a("code",null,"key"),t("的值。(如果不知道这些是干什么的,请直接依次按下 Enter)")])],-1),D=a("p",null,[t("参阅 qsign 提供的完整教程,看 "),a("a",{href:"https://github.com/fuqiuluo/unidbg-fetch-qsign/wiki/%E9%83%A8%E7%BD%B2%E5%9C%A8Linux",target:"_blank",rel:"noreferrer"},"这里"),t("。")],-1),V=a("p",null,[t("可以尝试使用 "),a("a",{href:"https://github.com/Verplitic/AutoQSignForMac",target:"_blank",rel:"noreferrer"},"AutoQSignForMac"),t("。")],-1),U=a("p",null,[t("在终端运行 "),a("code",null,"start.sh"),t(" 即可配置和启动签名服务器。如果提示 "),a("code",null,"zsh: access denied"),t(",需要先运行 "),a("code",null,"chmod -x start.sh"),t(" 来给予权限。")],-1),H=a("p",null,"初次启动会选择 txlib 版本,及运行 QSign 的主机、端口和 API Key。通常情况下,可以回车跳过而使用默认配置。",-1),J=s("",42),j={class:"warning custom-block"},$={class:"custom-block-title"},aa=a("div",{class:"danger custom-block"},[a("p",{class:"custom-block-title"},"危险:支持 Chronocat 为 0.0.54"),a("p",null,"海豹 Red 协议所适配的目标 Chronocat 版本为 0.0.54,低于该版本(主要为 0.0.52)缺少必要接口,使用时会出现报错,不建议使用。")],-1),ta=a("p",null,"在账号添加中,选择「QQ Red 协议」,填写相应信息进行连接。",-1),oa={id:"shamrock",tabindex:"-1"},ea=a("a",{class:"header-anchor",href:"#shamrock","aria-label":'Permalink to "Shamrock "'},"​",-1),sa=a("div",{class:"warning custom-block"},[a("p",{class:"custom-block-title"},"注意:已发现 QQ 客户端针对 Shamrock 增加了检测机制。在新版 QQ 客户端上,Shamrock 已无法使用。以下内容归档于 2024 年 7 月 17 日。")],-1),la=s("",56),ia={id:"shamrock-lspatch",tabindex:"-1"},ca=a("a",{class:"header-anchor",href:"#shamrock-lspatch","aria-label":'Permalink to "Shamrock LSPatch "'},"​",-1),ra=s("",7),na=a("p",null,[a("strong",null,"在 Windows 中使用 cmd 执行 adb 命令:")],-1),pa=a("ol",null,[a("li",null,[t("安装 adb,工具下载见 "),a("a",{href:"#开放模拟器端口供海豹对接"},"上文"),t(";")]),a("li",null,[t("打开 cmd 窗口; "),a("ul",null,[a("li",null,[t("如果你的电脑是 Window 11 操作系统,你可以直接右键 "),a("code",null,"platform-tools"),t(" 文件夹单击 "),a("strong",null,"在此处打开命令行"),t(";")]),a("li",null,"其它版本的打开方式请自行搜索。")])]),a("li",null,"你有多种方式使用 adb:")],-1),da=a("ul",null,[a("li",null,[t("将 adb 添加至系统环境变量,在系统开始一栏中可以直接搜索到该功能,随后将 "),a("strong",null,"解压好的"),t(),a("code",null,"platform-tools"),t(" 路径填入至系统变量中的 "),a("code",null,"path"),t(",例如,adb 在 "),a("code",null,"E:/shamrock achieve/platform-tools"),t(" 文件夹中,那么你只需要将该路径填入 "),a("code",null,"path"),t(" 即可。 "),a("img",{src:z,alt:"adb path"}),a("ul",null,[a("li",null,[t("如果你是旧版本 Window(如 Win 7),系统未提供对应的 GUI,你需要使用 "),a("strong",null,[a("code",null,";")]),t(" 隔开不同的路径。")])])]),a("li",null,[t("也可以选择使用 "),a("code",null,"cd"),t(" 命令切换至 adb 目录,使用此方法请将 adb 放在 C 盘;(由于 Windows 权限问题,使用运行开启的 cmd 实例无法访问 C 盘之外的路径。) "),a("ul",null,[a("li",null,[a("code",null,"win + R"),t(" 键启动「运行」;")]),a("li",null,[t("在运行中输入 "),a("code",null,"cmd"),t(" 并回车;")]),a("li",null,[t("在打开的黑框框中输入命令 "),a("code",null,"cd <替换为对应路径>"),t("。 "),a("img",{src:W,alt:"切换到 adb 文件夹"})])])]),a("li",null,[t("还可以选择在 "),a("code",null,"platform-tools"),t(" 文件夹中新建"),a("code",null,".bat"),t(" 文件。")])],-1),ha=s("",17);function ua(ga,ma,ka,ba,Aa,qa){const l=c("Badge"),i=c("PluginTabsTab"),r=c("PluginTabs");return d(),p("div",null,[F,a("div",X,[a("p",O,[t("注意:海豹已于 "),o(l,{type:"warning",text:"v1.4.5"}),t(" 版本弃用此方案,以下内容归档于 2024 年 5 月 7 日。")])]),Z,o(r,{sharedStateKey:"os"},{default:e(()=>[o(i,{label:"Windows"},{default:e(()=>[G,M,N]),_:1}),o(i,{label:"Linux"},{default:e(()=>[D]),_:1}),o(i,{label:"MacOS"},{default:e(()=>[V,U,H]),_:1})]),_:1}),J,a("div",j,[a("p",$,[t("注意:海豹已于 "),o(l,{type:"warning",text:"v1.4.5"}),t(" 版本弃用此方案,以下内容归档于 2024 年 5 月 7 日。")])]),aa,ta,a("h2",oa,[t("Shamrock "),o(l,{type:"tip",text:"v1.4.2"}),t(),ea]),sa,a("p",null,[t("海豹从 "),o(l,{type:"tip",text:"v1.4.2"}),t(" 开始适配了 Shamrock 的连接。")]),la,a("h2",ia,[t("Shamrock LSPatch "),o(l,{type:"tip",text:"v1.4.2"}),t(),ca]),ra,o(r,null,{default:e(()=>[o(i,{label:"Windows"},{default:e(()=>[na,pa,da]),_:1})]),_:1}),ha])}const va=n(K,[["render",ua]]);export{Sa as __pageData,va as default}; diff --git a/assets/about_develop.md.BfG0AuIQ.js b/assets/about_develop.md.BfG0AuIQ.js new file mode 100644 index 000000000..ec16f9f0a --- /dev/null +++ b/assets/about_develop.md.BfG0AuIQ.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as l}from"./chunks/framework.C7ysi3tu.js";const r="/sealdice-manual-next/assets/develop-fork-1.BZOKPa8J.png",s="/sealdice-manual-next/assets/develop-fork-2.X58VX0eS.png",o="/sealdice-manual-next/assets/develop-new-branch-1.BqKBsG0R.png",i="/sealdice-manual-next/assets/develop-new-branch-2.zhLwB2Rj.png",c="/sealdice-manual-next/assets/develop-new-branch-3.C0fRBlWq.png",p="/sealdice-manual-next/assets/develop-new-branch-4.ijy4i49c.png",n="/sealdice-manual-next/assets/develop-new-branch-5.CeOz2UDa.png",d="/sealdice-manual-next/assets/develop-new-branch-6.BBHexEzw.png",u="/sealdice-manual-next/assets/develop-new-branch-7.C2-9Q-ZS.png",h="/sealdice-manual-next/assets/develop-pr-1.BVBX_RTc.png",m="/sealdice-manual-next/assets/develop-pr-2.C-dKwDzw.png",b="/sealdice-manual-next/assets/develop-open-pr-1.DAADwrkm.png",f="/sealdice-manual-next/assets/develop-sync-fork.BZF0daO6.png",C=JSON.parse('{"title":"参与项目","description":"","frontmatter":{"lang":"zh-cn","title":"参与项目"},"headers":[],"relativePath":"about/develop.md","filePath":"about/develop.md","lastUpdated":1718381802000}'),_={name:"about/develop.md"},k=l('

参与项目

无论是普通用户还是开发者,我们都非常欢迎你参与海豹的开发,一起努力让海豹变得更好。

海豹的所有源代码都托管在 海豹开源组织 GitHub 下,每个模块都存放在对应的仓库中,可阅读对应仓库的 Readme 获取更多信息。

几个比较重要的仓库:

  • 核心:海豹的 Go 后端代码仓库,这个仓库也作为海豹的主仓库,Bug 可反馈在该仓库的 issue 中;
  • UI:海豹的前端代码,基于 Vue3 + ElementPlus 开发;
  • 手册(新):海豹新版官方手册(即当前的手册)的源码,如对手册有什么改进内容可以在该项目提交 pr;
  • 构建:海豹的自动构建仓库,用于自动化发布海豹的每日构建包与 Release;
  • ……

如何参与项目?

Bug 反馈、功能建议

所有的 Bug 和功能建议都可反馈在 核心 仓库的 issue 中,按照模板填写可方便开发组快速定位问题。

提示:无法访问 GitHub?

受限于各种原因,不是所有人都能顺利访问 GitHub,如有 Bug 可以加入官方群进行反馈。但如果有条件,我们还是建议在 GitHub 向开发组反馈问题。

提交修改

欢迎各种类型的 pr 提交,可以帮助改进代码,增加功能,也可以是完善文档等等。向对应仓库发起 pr 即可。

贡献指南

贡献指南

下面将以提交对手册的改进为示例,为还不清楚怎么在 GitHub 上提 Pull Request 的准贡献者做个示范。

整体流程

  1. 首先 fork 对应想要修改的仓库,后续所有操作均在 fork 之后的仓库上执行;
  2. 从主分支(通常是 mainmaster)切出一个新分支作为工作分支;
  3. 在新工作分支上提交修改。如果是对代码仓库进行修改,务必在本地测试通过;
  4. 将修改后的内容提交到远程后,在 GitHub 发起 Pull Request 请求,描述修改内容并确认自动测试流程通过;
  5. 等待开发组 review 后合并你的代码。

对目标仓库进行 fork

首先 fork 对应想要修改的仓库,此处以手册仓库 sealdice-manual-next 为例:

fork 对应仓库

点击 Create a new fork 按钮,如果此处已经有 fork 过仓库,可以直接进行后续步骤无需再次 fork。

点击按钮后进入如下页面:

创建 fork

可不做任何修改,直接点击 Create fork 按钮,等待 fork 进度条完成,此时你应当自动跳转到了 fork 出的新仓库。

切出工作分支

提示:假如你熟悉 Git 操作

如果你熟悉 Git 操作,可以自行 clone 仓库到本地后进行修改。

注意:不要修改主分支

如果 clone 到本地操作,建议不要在主分支操作,而是新切分支进行编辑。

原因见 保持和上游同步

切换到新仓库的分支页面,创建分支:

进入分支页

创建分支

填写新分支名,建议为形如 feature/xxx 的有意义的英文。确认前请务必保证是从主分支切出的。

新分支信息

创建完毕后点击分支名切换到对应分支页面:

切换分支

点击你想要修改的文件,进行在线编辑:

修改文件

修改完成后点击右上角提交变更,填写变更内容信息:

提交变更提交变更信息

发起 Pull Request 请求

你的修改完成后,在你 fork 的新仓库向主仓库发起 Pull Request:

创建PR

提交时间很近的时候,GitHub 会提示快捷发起 PR 的操作按钮:

快速创建PR

进入 PR 编辑页填写信息,请确认是从你的仓库的新分支,提向主仓库的主分支的:

主仓库 主分支 <- fork仓库 功能分支

填写PR信息

填写完成后,等待开发组进行 review,有时会给你提出一些修改建议。在你的 PR review 通过并合并后,功能分支就可以被删除了。

保持 fork 仓库与上游同步(可选)

如果之后还要提交新的 PR,建议先同步上游的主分支,再从同步后的主分支再新切分支进行操作。

如果你曾经修改了主分支,此处很可能会出现和上游分支有冲突的问题,需要你先手动解决冲突。

点击 Sync fork 进行同步。

与上游同步

',51),g=[k];function x(v,q,P,w,R,B){return t(),a("div",null,g)}const H=e(_,[["render",x]]);export{C as __pageData,H as default}; diff --git a/assets/about_develop.md.BfG0AuIQ.lean.js b/assets/about_develop.md.BfG0AuIQ.lean.js new file mode 100644 index 000000000..b1716b800 --- /dev/null +++ b/assets/about_develop.md.BfG0AuIQ.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as l}from"./chunks/framework.C7ysi3tu.js";const r="/sealdice-manual-next/assets/develop-fork-1.BZOKPa8J.png",s="/sealdice-manual-next/assets/develop-fork-2.X58VX0eS.png",o="/sealdice-manual-next/assets/develop-new-branch-1.BqKBsG0R.png",i="/sealdice-manual-next/assets/develop-new-branch-2.zhLwB2Rj.png",c="/sealdice-manual-next/assets/develop-new-branch-3.C0fRBlWq.png",p="/sealdice-manual-next/assets/develop-new-branch-4.ijy4i49c.png",n="/sealdice-manual-next/assets/develop-new-branch-5.CeOz2UDa.png",d="/sealdice-manual-next/assets/develop-new-branch-6.BBHexEzw.png",u="/sealdice-manual-next/assets/develop-new-branch-7.C2-9Q-ZS.png",h="/sealdice-manual-next/assets/develop-pr-1.BVBX_RTc.png",m="/sealdice-manual-next/assets/develop-pr-2.C-dKwDzw.png",b="/sealdice-manual-next/assets/develop-open-pr-1.DAADwrkm.png",f="/sealdice-manual-next/assets/develop-sync-fork.BZF0daO6.png",C=JSON.parse('{"title":"参与项目","description":"","frontmatter":{"lang":"zh-cn","title":"参与项目"},"headers":[],"relativePath":"about/develop.md","filePath":"about/develop.md","lastUpdated":1718381802000}'),_={name:"about/develop.md"},k=l("",51),g=[k];function x(v,q,P,w,R,B){return t(),a("div",null,g)}const H=e(_,[["render",x]]);export{C as __pageData,H as default}; diff --git a/assets/about_license.md.DYRuXiXr.js b/assets/about_license.md.DYRuXiXr.js new file mode 100644 index 000000000..7b5299923 --- /dev/null +++ b/assets/about_license.md.DYRuXiXr.js @@ -0,0 +1 @@ +import{_ as e,c as p,o as t,a8 as a}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"许可协议","description":"","frontmatter":{"lang":"zh-cn","title":"许可协议"},"headers":[],"relativePath":"about/license.md","filePath":"about/license.md","lastUpdated":1714442589000}'),o={name:"about/license.md"},s=a('

许可协议

进行使用即代表同意此声明:

尊敬的用户,欢迎您选择由木落等研发的海豹骰点核心(SealDice),在您使用海豹骰点核心前,请务必仔细阅读使用须知,使用即代表您已同意使用须知的内容,使用造成的任何后果与海豹开发组无关。

您需了解,海豹核心官方版只支持 TRPG 功能,娱乐功能定制化请自便,和海豹无关。

您清楚并明白您对通过骰子提供的全部内容负责,包括自定义回复、非自带的插件、牌堆。海豹骰不对非自身提供以外的内容合法性负责。您不得在使用海豹骰服务时,导入包括但不限于以下情形的内容:

(1) 反对中华人民共和国宪法所确定的基本原则的;

(2) 危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;

(3) 损害国家荣誉和利益的;

(4) 煽动民族仇恨、民族歧视、破坏民族团结的;

(5) 破坏国家宗教政策,宣扬邪教和封建迷信的;

(6) 散布谣言,扰乱社会秩序,破坏社会稳定的;

(7) 散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;

(8) 侮辱或者诽谤他人,侵害他人合法权益的;

(9) 宣扬、教唆使用外挂、私服、病毒、恶意代码、木马及其相关内容的;

(10) 侵犯他人知识产权或涉及第三方商业秘密及其他专有权利的;

(11) 散布任何贬损、诋毁、恶意攻击海豹骰及开发人员、海洋馆工作人员、mod 编写人员、关联合作者的;

(12) 含有中华人民共和国法律、行政法规、政策、上级主管部门下发通知中所禁止的其他内容的。

一旦您有以上禁止行为,请立即停用海豹骰。

',18),n=[s];function c(_,r,i,l,d,h){return t(),p("div",null,n)}const f=e(o,[["render",c]]);export{u as __pageData,f as default}; diff --git a/assets/about_license.md.DYRuXiXr.lean.js b/assets/about_license.md.DYRuXiXr.lean.js new file mode 100644 index 000000000..d4a8966fe --- /dev/null +++ b/assets/about_license.md.DYRuXiXr.lean.js @@ -0,0 +1 @@ +import{_ as e,c as p,o as t,a8 as a}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"许可协议","description":"","frontmatter":{"lang":"zh-cn","title":"许可协议"},"headers":[],"relativePath":"about/license.md","filePath":"about/license.md","lastUpdated":1714442589000}'),o={name:"about/license.md"},s=a("",18),n=[s];function c(_,r,i,l,d,h){return t(),p("div",null,n)}const f=e(o,[["render",c]]);export{u as __pageData,f as default}; diff --git a/assets/about_start-from-zero.md.DjHXncO3.js b/assets/about_start-from-zero.md.DjHXncO3.js new file mode 100644 index 000000000..8936791f2 --- /dev/null +++ b/assets/about_start-from-zero.md.DjHXncO3.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as r}from"./chunks/framework.C7ysi3tu.js";const _=JSON.parse('{"title":"从零开始","description":"","frontmatter":{"lang":"zh-cn","title":"从零开始"},"headers":[],"relativePath":"about/start-from-zero.md","filePath":"about/start-from-zero.md","lastUpdated":1720509767000}'),l={name:"about/start-from-zero.md"},o=r('

从零开始

首先感谢你选用海豹核心。

我们将本手册的所有内容按照从零开始到深入定制的操作顺序重新排列成了本节的内容。我们推荐新用户按此顺序阅读手册。

在阅读本节时,我们建议你读完整段再点击链接跳转到对应内容。读完对应内容后,你可以立即付诸实践。然后,建议你回到本节,继续按此顺序阅读剩余内容。

如果你只需要详细了解某个特定话题,请你直接从导航栏查找对应分类。

0. 背景知识

如果你对于服务器或电脑尚不了解,我们为你准备了简单的科普。请阅读 名词/术语速查表如何高效学习

海豹核心是由一群热心的开发者无偿开发并开源发布的。开发者们和一众热心群友在各个用户群中为用户提供答疑。为了你的疑问能够获得最快最好的解答,请阅读 如何正确提问

1. 部署海豹

首先,你需要让海豹核心在你的服务器或电脑上运行起来。

如果你是从零开始部署,请阅读 快速开始

如果你之前部署过海豹核心,现在需要将旧部署转移到新的机器,请在阅读过新平台的部署方法后阅读 迁移

2. 连接平台

海豹核心成功运行后,你需要将它接入你希望的即时通讯平台。这样它才能接收和发送消息。

海豹目前支持了许多平台,开列如下。如果你还希望海豹接入更多平台,请你提出 Issue,我们会尽可能满足你的需求。

3. 熟悉海豹核心的功能

海豹核心提供了许多指令,它们是所有功能的中坚。

请阅读 基础概念,了解指令的基本格式。

然后,你可以熟悉一下海豹核心提供的不同自定义功能。你可能暂时不会用到所有的功能。但是,首先熟悉海豹核心能做到、不能做到哪些事,会对你的使用大有帮助。

请阅读这一章下面的各节,你可以跳过一些细节问题: 配置

4. 熟悉指令

我们推荐你简单浏览一遍各种指令。你不需要记住每个指令的所有细节,只要大概知道有什么指令,能够完成什么功能,就很足够了。

首先,请阅读 核心指令。这一节介绍了海豹核心最重要的一些指令。

然后,你可以阅读此章的剩余各节。它们按照扩展列出了每个指令的详细用法。

5. 进阶自定义

如果你希望自己动手,充分利用海豹核心提供的自定义能力,你需要对于海豹核心对不同功能的约定有所了解。

请你首先阅读 进阶介绍,然后阅读此章中你感兴趣的节。

',28),h=[o];function p(i,d,n,s,m,c){return t(),e("div",null,h)}const u=a(l,[["render",p]]);export{_ as __pageData,u as default}; diff --git a/assets/about_start-from-zero.md.DjHXncO3.lean.js b/assets/about_start-from-zero.md.DjHXncO3.lean.js new file mode 100644 index 000000000..ea838900e --- /dev/null +++ b/assets/about_start-from-zero.md.DjHXncO3.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as r}from"./chunks/framework.C7ysi3tu.js";const _=JSON.parse('{"title":"从零开始","description":"","frontmatter":{"lang":"zh-cn","title":"从零开始"},"headers":[],"relativePath":"about/start-from-zero.md","filePath":"about/start-from-zero.md","lastUpdated":1720509767000}'),l={name:"about/start-from-zero.md"},o=r("",28),h=[o];function p(i,d,n,s,m,c){return t(),e("div",null,h)}const u=a(l,[["render",p]]);export{_ as __pageData,u as default}; diff --git a/assets/advanced_README.md.PhrOw_Qu.js b/assets/advanced_README.md.PhrOw_Qu.js new file mode 100644 index 000000000..af585a717 --- /dev/null +++ b/assets/advanced_README.md.PhrOw_Qu.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,a8 as l}from"./chunks/framework.C7ysi3tu.js";const p=JSON.parse('{"title":"进阶","description":"","frontmatter":{"title":"进阶","index":false},"headers":[],"relativePath":"advanced/README.md","filePath":"advanced/README.md","lastUpdated":1721275296000}'),i={name:"advanced/README.md"},_=l('',1),r=[_];function s(d,h,c,o,m,n){return a(),t("div",null,r)}const u=e(i,[["render",s]]);export{p as __pageData,u as default}; diff --git a/assets/advanced_README.md.PhrOw_Qu.lean.js b/assets/advanced_README.md.PhrOw_Qu.lean.js new file mode 100644 index 000000000..85831b9d0 --- /dev/null +++ b/assets/advanced_README.md.PhrOw_Qu.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,a8 as l}from"./chunks/framework.C7ysi3tu.js";const p=JSON.parse('{"title":"进阶","description":"","frontmatter":{"title":"进阶","index":false},"headers":[],"relativePath":"advanced/README.md","filePath":"advanced/README.md","lastUpdated":1721275296000}'),i={name:"advanced/README.md"},_=l("",1),r=[_];function s(d,h,c,o,m,n){return a(),t("div",null,r)}const u=e(i,[["render",s]]);export{p as __pageData,u as default}; diff --git a/assets/advanced_edit_complex_custom_text.md.DSU9kc9u.js b/assets/advanced_edit_complex_custom_text.md.DSU9kc9u.js new file mode 100644 index 000000000..a2cc42bdf --- /dev/null +++ b/assets/advanced_edit_complex_custom_text.md.DSU9kc9u.js @@ -0,0 +1,18 @@ +import{_ as n,D as o,c as p,j as t,I as s,a8 as e,o as c}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"编写复杂文案","description":"","frontmatter":{"lang":"zh-cn","title":"编写复杂文案"},"headers":[],"relativePath":"advanced/edit_complex_custom_text.md","filePath":"advanced/edit_complex_custom_text.md","lastUpdated":1714442589000}'),i={name:"advanced/edit_complex_custom_text.md"},l=e(`

编写复杂文案

本节内容

本节将展示复杂文案的编写技巧,请善用侧边栏和搜索,按需阅读文档。

示例

根据骰点结果展示不同文案

在文案中通常会有结果变量,通过对结果变量的判断来实现展示不同文案。如修改 .r 骰点_单项结果文本 文案为例

text
{$t表达式文本}{$t计算过程}={$t计算结果}{%
+$t计算结果 == 100 ? " 乐!",
+$t计算结果 == 1 ? " 啧!"
+%}
`,6),d={class:"info custom-block"},u=t("p",{class:"custom-block-title"},"示例",-1),r=e(`

多套文案的实现

提示:了解自定义回复的编写

多套文案的实现一般需要用到「自定义回复」来提供切换命令,见 编写自定义回复

如果你想使用 JS 插件实现也是可以的,不过示例以更简单的自定义回复为例。

切换命令实现

正则匹配:mode switch(.*) 回复:

text
{%
+if $t1==""||$t1==" 默认" {$g文案模式 = 0; $t输出="默认模式启用"};
+if $t1==" 模式1" {$g文案模式 = 1; $t输出="模式1启用"};  
+if $t1==" 模式2" {$g文案模式 = 2; $t输出="模式2启用"};
+if $t1!=""&&$t1!=" 默认"&&$t1!=" 模式1"&&$t1!=" 模式2" {$t输出=\`不存在指定模式{$t1}\`};  
+$t输出
+%}

精确匹配:mode show 回复:

text
{% 
+$g文案模式==0 ? "当前在默认模式",
+$g文案模式==1 ? "当前在模式1" ,
+$g文案模式==2 ? "当前在模式2"
+%}

文案调整

按如下模式调整你的自定义文案项:

text
{
+if $g文案模式 == 0 {$t目标文案 = \`(这里填你个性化的默认模式文案)\`};
+if $g文案模式 == 1 {$t目标文案 = \`(这里填你个性化的模式1文案)\`};
+if $g文案模式 == 2 {$t目标文案 = \`(这里填你个性化的模式2文案)\`}
+}{$t目标文案}

展示

以修改了 .jrrp 的文案为例:

`,12),h={class:"info custom-block"},_=t("p",{class:"custom-block-title"},"示例",-1);function m(q,b,g,$,v,x){const a=o("ChatBox");return c(),p("div",null,[l,t("div",d,[u,s(a,{messages:[{content:".r",send:!0},{content:"<木落>掷出了 D100=1 啧!"},{content:".r",send:!0},{content:"<木落>掷出了 D100=100 乐!"}]})]),r,t("div",h,[_,s(a,{messages:[{content:"mode show",send:!0},{content:"默认模式启用"},{content:"mode switch 模式1",send:!0},{content:"模式1启用"},{content:"mode show",send:!0},{content:"当前在模式1"},{content:".jrrp",send:!0},{content:"(这里填你个性化的模式1文案)"},{content:"mode switch 模式2",send:!0},{content:"模式2启用"},{content:".jrrp",send:!0},{content:"(这里填你个性化的模式2文案)"},{content:"mode switch",send:!0},{content:"默认模式启用"},{content:".jrrp",send:!0},{content:"(这里填你个性化的默认模式文案)"}]})])])}const C=n(i,[["render",m]]);export{f as __pageData,C as default}; diff --git a/assets/advanced_edit_complex_custom_text.md.DSU9kc9u.lean.js b/assets/advanced_edit_complex_custom_text.md.DSU9kc9u.lean.js new file mode 100644 index 000000000..e3c97bc7d --- /dev/null +++ b/assets/advanced_edit_complex_custom_text.md.DSU9kc9u.lean.js @@ -0,0 +1 @@ +import{_ as n,D as o,c as p,j as t,I as s,a8 as e,o as c}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"编写复杂文案","description":"","frontmatter":{"lang":"zh-cn","title":"编写复杂文案"},"headers":[],"relativePath":"advanced/edit_complex_custom_text.md","filePath":"advanced/edit_complex_custom_text.md","lastUpdated":1714442589000}'),i={name:"advanced/edit_complex_custom_text.md"},l=e("",6),d={class:"info custom-block"},u=t("p",{class:"custom-block-title"},"示例",-1),r=e("",12),h={class:"info custom-block"},_=t("p",{class:"custom-block-title"},"示例",-1);function m(q,b,g,$,v,x){const a=o("ChatBox");return c(),p("div",null,[l,t("div",d,[u,s(a,{messages:[{content:".r",send:!0},{content:"<木落>掷出了 D100=1 啧!"},{content:".r",send:!0},{content:"<木落>掷出了 D100=100 乐!"}]})]),r,t("div",h,[_,s(a,{messages:[{content:"mode show",send:!0},{content:"默认模式启用"},{content:"mode switch 模式1",send:!0},{content:"模式1启用"},{content:"mode show",send:!0},{content:"当前在模式1"},{content:".jrrp",send:!0},{content:"(这里填你个性化的模式1文案)"},{content:"mode switch 模式2",send:!0},{content:"模式2启用"},{content:".jrrp",send:!0},{content:"(这里填你个性化的模式2文案)"},{content:"mode switch",send:!0},{content:"默认模式启用"},{content:".jrrp",send:!0},{content:"(这里填你个性化的默认模式文案)"}]})])])}const C=n(i,[["render",m]]);export{f as __pageData,C as default}; diff --git a/assets/advanced_edit_deck.md.k-8PkXps.js b/assets/advanced_edit_deck.md.k-8PkXps.js new file mode 100644 index 000000000..9a72df022 --- /dev/null +++ b/assets/advanced_edit_deck.md.k-8PkXps.js @@ -0,0 +1,319 @@ +import{_ as p,D as k,c as E,I as a,w as l,a8 as e,j as s,a as i,o as d}from"./chunks/framework.C7ysi3tu.js";const o="/sealdice-manual-next/assets/edit-deck-pkg.8jg4vDyc.png",c="/sealdice-manual-next/assets/edit-deck-hide-key.Bk59lgX8.png",Ri=JSON.parse('{"title":"编写牌堆","description":"","frontmatter":{"lang":"zh-cn","title":"编写牌堆"},"headers":[],"relativePath":"advanced/edit_deck.md","filePath":"advanced/edit_deck.md","lastUpdated":1715844668000}'),r={name:"advanced/edit_deck.md"},g=e('

编写牌堆

本节内容

本节将介绍牌堆的编写,请善用侧边栏和搜索,按需阅读文档。

概览

海豹核心目前支持 tomljsonyaml 格式的牌堆。

如果对其中某种格式的语法有了解,建议选择熟悉的格式。如果都不了解,建议选择使用适用性最广的 json 格式。

当然,如果你的海豹版本较新,我们也非常推荐你尝试 toml 格式的牌堆编写。toml 格式诞生较晚,语法支持更多现代特性,海豹为这种格式的牌堆支持了更多功能。

注意:牌堆文件的编码

永远 使用「UTF-8 编码」来编写牌堆。

语法快速入门

我们将简单介绍 toml json yaml 的语法,仅说明牌堆编写中会用到的部分,帮助你快速了解它们。

提示:深入学习

我们也非常建议你系统地学习它们,可以参见这些文档或自行搜索:

注意:务必注意使用半角符号!

下面的语法中涉及到的符号都是 半角符号,如果你出现了奇怪的问题,记得检查是否在输入法的中文输入状态,导致输入了错误的符号。

比如应该为 , 却使用了 ,应该为 "" 却使用了 “”

使用专业的编辑器能帮助你检查这些问题。

',11),y=s("h4",{id:"toml-注释",tabindex:"-1"},[i("TOML 注释 "),s("a",{class:"header-anchor",href:"#toml-注释","aria-label":'Permalink to "TOML 注释"'},"​")],-1),u=s("p",null,[i("注释以 "),s("code",null,"#"),i(" 开头,用来记录相关说明性内容。")],-1),F=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 这是注释")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"key = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"value"'),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 注释也可以放在行尾")])])])],-1),C=s("h4",{id:"toml-键值对",tabindex:"-1"},[i("TOML 键值对 "),s("a",{class:"header-anchor",href:"#toml-键值对","aria-label":'Permalink to "TOML 键值对"'},"​")],-1),_=s("p",null,"「键值对」是 TOML 文档最基本的元素。",-1),m=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"key = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"value"')])])])],-1),b=s("p",null,"键名在等号的左边而值在右边,键、等号和值必须在同一行(有些值可以跨多行),不允许没有值。",-1),B=s("p",null,"值需要是下述类型之一:",-1),v=s("ul",null,[s("li",null,[i("字符串:以 "),s("code",null,'""'),i(),s("code",null,"''"),i(" 或 "),s("code",null,'""" """'),i(" 包裹起来的一串文字")]),s("li",null,"整数、浮点数(即小数)"),s("li",null,[i("布尔值:"),s("code",null,"true"),i(" 和 "),s("code",null,"false")]),s("li",null,[i("日期或时刻:采用 RFC 3339 格式,如 "),s("code",null,"1919-08-10"),i(),s("code",null,"1919-08-10 11:45:14")]),s("li",null,[i("数组:"),s("code",null,"[]"),i(" 包裹的一系列值")]),s("li",null,[i("内联表:表的一种紧凑表示法,"),s("code",null,"{}"),i(" 包裹的一系列键值对")])],-1),q=s("p",null,"键值对后必须换行(或结束文件)。",-1),A=s("h4",{id:"toml-键名",tabindex:"-1"},[i("TOML 键名 "),s("a",{class:"header-anchor",href:"#toml-键名","aria-label":'Permalink to "TOML 键名"'},"​")],-1),x=s("p",null,[i("键名可以是裸键名,也可以是用 "),s("code",null,'""'),i(" 引起来的字符串,都将被看作是字符串(哪怕裸键是 "),s("code",null,"1234"),i(" 也是这样)。")],-1),f=s("ul",null,[s("li",null,[i("裸键只能包含 ASCII 字母,ASCII 数字,下划线和短横线(即只有 "),s("code",null,"A-Za-z0-9_-"),i(")。")]),s("li",null,"引号键则允许包含任何 Unicode 字符(如中文),支持转义;")],-1),D=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"注意:裸键名不支持中文"),s("p",null,"使用中文作为键名时,必须用引号包裹。")],-1),T=s("h4",{id:"toml-字符串",tabindex:"-1"},[i("TOML 字符串 "),s("a",{class:"header-anchor",href:"#toml-字符串","aria-label":'Permalink to "TOML 字符串"'},"​")],-1),P=s("p",null,[i("使用 "),s("code",null,'""'),i(" 或者 "),s("code",null,"''"),i(" 包裹的内容作为字符串。任何 Unicode 字符都可以使用,支持转义(如换行 "),s("code",null,"\\n"),i("、反斜杠 "),s("code",null,"\\\\"),i(")。")],-1),j=s("p",null,"如果字符串有很多行,可以使用多行字符串语法:",-1),S=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"key = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"""')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"这是多行字符串的语法,它支持你直接使用换行。")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"不用再拼接 "),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"\\n"),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," 来换行了,好耶!")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"但是这样写在最前面会多出换行,因为第一行的空换行也直接读取了。")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"""')]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"key2 = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"""\\')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"这样写就没有开头的空行问题了。")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"""')])])])],-1),w=s("p",null,[i("多行换行符中,如果一行的最后一个非空白字符是未被转义的 "),s("code",null,"\\"),i(" 时,它会连同它后面的所有空白(包括换行)一起被去除,直到下一个非空白字符或结束引号为止。")],-1),L=s("h4",{id:"toml-表",tabindex:"-1"},[i("TOML 表 "),s("a",{class:"header-anchor",href:"#toml-表","aria-label":'Permalink to "TOML 表"'},"​")],-1),M=s("p",null,[i("表(哈希表、字典、对象,含义相同)是键值对的集合。「表头」为一个单独的 "),s("code",null,"[]"),i(" 包裹的行作为表名,后面的行都是该表的内容。")],-1),O=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},'"海豹核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"简介" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"状态" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"')]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},'"狐狸核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"简介" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个更加简单易用的跑团骰子系统(什"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"状态" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"根本不存在"')])])])],-1),N=s("p",null,"以上结构相当于 JSON 中的:",-1),I=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "海豹核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," },")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "狐狸核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个更加简单易用的跑团骰子系统(什"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"根本不存在"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Y=s("p",null,"表还有一种更紧凑的内联表示法,必须在同一行内,且不支持尾逗号:",-1),J=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"海豹核心" = { "简介" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},', "状态" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")])])])],-1),V=s("h4",{id:"toml-数组",tabindex:"-1"},[i("TOML 数组 "),s("a",{class:"header-anchor",href:"#toml-数组","aria-label":'Permalink to "TOML 数组"'},"​")],-1),$=s("p",null,[i("数组是用 "),s("code",null,"[]"),i(" 包裹的一系列值,子元素由 "),s("code",null,","),i(" 分隔。")],-1),U=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"TRPG = [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," { name = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"CoC"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", version = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"7"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," },")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," { name = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"D&D"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", version = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"5e"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }, "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 多出一个逗号也是可以的")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),R={class:"info custom-block"},K={class:"custom-block-title"},z=s("a",{href:"https://nigeltao.github.io/blog/2021/json-with-commas-comments.html",target:"_blank",rel:"noreferrer"},"JSON With Commas and Comments",-1),W=s("p",null,"这是一种对标准 JSON 语法的扩展,允许在文件中使用 C/C++ 风格的注释,并允许 JSON 对象和数组的最后一个键值对和元素后带有逗号。",-1),G=s("p",null,"我们认为这种扩展有益于减少编写者的负担,又不会引入过多的非标准特性造成混乱。",-1),Z=s("code",null,".jsonc",-1),H={class:"warning custom-block"},Q=s("p",{class:"custom-block-title"},"注意",-1),X=s("h3",{id:"json-键值",tabindex:"-1"},[i("JSON 键值 "),s("a",{class:"header-anchor",href:"#json-键值","aria-label":'Permalink to "JSON 键值"'},"​")],-1),ss=s("p",null,[i("JSON 键值对以 "),s("code",null,'"key": value'),i(" 的形式表达,需要包裹在 "),s("code",null,"{}"),i(" 或 "),s("code",null,"[]"),i(" 中。")],-1),is=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "key"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"value"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),as=s("p",null,[i("其中键名必须用 "),s("code",null,'""'),i(" 包裹,值可以是如下类型:")],-1),ls=s("ul",null,[s("li",null,"整数、浮点数(即小数)"),s("li",null,[i("字符串(由 "),s("code",null,'""'),i(" 包裹,不可以是 "),s("code",null,"''"),i(")")]),s("li",null,[i("布尔值("),s("code",null,"true"),i(" 或 "),s("code",null,"false"),i(")")]),s("li",null,[i("数组:由 "),s("code",null,"[]"),i(" 包裹的一组值")]),s("li",null,[i("对象:由 "),s("code",null,"{}"),i(" 包裹的一组键值对")]),s("li",null,[s("code",null,"null"),i(":空")])],-1),ns=s("h3",{id:"json-数组",tabindex:"-1"},[i("JSON 数组 "),s("a",{class:"header-anchor",href:"#json-数组","aria-label":'Permalink to "JSON 数组"'},"​")],-1),ts=s("p",null,[i("由 "),s("code",null,"[]"),i(" 包裹的一组值,使用 "),s("code",null,","),i(" 分割。")],-1),hs=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"[")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "CoC"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "D&D"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),es=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"[")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "CoC"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "D&D"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// 此处可以多出一个逗号")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),ks=s("h3",{id:"json-对象",tabindex:"-1"},[i("JSON 对象 "),s("a",{class:"header-anchor",href:"#json-对象","aria-label":'Permalink to "JSON 对象"'},"​")],-1),ps=s("p",null,[i("由 "),s("code",null,"{}"),i(" 包裹的一组键值对,使用 "),s("code",null,","),i(" 分割。")],-1),Es=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "海豹核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," },")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "狐狸核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个更加简单易用的跑团骰子系统(什"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"根本不存在"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),ds=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "海豹核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// 此处可以多出一个逗号")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," },")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "狐狸核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个更加简单易用的跑团骰子系统(什"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"根本不存在"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// 此处可以多出一个逗号")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }, "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// 此处可以多出一个逗号")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),os={id:"注释",tabindex:"-1"},cs=s("a",{class:"header-anchor",href:"#注释","aria-label":'Permalink to "注释 "'},"​",-1),rs=s("h4",{id:"_1-行内注释",tabindex:"-1"},[i("1. 行内注释 "),s("a",{class:"header-anchor",href:"#_1-行内注释","aria-label":'Permalink to "1. 行内注释"'},"​")],-1),gs=s("p",null,[i("以两个斜杠("),s("code",null,"//"),i(")开头,直到该行结束的所有文本都被视为注释。")],-1),ys=s("h4",{id:"_2-注释块",tabindex:"-1"},[i("2. 注释块 "),s("a",{class:"header-anchor",href:"#_2-注释块","aria-label":'Permalink to "2. 注释块"'},"​")],-1),us=s("p",null,[i("从序列 "),s("code",null,"/*"),i(" 开始到随后出现的第一个 "),s("code",null,"*/"),i(" 序列为止的所有文本,包括换行,都被视为注释。")],-1),Fs=s("h3",{id:"yaml-注释",tabindex:"-1"},[i("YAML 注释 "),s("a",{class:"header-anchor",href:"#yaml-注释","aria-label":'Permalink to "YAML 注释"'},"​")],-1),Cs=s("p",null,[i("注释以 "),s("code",null,"#"),i(" 开头。")],-1),_s=s("h3",{id:"yaml-键值",tabindex:"-1"},[i("YAML 键值 "),s("a",{class:"header-anchor",href:"#yaml-键值","aria-label":'Permalink to "YAML 键值"'},"​")],-1),ms=s("p",null,[i("YAML 键值对使用冒号结构表示 "),s("code",null,"key: value"),i(",冒号后面要加一个空格。")],-1),bs=s("p",null,"值可以是如下类型:",-1),Bs=s("ul",null,[s("li",null,[i("字符串: "),s("ul",null,[s("li",null,[i("直接表示:"),s("code",null,"这是一段字符串")]),s("li",null,[i("可以使用 "),s("code",null,'""'),i(" 或者 "),s("code",null,"''"),i("包裹,双引号不会对特殊字符转义:"),s("code",null,"'Hello world'")])])]),s("li",null,[i("布尔值:"),s("code",null,"true"),i(),s("code",null,"false")]),s("li",null,"整数、浮点数(即小数)"),s("li",null,[i("Null:用 "),s("code",null,"~"),i(" 表示")]),s("li",null,"时间、日期:采用 ISO8601 格式")],-1),vs=s("h3",{id:"yaml-对象",tabindex:"-1"},[i("YAML 对象 "),s("a",{class:"header-anchor",href:"#yaml-对象","aria-label":'Permalink to "YAML 对象"'},"​")],-1),qs=s("p",null,"可以使用行内语法表示对象:",-1),As=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"海豹核心"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": { "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"简介"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"一个简单易用的跑团骰子系统"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"状态"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"持续开发中"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"狐狸核心"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": { "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"简介"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"一个更加简单易用的跑团骰子系统(什"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"状态"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"根本不存在"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")])])])],-1),xs=s("p",null,"也可以使用缩进层级表示对象关系(推荐):",-1),fs=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"海豹核心"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," 简介"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"一个简单易用的跑团骰子系统")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," 状态"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"持续开发中")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"狐狸核心"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," 简介"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"一个更加简单易用的跑团骰子系统(什")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," 状态"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"根本不存在")])])])],-1),Ds=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"注意:缩进是有含义的"),s("p",null,"在 YAML 中,缩进是有含义的,缩进的长度表示了层级。"),s("p",null,[i("缩进不允许 tab,只允许使用空格。缩进的空格数并不重要,但"),s("strong",null,"相同层级的元素必须左对齐"),i("。")]),s("p",null,"当你在复制粘贴 YAML 文本时,请务必注意这一点,格式错乱会无法识别。")],-1),Ts=s("h3",{id:"yaml-数组",tabindex:"-1"},[i("YAML 数组 "),s("a",{class:"header-anchor",href:"#yaml-数组","aria-label":'Permalink to "YAML 数组"'},"​")],-1),Ps=s("p",null,"YAML 可以使用行内语法表示数组:",-1),js=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"[ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"A"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"B"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"C"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")])])])],-1),Ss=s("p",null,[i("也可以使用以 "),s("code",null,"-"),i(" 开头的行表示构成一个数组:")],-1),ws=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"- "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"A")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"- "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"B")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"- "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"C")])])])],-1),Ls=s("p",null,"数据结构的子成员是一个数组,则可以在该项下面缩进一个空格:",-1),Ms=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"TRPG"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"name"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"CoC")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," version"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'7'")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"name"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"D&D")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," version"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"5e")])])])],-1),Os=s("div",{class:"tip custom-block"},[s("p",{class:"custom-block-title"},"提示:复杂的 YAML"),s("p",null,"YAML 的语法极其灵活,同一种形式在 YAML 中可以有多种等价表示方法,这里只列出了常见的。"),s("p",null,"如果你在阅读其它人的 YAML 牌堆时遇上了看不懂的内容,建议通过更系统的教程学习。")],-1),Ns=e('

基础牌堆编写

海豹的抽取指令为 .draw <key>,而牌堆就是可以提供一些 key 作为牌组的文件。

我们从编写一个最简单的牌堆开始,我们希望:

  1. 这个牌堆有 快端上来罢数字论证 两个牌组;
    • .draw 快端上来罢 可以抽取出 哼哼哼啊啊啊啊啊 你是一个一个一个牌堆结果 这两个结果;
    • .draw 数字论证 可以抽取出 114514 1919810 这两个结果。
  2. 填写一些信息(如作者),便于分享。

这个牌堆编写如下,你可以选择以下任意一种格式来学习:

',5),Is=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 元信息表")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"meta"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"title = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"野兽牌堆"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"author = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"田所浩二"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 有多个作者时可以使用,两者仅需保留一行")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"authors = ["),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"田所浩二"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"version = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"1.0"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"license = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"CC-BY-NC-SA 4.0"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"date = "),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1919-08-10")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"update_date = "),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1919-08-10")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"desc = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"这个示例牌堆怎么这么臭(恼)"')]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 牌组表")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"快端上来罢" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "哼哼哼啊啊啊啊啊"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你是一个一个一个牌堆结果"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"数字论证" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "114514"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "1919810"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),Ys=s("p",null,[i("一个 TOML 牌堆的最基本格式如上。其中 "),s("code",null,"meta"),i(" 表中的信息不是必须的,但我们非常建议你保留并填写这些项,它们能在分享时说明更多信息:")],-1),Js=s("ul",null,[s("li",null,[s("code",null,"title"),i(":牌堆的标题;")]),s("li",null,[s("code",null,"author"),i("/"),s("code",null,"authors"),i(":牌堆作者;")]),s("li",null,[s("code",null,"date"),i(":牌堆创建日期;")]),s("li",null,[s("code",null,"updateDate"),i(":牌堆更新日期;")]),s("li",null,[s("code",null,"desc"),i(":牌堆简介;")]),s("li",null,[s("code",null,"version"),i(":牌堆版本;")]),s("li",null,[s("code",null,"license"),i(":牌堆协议。")])],-1),Vs=s("p",null,[i("可以将上述内容保存名为 "),s("code",null,"野兽牌堆.toml"),i("(名称任意,但必须是以 "),s("code",null,".toml"),i(" 为后缀扩展名)的文件进行测试。")],-1),$s=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_title"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"野兽牌堆"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_author"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"田所浩二"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_date"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"1919-08-10"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_updateDate"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"1919-08-10"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_brief"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"这个示例牌堆怎么这么臭(恼)"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_version"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"1.0"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_license"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"CC-BY-NC-SA 4.0"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "快端上来罢"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "哼哼哼啊啊啊啊啊"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你是一个一个一个牌堆结果"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "数字论证"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "114514"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "1919810"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Us=s("p",null,[i("一个 JSON 牌堆的最基本格式如上。其中以 "),s("code",null,"_"),i(" 开头的项不是必须的,但是我们非常建议你保留并填写这些项,它们能在分享时说明更多信息:")],-1),Rs=s("ul",null,[s("li",null,[s("code",null,"_title"),i(":牌堆的标题;")]),s("li",null,[s("code",null,"_author"),i(":牌堆作者;")]),s("li",null,[s("code",null,"_date"),i(":牌堆创建日期;")]),s("li",null,[s("code",null,"_updateDate"),i(":牌堆更新日期;")]),s("li",null,[s("code",null,"_brief"),i(":牌堆简介;")]),s("li",null,[s("code",null,"_version"),i(":牌堆版本;")]),s("li",null,[s("code",null,"_license"),i(":牌堆协议。")])],-1),Ks=s("p",null,[i("可以将上述内容保存名为 "),s("code",null,"野兽牌堆.json"),i("(名称任意,但必须是以 "),s("code",null,".json"),i(" 为后缀扩展名)的文件进行测试。")],-1),zs=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"name"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"野兽牌堆")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"author"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"田所浩二")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"version"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"license"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"CC-BY-NC-SA 4.0")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"desc"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"这个示例牌堆怎么这么臭(恼)")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"command"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"快端上来罢"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"哼哼哼啊啊啊啊啊")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"你是一个一个一个牌堆结果")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"数字论证"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'114514'")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'1919810'")])])])],-1),Ws=s("p",null,"一个 YAML 牌堆的最基本格式如上。其中上半部分的一些项不是必须的,但是我们非常建议你保留并填写这些项,它们能在分享时说明更多信息:",-1),Gs=s("ul",null,[s("li",null,[s("code",null,"name"),i(":牌堆的标题;")]),s("li",null,[s("code",null,"author"),i(":牌堆作者;")]),s("li",null,[s("code",null,"version"),i(":牌堆版本,应是一个整数;")]),s("li",null,[s("code",null,"license"),i(":牌堆协议;")]),s("li",null,[s("code",null,"desc"),i(":牌堆简介。")])],-1),Zs=s("p",null,[i("可以将上述内容保存名为 "),s("code",null,"野兽牌堆.yaml"),i("(名称任意,但必须是以 "),s("code",null,".yaml"),i(" 或 "),s("code",null,".yml"),i(" 为后缀扩展名)的文件进行测试。")],-1),Hs=e('

注意:牌堆文件扩展名正确吗?

保存文件时务必确认开启了操作系统的扩展名显示,避免出现看上去保存了 xxx.json 文件,但实际上的文件名是 xxx.json.txt

牌堆语法

一个项中抽取其他项

牌堆抽取结果字符串中,可以实现抽取其他项,将内容拼接进该结果。

  • {key} 表示不放回抽取;
  • {%key} 表示放回抽取。
',5),Qs=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"时间点" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"追尾了" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%时间点}追尾了一辆高级黑色轿车"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),Xs=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "时间点"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),si=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"注意:YAML 的放回表示"),s("p",null,"YAML 牌堆中的表示正好相反:"),s("ul",null,[s("li",null,[s("code",null,"{key}"),i(" 表示放回抽取;")]),s("li",null,[s("code",null,"{%key}"),i(" 表示不放回抽取。")])])],-1),ii=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"时间点"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"早上")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"中午")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"晚上")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"追尾了"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"在{时间点}追尾了一辆高级黑色轿车")])])])],-1),ai=e(`

放回抽取与不放回抽取

放回抽取,指此次抽取后抽取的牌组保持原样,每次都相当于从全新牌组中抽取,你仍可能抽到相同结果。

不放回抽取,尺度是一次抽牌指令,在这一次指令的执行过程中不会再从该牌组中抽到相同结果。多次抽取指令 draw 3# 牌组 只被视为一次指令,不放回抽取生效。指令执行结束后,将重置所有牌组到初始状态。

需要提到,带有权重调整的项目不会被视为在牌组中有多个副本。在下文中有详细讨论。

示例:不放回抽取

toml
[decks]
+"拷打木落" = [
+  "泡面偷走叉子调料包",
+  "捏碎所有薯片",
+  "用勺子把西瓜最中间的一块全挖走",
+]
+"拷打木落三次" = [ "{%拷打木落} {%拷打木落} {%拷打木落}" ]
+"不同方式拷打木落三次" = [ "{拷打木落} {拷打木落} {拷打木落}" ]

在此示例中,牌组「拷打木落三次」的项目采用了放回抽取,「不同方式拷打木落三次」采用了不放回抽取。

如果抽取 draw 拷打木落三次,得到的三个结果可能有重复。

如果抽取 draw 不同方式拷打木落三次,得到的三个结果将互不相同,但顺序是随机的。通过 draw 3# 拷打木落 也可达成类似的效果。

插入掷骰表达式

抽取结果字符串中的 [exp],会先执行其中的掷骰表达式 exp,再组合到原字符串里。

如:抽取 企鹅早该爆金币辣!v我[1d10]个金币 的结果可能是 企鹅早该爆金币辣!v我1个金币

补充:旧的实现

研究旧牌堆,可能会发现有牌堆通过下面这样的写法来实现这个功能,现在请不要这么做了

json
{
+  "数字": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
+  "爆金币": "企鹅早该爆金币辣!v我{%数字}个金币"
+}

权重

抽取结果字符串中最前面的 ::value:: 表示该项的权重。不含有该标记的项目被视为拥有默认权重 1。

示例:有 1/10 的几率出现闪光海豹

`,16),li=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"捕捉海豹" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "::9::海豹"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "✨闪光海豹✨"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),ni=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "捕捉海豹"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "::9::海豹"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "✨闪光海豹✨"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),ti=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"捕捉海豹"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"::9::海豹")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"✨闪光海豹✨")])])])],-1),hi=e(`

权重与不放回抽取

在使用不放回抽取的情况下,标记权重的项目不会被视为单个项目的多个副本。以上文的例子而言,牌组中仍被视为只有 2 个项目。

如果使用 draw 捕捉海豹 2# 进行抽取,一定会获得 1 个「海豹」和 1 个「✨闪光海豹✨」。

在这种情况下,权重影响的是抽出的顺序。你将以 9/10 的概率先抽出「海豹」,以 1/10 的概率先抽出「✨闪光海豹✨」。

补充:旧的实现

研究旧牌堆,可能会发现有牌堆通过下面这样的写法来实现这个功能,现在请不要这么做了

json
{
+  "捕捉海豹": [
+    "海豹", "海豹", "海豹", "海豹", "海豹", "海豹", "海豹", "海豹", "海豹",
+    "✨闪光海豹✨"
+  ]
+}

发送图片等

抽取结果字符串中可以插入 CQ 码和海豹码,比如 [图:data/images/sealdice.png]

牌堆打包

发布带图牌堆最常见的选择是牌堆文件连同图片打包成一个压缩包,但是这样做有诸多不便之处。

如果你不想发布时在压缩包里添加一个教程,告诉你的用户如何解压、图片要放到那个文件夹下、什么是相对路径……那就把牌堆打包成可以在海豹 UI 直接上传的 *.deck 文件吧。

信息

deck 文件在本质上依然是 zip 文件,修改后缀只是便于海豹识别。

假如牌堆文件内容如下(使用相对路径 ./asstes/... ):

json
{
+  "test":["[图:./asstes/1.jpg]"]
+}

则牌堆文件所在文件夹结构应是:

text
.
+├─asstes
+│  └─1.jpg
+└─ test.json

选中牌堆文件和 assets 文件夹压缩为 ZIP 文件,修改文件后缀为 deck 。

示例

图例中所使用的软件为 Bandizip ,使用 Windows 右键菜单中的 压缩为 ZIP 文件 与之等价的。

注意:小心嵌套文件夹

以示例图中路径为例,不要回退到上一级目录然后选中 top 文件夹压缩。

牌组的隐藏和导出控制

.draw keys 指令会列出所有允许抽取的牌组,但在牌堆编写过程中,经常会需要用到辅助的牌组,这些辅助项是不希望暴露给用户的。我们可以通过一定方式来隐藏这些项。

',21),ei=s("p",null,[i("在 TOML 牌堆中,当牌组的名称以 "),s("code",null,"_"),i(" 开头,那么这个牌组将不会暴露在 "),s("code",null,".draw keys"),i(" 中。")],-1),ki=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"_时间点" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"追尾了" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%_时间点}追尾了一辆高级黑色轿车"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),pi=s("p",null,[i("这样在 "),s("code",null,".draw keys"),i(" 中就不会展示 "),s("code",null,"_时间点"),i(" 这一牌组。")],-1),Ei=s("p",null,[i("在 JSON 牌堆中,可以通过配置牌堆文件的 "),s("code",null,"_keys"),i(" 指定所有显示的牌组,未指定在列表中的牌组将不会暴露在 "),s("code",null,".draw keys"),i(" 中。")],-1),di=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_keys"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "时间点"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),oi=s("p",null,[i("这样在 "),s("code",null,".draw keys"),i(" 中就不会展示 "),s("code",null,"时间点"),i(" 这一牌组。")],-1),ci=s("p",null,[i("YAML 牌堆"),s("strong",null,"没有支持"),i("这一功能。")],-1),ri=s("p",null,[i("被隐藏的项不会在 "),s("code",null,".draw keys"),i(" 中展示,但依然可以通过指定 "),s("code",null,".draw "),i(" 的方法抽取。如果你希望某些牌组彻底隐藏,只能在牌堆内部调用,可以通过配置它们的导出来实现:")],-1),gi=s("p",null,[i("在 TOML 牌堆中,当牌组的名称以 "),s("code",null,"__"),i("(双下划线)开头,那么这个牌组将不导出,即无法使用 "),s("code",null,".draw "),i(" 进行抽取,更不会显示在列表中。")],-1),yi=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"__时间点" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"追尾了" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%__时间点}追尾了一辆高级黑色轿车"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),ui=s("p",null,[i("在 JSON 牌堆中,当牌组的名称以 "),s("code",null,"_"),i(" 开头,那么这个牌组将不导出,即无法使用 "),s("code",null,".draw "),i(" 进行抽取,更不会显示在列表中。")],-1),Fi=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_时间点"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%_时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Ci=s("p",null,[i("这样 "),s("code",null,"_时间点"),i(" 这一牌组无法再用 "),s("code",null,".draw _时间点"),i(" 抽取了。")],-1),_i=s("p",null,[i("此外,通过配置牌堆文件的 "),s("code",null,"_export"),i("/ "),s("code",null,"_exports"),i(" 可以指定所有的导出项。未指定在列表中的牌组将无法使用 "),s("code",null,".draw "),i(" 进行抽取,更不会显示在列表中。")],-1),mi=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_exports"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "时间点"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),bi=s("p",null,[i("如果在 YAML 牌堆中定义了 "),s("code",null,"default"),i(" 字段,海豹将以 "),s("code",null,"command"),i(" 字段的值为关键字,"),s("code",null,"default"),i(" 字段的值为内容组成一个牌组。除了这个牌组以外的牌组都被视为不导出。")],-1),Bi=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"command"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"追尾了")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"default"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"在{时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"时间点"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"早上")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"中午")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"晚上")])])])],-1),vi=s("p",null,[i("在以上例子中,"),s("code",null,".draw keys"),i(" 将只列出 "),s("code",null,"追尾了"),i(";"),s("code",null,".draw 时间点"),i(" 将提示找不到牌组。")],-1),qi=e('

提示:UI 中识别隐藏的牌组

你可以通过查看牌堆管理界面中的「牌堆列表」来识别牌组是否隐藏。

牌堆列表

灰色的牌组是隐藏的,即不展示在列表中,但能够被 .draw <key> 抽取。

未导出(不展示也不能抽取)的牌组不展示在该列表中。

配置牌堆更新

很多时候,牌堆内容不是一成不变的。而使用牌堆的用户需要手动去获取最新的牌堆,才能获得作者们提供的最新内容。

我们为牌堆提供了配置更新链接的机制,方便骰主快速获取牌堆更新。有能力的牌堆作者可以配置更新链接,便于分享最新的牌堆内容。

',4),Ai=s("p",null,[i("配置牌堆文件的 "),s("code",null,"updateUrls"),i(" 以指定对应的更新链接:")],-1),xi=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"meta"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"title = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"野兽牌堆"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"updateUrls = [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "https://updateurl.com"'),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 此处填写你的更新链接")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 牌组表")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"快端上来罢" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "哼哼哼啊啊啊啊啊"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你是一个一个一个牌堆结果"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"数字论证" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "114514"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "1919810"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),fi=s("p",null,[i("配置牌堆文件的 "),s("code",null,"_updateUrls"),i(" 以指定对应的更新链接:")],-1),Di=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_title"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"野兽牌堆"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_updateUrls"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"https://updateurl.com"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "快端上来罢"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "哼哼哼啊啊啊啊啊"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你是一个一个一个牌堆结果"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "数字论证"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "114514"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "1919810"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Ti=s("p",null,[i("配置牌堆文件的 "),s("code",null,"update_urls"),i(" 以指定对应的更新链接:")],-1),Pi=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"name"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"野兽牌堆")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"update_urls"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'https://updateurl.com'")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"快端上来罢"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"哼哼哼啊啊啊啊啊")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"你是一个一个一个牌堆结果")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"数字论证"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'114514'")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'1919810'")])])])],-1),ji=e('

有多个更新链接时,海豹将依次从上往下检查更新。

插入海豹内置脚本语言

抽取结果字符串中可以插入 海豹语

提示:特殊的括号

与在文案和自定义回复中插入海豹语使用 {} 不同,在牌堆中 {} 有其他含义,需要用 [] 代替 {}

',4),Si=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"幸运转盘" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你抽到了114金币,你现在有[$m金币=$m金币+114]"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你失去了514金币,你现在有[$m金币=$m金币-514]"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),wi=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "幸运转盘"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你抽到了114金币,你现在有[$m金币=$m金币+114]"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你失去了514金币,你现在有[$m金币=$m金币-514]"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Li=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"幸运转盘"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"你抽到了114金币,你现在有[$m金币=$m金币+114]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"你失去了514金币,你现在有[$m金币=$m金币-514]")])])])],-1),Mi=e(`

TOML 牌堆的更多功能

更多牌组设置

TOML 牌堆中,你可以以表的形式来创建更复杂的牌组,这允许你更精细的控制每个牌组的选项。

复杂牌组和普通牌组在使用上没有什么区别,仅仅是提供了配置选项的能力。

toml
[meta]
+title = "野兽牌堆"
+updateUrls = [
+  "https://updateurl.com" # 此处填写你的更新链接
+]
+
+# 简单牌组表
+[decks]
+"快端上来罢" = [
+  "哼哼哼啊啊啊啊啊",
+  "你是一个一个一个牌堆结果"
+]
+
+# 复杂牌组
+["数字论证"]
+export = true
+visible = true
+aliases = [ "恶臭论证" ]
+options = [
+  "114514",
+  "1919810",
+]

表名将作为这个牌组的名称,复杂牌组提供以下选项:

  • export:是否导出该牌组;
  • visible:该牌组是否可见,不可见的将不展示在 .draw keys 列表中;
  • aliases:牌组的别名,可以使用别名抽取改牌组,如上述示例中可以使用 .draw 数字论证.draw 恶臭论证 来抽取;
  • options:该牌组的项。

注意:设置的选项未生效?

注意,对应的选项名需要完全一致,否则海豹将无法正确解析。

aliases 不要误写成 aliasoptions 不要误写成 option

云端内容

某些情况下,我们希望牌堆内容能够自动更新,骰主无需反复更新骰子中装载的牌堆,用户也能抽取到最新内容。例如,一个实时更新的公骰列表牌堆。

海豹支持为牌堆提供云端内容,这需要牌堆作者有能力提供一个 API 接口,每次 配置了接口的牌组被抽取的时候,都会调用该接口获取该牌组的最新数据。

注意:不受控的云端内容

海豹核心无法核查从接口处获取的数据,骰主需要自行确认数据源不会返回你不希望骰子发出的信息。

对于提供了云端内容的牌堆,在海豹 Web UI 的牌端管理界面,会强制增加相应标识,以显示该牌堆提供了云端内容。

API 接口要求

海豹将以 HTTP GET 的方式请求对应接口,接口应当返回一个 JSON 字符串数组数据,其每个元素均是牌组的一个条目。

返回结果示例如下:

json
[
+  "3 = 11*-4+51-4",
+  "114 = 11*4+5*14",
+  "514 = (1-1)/4+514"
+]

牌堆配置云端内容

目前仅有 TOML 牌堆支持云端内容,示例如下:

toml
[meta]
+title = "野兽牌堆-云端内容示例"
+
+["114514种论证"]
+export = true
+visible = true
+options = [
+  "1 = 11/(45-1)*4",
+  "2 = -11+4-5+14",
+  "3 = 11*-4+51-4"
+]
+# 开启云内容
+cloud_extra = true
+# 云内容与本地内容去重
+dictinct = true
+# 云内容链接
+options_urls = [
+  "此处替换为对应的 API 链接,类似 http://example.com/xxx",
+]

假定上面填入了 API,它会返回上一节中的示例 JSON 字符串数组,即 ["3 = 11*-4+51-4", "114 = 11*4+5*14", "514 = (1-1)/4+514"]

正如上面示例中看到的那样,在 TOML 格式的复杂牌组中,有一些云端内容的相关配置项,每个牌组都可以单独控制云端相关设置。抽取牌组时,接口返回的数据将和牌组本身配置的 options 数组合并,最后的抽取是从合并的数组中进行。

  • cloud_extra:为 true 时,抽取本牌组时将请求接口获取云端数据;
  • options_urls:配置云端内容的 API 链接,链接能够配置多个。每次抽取这个牌组时,会依次调用配置的 API,在任意一个接口成功返回数据后即停止
  • distinct:为 true 时,云端数据与本地数据合并后会进行去重,确保最终抽取的牌组中不含重复条目。

以上述牌组为例,当执行 .draw 114514种论证 的时候,将首先调用 API 获取云端内容,成功获取后进行合并并去重,最终抽取的牌组相当于直接配置了这样的牌组:

toml
["114514种论证"]
+export = true
+visible = true
+options = [
+  "1 = 11/(45-1)*4",
+  "2 = -11+4-5+14",
+  "3 = 11*-4+51-4",
+  "114 = 11*4+5*14",
+  "514 = (1-1)/4+514"
+]
`,24);function Oi(Ni,Ii,Yi,Ji,Vi,$i){const n=k("PluginTabsTab"),t=k("Badge"),h=k("PluginTabs");return d(),E("div",null,[g,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[y,u,F,C,_,m,b,B,v,q,A,x,f,D,T,P,j,S,w,L,M,O,N,I,Y,J,V,$,U]),_:1}),a(n,{label:"json"},{default:l(()=>[s("div",R,[s("p",K,[i("JSON with Comment / JWCC "),a(t,{type:"tip",text:"v1.4.4"})]),s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.4"}),i(" 起,海豹支持在牌堆中使用 "),z,i(" 。")]),W,G,s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.5"}),i(" 开始,海豹支持读取以 "),Z,i(" 为扩展名的牌堆文件。我们推荐采用这种方式,将使用扩展语法的牌堆与标准 JSON 牌堆区分开,以示它们的不同,但是否这样做取决于你的选择。")])]),s("div",H,[Q,s("p",null,[i("如果你使用 "),a(t,{type:"warning",text:"v1.4.3"}),i(" 或更早版本的海豹核心,你仍必须使用 标准 JSON 牌堆。")])]),X,ss,is,as,ls,ns,ts,hs,s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.4"}),i(" 版本开始支持尾逗号,即在数组尾部有多余逗号时不再报错。")]),es,ks,ps,Es,s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.4"}),i(" 版本开始支持尾逗号,即在对象尾部有多余逗号时不再报错。")]),ds,s("h3",os,[i("注释 "),a(t,{type:"tip",text:"v1.4.4"}),i(),cs]),s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.4"}),i(" 开始支持 C/C++ 风格的注释。以下为简要说明。")]),rs,gs,ys,us]),_:1}),a(n,{label:"yaml"},{default:l(()=>[Fs,Cs,_s,ms,bs,Bs,vs,qs,As,xs,fs,Ds,Ts,Ps,js,Ss,ws,Ls,Ms,Os]),_:1})]),_:1}),Ns,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[Is,Ys,Js,Vs]),_:1}),a(n,{label:"json"},{default:l(()=>[$s,Us,Rs,Ks]),_:1}),a(n,{label:"yaml"},{default:l(()=>[zs,Ws,Gs,Zs]),_:1})]),_:1}),Hs,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[Qs]),_:1}),a(n,{label:"json"},{default:l(()=>[Xs]),_:1}),a(n,{label:"yaml"},{default:l(()=>[si,ii]),_:1})]),_:1}),ai,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[li]),_:1}),a(n,{label:"json"},{default:l(()=>[ni]),_:1}),a(n,{label:"yaml"},{default:l(()=>[ti]),_:1})]),_:1}),hi,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[ei,ki,pi]),_:1}),a(n,{label:"json"},{default:l(()=>[Ei,di,oi]),_:1}),a(n,{label:"yaml"},{default:l(()=>[ci]),_:1})]),_:1}),ri,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[gi,yi]),_:1}),a(n,{label:"json"},{default:l(()=>[ui,Fi,Ci,_i,mi]),_:1}),a(n,{label:"yaml"},{default:l(()=>[bi,Bi,vi]),_:1})]),_:1}),qi,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[Ai,xi]),_:1}),a(n,{label:"json"},{default:l(()=>[fi,Di]),_:1}),a(n,{label:"yaml"},{default:l(()=>[Ti,Pi]),_:1})]),_:1}),ji,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[Si]),_:1}),a(n,{label:"json"},{default:l(()=>[wi]),_:1}),a(n,{label:"yaml"},{default:l(()=>[Li]),_:1})]),_:1}),Mi])}const Ki=p(r,[["render",Oi]]);export{Ri as __pageData,Ki as default}; diff --git a/assets/advanced_edit_deck.md.k-8PkXps.lean.js b/assets/advanced_edit_deck.md.k-8PkXps.lean.js new file mode 100644 index 000000000..fdc93f477 --- /dev/null +++ b/assets/advanced_edit_deck.md.k-8PkXps.lean.js @@ -0,0 +1,247 @@ +import{_ as p,D as k,c as E,I as a,w as l,a8 as e,j as s,a as i,o as d}from"./chunks/framework.C7ysi3tu.js";const o="/sealdice-manual-next/assets/edit-deck-pkg.8jg4vDyc.png",c="/sealdice-manual-next/assets/edit-deck-hide-key.Bk59lgX8.png",Ri=JSON.parse('{"title":"编写牌堆","description":"","frontmatter":{"lang":"zh-cn","title":"编写牌堆"},"headers":[],"relativePath":"advanced/edit_deck.md","filePath":"advanced/edit_deck.md","lastUpdated":1715844668000}'),r={name:"advanced/edit_deck.md"},g=e("",11),y=s("h4",{id:"toml-注释",tabindex:"-1"},[i("TOML 注释 "),s("a",{class:"header-anchor",href:"#toml-注释","aria-label":'Permalink to "TOML 注释"'},"​")],-1),u=s("p",null,[i("注释以 "),s("code",null,"#"),i(" 开头,用来记录相关说明性内容。")],-1),F=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 这是注释")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"key = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"value"'),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 注释也可以放在行尾")])])])],-1),C=s("h4",{id:"toml-键值对",tabindex:"-1"},[i("TOML 键值对 "),s("a",{class:"header-anchor",href:"#toml-键值对","aria-label":'Permalink to "TOML 键值对"'},"​")],-1),_=s("p",null,"「键值对」是 TOML 文档最基本的元素。",-1),m=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"key = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"value"')])])])],-1),b=s("p",null,"键名在等号的左边而值在右边,键、等号和值必须在同一行(有些值可以跨多行),不允许没有值。",-1),B=s("p",null,"值需要是下述类型之一:",-1),v=s("ul",null,[s("li",null,[i("字符串:以 "),s("code",null,'""'),i(),s("code",null,"''"),i(" 或 "),s("code",null,'""" """'),i(" 包裹起来的一串文字")]),s("li",null,"整数、浮点数(即小数)"),s("li",null,[i("布尔值:"),s("code",null,"true"),i(" 和 "),s("code",null,"false")]),s("li",null,[i("日期或时刻:采用 RFC 3339 格式,如 "),s("code",null,"1919-08-10"),i(),s("code",null,"1919-08-10 11:45:14")]),s("li",null,[i("数组:"),s("code",null,"[]"),i(" 包裹的一系列值")]),s("li",null,[i("内联表:表的一种紧凑表示法,"),s("code",null,"{}"),i(" 包裹的一系列键值对")])],-1),q=s("p",null,"键值对后必须换行(或结束文件)。",-1),A=s("h4",{id:"toml-键名",tabindex:"-1"},[i("TOML 键名 "),s("a",{class:"header-anchor",href:"#toml-键名","aria-label":'Permalink to "TOML 键名"'},"​")],-1),x=s("p",null,[i("键名可以是裸键名,也可以是用 "),s("code",null,'""'),i(" 引起来的字符串,都将被看作是字符串(哪怕裸键是 "),s("code",null,"1234"),i(" 也是这样)。")],-1),f=s("ul",null,[s("li",null,[i("裸键只能包含 ASCII 字母,ASCII 数字,下划线和短横线(即只有 "),s("code",null,"A-Za-z0-9_-"),i(")。")]),s("li",null,"引号键则允许包含任何 Unicode 字符(如中文),支持转义;")],-1),D=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"注意:裸键名不支持中文"),s("p",null,"使用中文作为键名时,必须用引号包裹。")],-1),T=s("h4",{id:"toml-字符串",tabindex:"-1"},[i("TOML 字符串 "),s("a",{class:"header-anchor",href:"#toml-字符串","aria-label":'Permalink to "TOML 字符串"'},"​")],-1),P=s("p",null,[i("使用 "),s("code",null,'""'),i(" 或者 "),s("code",null,"''"),i(" 包裹的内容作为字符串。任何 Unicode 字符都可以使用,支持转义(如换行 "),s("code",null,"\\n"),i("、反斜杠 "),s("code",null,"\\\\"),i(")。")],-1),j=s("p",null,"如果字符串有很多行,可以使用多行字符串语法:",-1),S=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"key = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"""')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"这是多行字符串的语法,它支持你直接使用换行。")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"不用再拼接 "),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"\\n"),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," 来换行了,好耶!")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"但是这样写在最前面会多出换行,因为第一行的空换行也直接读取了。")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"""')]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"key2 = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"""\\')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"这样写就没有开头的空行问题了。")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"""')])])])],-1),w=s("p",null,[i("多行换行符中,如果一行的最后一个非空白字符是未被转义的 "),s("code",null,"\\"),i(" 时,它会连同它后面的所有空白(包括换行)一起被去除,直到下一个非空白字符或结束引号为止。")],-1),L=s("h4",{id:"toml-表",tabindex:"-1"},[i("TOML 表 "),s("a",{class:"header-anchor",href:"#toml-表","aria-label":'Permalink to "TOML 表"'},"​")],-1),M=s("p",null,[i("表(哈希表、字典、对象,含义相同)是键值对的集合。「表头」为一个单独的 "),s("code",null,"[]"),i(" 包裹的行作为表名,后面的行都是该表的内容。")],-1),O=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},'"海豹核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"简介" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"状态" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"')]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},'"狐狸核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"简介" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个更加简单易用的跑团骰子系统(什"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"状态" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"根本不存在"')])])])],-1),N=s("p",null,"以上结构相当于 JSON 中的:",-1),I=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "海豹核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," },")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "狐狸核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个更加简单易用的跑团骰子系统(什"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"根本不存在"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Y=s("p",null,"表还有一种更紧凑的内联表示法,必须在同一行内,且不支持尾逗号:",-1),J=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"海豹核心" = { "简介" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},', "状态" = '),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")])])])],-1),V=s("h4",{id:"toml-数组",tabindex:"-1"},[i("TOML 数组 "),s("a",{class:"header-anchor",href:"#toml-数组","aria-label":'Permalink to "TOML 数组"'},"​")],-1),$=s("p",null,[i("数组是用 "),s("code",null,"[]"),i(" 包裹的一系列值,子元素由 "),s("code",null,","),i(" 分隔。")],-1),U=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"TRPG = [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," { name = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"CoC"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", version = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"7"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," },")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," { name = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"D&D"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", version = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"5e"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }, "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 多出一个逗号也是可以的")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),R={class:"info custom-block"},K={class:"custom-block-title"},z=s("a",{href:"https://nigeltao.github.io/blog/2021/json-with-commas-comments.html",target:"_blank",rel:"noreferrer"},"JSON With Commas and Comments",-1),W=s("p",null,"这是一种对标准 JSON 语法的扩展,允许在文件中使用 C/C++ 风格的注释,并允许 JSON 对象和数组的最后一个键值对和元素后带有逗号。",-1),G=s("p",null,"我们认为这种扩展有益于减少编写者的负担,又不会引入过多的非标准特性造成混乱。",-1),Z=s("code",null,".jsonc",-1),H={class:"warning custom-block"},Q=s("p",{class:"custom-block-title"},"注意",-1),X=s("h3",{id:"json-键值",tabindex:"-1"},[i("JSON 键值 "),s("a",{class:"header-anchor",href:"#json-键值","aria-label":'Permalink to "JSON 键值"'},"​")],-1),ss=s("p",null,[i("JSON 键值对以 "),s("code",null,'"key": value'),i(" 的形式表达,需要包裹在 "),s("code",null,"{}"),i(" 或 "),s("code",null,"[]"),i(" 中。")],-1),is=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "key"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"value"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),as=s("p",null,[i("其中键名必须用 "),s("code",null,'""'),i(" 包裹,值可以是如下类型:")],-1),ls=s("ul",null,[s("li",null,"整数、浮点数(即小数)"),s("li",null,[i("字符串(由 "),s("code",null,'""'),i(" 包裹,不可以是 "),s("code",null,"''"),i(")")]),s("li",null,[i("布尔值("),s("code",null,"true"),i(" 或 "),s("code",null,"false"),i(")")]),s("li",null,[i("数组:由 "),s("code",null,"[]"),i(" 包裹的一组值")]),s("li",null,[i("对象:由 "),s("code",null,"{}"),i(" 包裹的一组键值对")]),s("li",null,[s("code",null,"null"),i(":空")])],-1),ns=s("h3",{id:"json-数组",tabindex:"-1"},[i("JSON 数组 "),s("a",{class:"header-anchor",href:"#json-数组","aria-label":'Permalink to "JSON 数组"'},"​")],-1),ts=s("p",null,[i("由 "),s("code",null,"[]"),i(" 包裹的一组值,使用 "),s("code",null,","),i(" 分割。")],-1),hs=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"[")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "CoC"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "D&D"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),es=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"[")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "CoC"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "D&D"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// 此处可以多出一个逗号")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),ks=s("h3",{id:"json-对象",tabindex:"-1"},[i("JSON 对象 "),s("a",{class:"header-anchor",href:"#json-对象","aria-label":'Permalink to "JSON 对象"'},"​")],-1),ps=s("p",null,[i("由 "),s("code",null,"{}"),i(" 包裹的一组键值对,使用 "),s("code",null,","),i(" 分割。")],-1),Es=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "海豹核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," },")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "狐狸核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个更加简单易用的跑团骰子系统(什"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"根本不存在"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),ds=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "海豹核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个简单易用的跑团骰子系统"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"持续开发中"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// 此处可以多出一个逗号")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," },")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "狐狸核心"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": {")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "简介"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"一个更加简单易用的跑团骰子系统(什"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "状态"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"根本不存在"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// 此处可以多出一个逗号")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }, "),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// 此处可以多出一个逗号")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),os={id:"注释",tabindex:"-1"},cs=s("a",{class:"header-anchor",href:"#注释","aria-label":'Permalink to "注释 "'},"​",-1),rs=s("h4",{id:"_1-行内注释",tabindex:"-1"},[i("1. 行内注释 "),s("a",{class:"header-anchor",href:"#_1-行内注释","aria-label":'Permalink to "1. 行内注释"'},"​")],-1),gs=s("p",null,[i("以两个斜杠("),s("code",null,"//"),i(")开头,直到该行结束的所有文本都被视为注释。")],-1),ys=s("h4",{id:"_2-注释块",tabindex:"-1"},[i("2. 注释块 "),s("a",{class:"header-anchor",href:"#_2-注释块","aria-label":'Permalink to "2. 注释块"'},"​")],-1),us=s("p",null,[i("从序列 "),s("code",null,"/*"),i(" 开始到随后出现的第一个 "),s("code",null,"*/"),i(" 序列为止的所有文本,包括换行,都被视为注释。")],-1),Fs=s("h3",{id:"yaml-注释",tabindex:"-1"},[i("YAML 注释 "),s("a",{class:"header-anchor",href:"#yaml-注释","aria-label":'Permalink to "YAML 注释"'},"​")],-1),Cs=s("p",null,[i("注释以 "),s("code",null,"#"),i(" 开头。")],-1),_s=s("h3",{id:"yaml-键值",tabindex:"-1"},[i("YAML 键值 "),s("a",{class:"header-anchor",href:"#yaml-键值","aria-label":'Permalink to "YAML 键值"'},"​")],-1),ms=s("p",null,[i("YAML 键值对使用冒号结构表示 "),s("code",null,"key: value"),i(",冒号后面要加一个空格。")],-1),bs=s("p",null,"值可以是如下类型:",-1),Bs=s("ul",null,[s("li",null,[i("字符串: "),s("ul",null,[s("li",null,[i("直接表示:"),s("code",null,"这是一段字符串")]),s("li",null,[i("可以使用 "),s("code",null,'""'),i(" 或者 "),s("code",null,"''"),i("包裹,双引号不会对特殊字符转义:"),s("code",null,"'Hello world'")])])]),s("li",null,[i("布尔值:"),s("code",null,"true"),i(),s("code",null,"false")]),s("li",null,"整数、浮点数(即小数)"),s("li",null,[i("Null:用 "),s("code",null,"~"),i(" 表示")]),s("li",null,"时间、日期:采用 ISO8601 格式")],-1),vs=s("h3",{id:"yaml-对象",tabindex:"-1"},[i("YAML 对象 "),s("a",{class:"header-anchor",href:"#yaml-对象","aria-label":'Permalink to "YAML 对象"'},"​")],-1),qs=s("p",null,"可以使用行内语法表示对象:",-1),As=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"海豹核心"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": { "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"简介"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"一个简单易用的跑团骰子系统"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"状态"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"持续开发中"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"狐狸核心"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": { "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"简介"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"一个更加简单易用的跑团骰子系统(什"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"状态"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"根本不存在"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," }")])])])],-1),xs=s("p",null,"也可以使用缩进层级表示对象关系(推荐):",-1),fs=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"海豹核心"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," 简介"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"一个简单易用的跑团骰子系统")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," 状态"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"持续开发中")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"狐狸核心"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," 简介"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"一个更加简单易用的跑团骰子系统(什")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," 状态"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"根本不存在")])])])],-1),Ds=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"注意:缩进是有含义的"),s("p",null,"在 YAML 中,缩进是有含义的,缩进的长度表示了层级。"),s("p",null,[i("缩进不允许 tab,只允许使用空格。缩进的空格数并不重要,但"),s("strong",null,"相同层级的元素必须左对齐"),i("。")]),s("p",null,"当你在复制粘贴 YAML 文本时,请务必注意这一点,格式错乱会无法识别。")],-1),Ts=s("h3",{id:"yaml-数组",tabindex:"-1"},[i("YAML 数组 "),s("a",{class:"header-anchor",href:"#yaml-数组","aria-label":'Permalink to "YAML 数组"'},"​")],-1),Ps=s("p",null,"YAML 可以使用行内语法表示数组:",-1),js=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"[ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"A"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"B"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"C"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")])])])],-1),Ss=s("p",null,[i("也可以使用以 "),s("code",null,"-"),i(" 开头的行表示构成一个数组:")],-1),ws=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"- "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"A")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"- "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"B")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"- "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"C")])])])],-1),Ls=s("p",null,"数据结构的子成员是一个数组,则可以在该项下面缩进一个空格:",-1),Ms=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"TRPG"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"name"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"CoC")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," version"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'7'")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"name"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"D&D")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}}," version"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"5e")])])])],-1),Os=s("div",{class:"tip custom-block"},[s("p",{class:"custom-block-title"},"提示:复杂的 YAML"),s("p",null,"YAML 的语法极其灵活,同一种形式在 YAML 中可以有多种等价表示方法,这里只列出了常见的。"),s("p",null,"如果你在阅读其它人的 YAML 牌堆时遇上了看不懂的内容,建议通过更系统的教程学习。")],-1),Ns=e("",5),Is=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 元信息表")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"meta"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"title = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"野兽牌堆"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"author = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"田所浩二"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 有多个作者时可以使用,两者仅需保留一行")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"authors = ["),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"田所浩二"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"version = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"1.0"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"license = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"CC-BY-NC-SA 4.0"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"date = "),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1919-08-10")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"update_date = "),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1919-08-10")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"desc = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"这个示例牌堆怎么这么臭(恼)"')]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 牌组表")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"快端上来罢" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "哼哼哼啊啊啊啊啊"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你是一个一个一个牌堆结果"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"数字论证" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "114514"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "1919810"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),Ys=s("p",null,[i("一个 TOML 牌堆的最基本格式如上。其中 "),s("code",null,"meta"),i(" 表中的信息不是必须的,但我们非常建议你保留并填写这些项,它们能在分享时说明更多信息:")],-1),Js=s("ul",null,[s("li",null,[s("code",null,"title"),i(":牌堆的标题;")]),s("li",null,[s("code",null,"author"),i("/"),s("code",null,"authors"),i(":牌堆作者;")]),s("li",null,[s("code",null,"date"),i(":牌堆创建日期;")]),s("li",null,[s("code",null,"updateDate"),i(":牌堆更新日期;")]),s("li",null,[s("code",null,"desc"),i(":牌堆简介;")]),s("li",null,[s("code",null,"version"),i(":牌堆版本;")]),s("li",null,[s("code",null,"license"),i(":牌堆协议。")])],-1),Vs=s("p",null,[i("可以将上述内容保存名为 "),s("code",null,"野兽牌堆.toml"),i("(名称任意,但必须是以 "),s("code",null,".toml"),i(" 为后缀扩展名)的文件进行测试。")],-1),$s=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_title"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"野兽牌堆"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_author"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"田所浩二"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_date"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"1919-08-10"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_updateDate"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"1919-08-10"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_brief"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"这个示例牌堆怎么这么臭(恼)"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_version"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"1.0"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_license"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"CC-BY-NC-SA 4.0"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "快端上来罢"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "哼哼哼啊啊啊啊啊"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你是一个一个一个牌堆结果"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "数字论证"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "114514"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "1919810"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Us=s("p",null,[i("一个 JSON 牌堆的最基本格式如上。其中以 "),s("code",null,"_"),i(" 开头的项不是必须的,但是我们非常建议你保留并填写这些项,它们能在分享时说明更多信息:")],-1),Rs=s("ul",null,[s("li",null,[s("code",null,"_title"),i(":牌堆的标题;")]),s("li",null,[s("code",null,"_author"),i(":牌堆作者;")]),s("li",null,[s("code",null,"_date"),i(":牌堆创建日期;")]),s("li",null,[s("code",null,"_updateDate"),i(":牌堆更新日期;")]),s("li",null,[s("code",null,"_brief"),i(":牌堆简介;")]),s("li",null,[s("code",null,"_version"),i(":牌堆版本;")]),s("li",null,[s("code",null,"_license"),i(":牌堆协议。")])],-1),Ks=s("p",null,[i("可以将上述内容保存名为 "),s("code",null,"野兽牌堆.json"),i("(名称任意,但必须是以 "),s("code",null,".json"),i(" 为后缀扩展名)的文件进行测试。")],-1),zs=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"name"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"野兽牌堆")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"author"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"田所浩二")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"version"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"license"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"CC-BY-NC-SA 4.0")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"desc"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"这个示例牌堆怎么这么臭(恼)")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"command"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"快端上来罢"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"哼哼哼啊啊啊啊啊")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"你是一个一个一个牌堆结果")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"数字论证"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'114514'")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'1919810'")])])])],-1),Ws=s("p",null,"一个 YAML 牌堆的最基本格式如上。其中上半部分的一些项不是必须的,但是我们非常建议你保留并填写这些项,它们能在分享时说明更多信息:",-1),Gs=s("ul",null,[s("li",null,[s("code",null,"name"),i(":牌堆的标题;")]),s("li",null,[s("code",null,"author"),i(":牌堆作者;")]),s("li",null,[s("code",null,"version"),i(":牌堆版本,应是一个整数;")]),s("li",null,[s("code",null,"license"),i(":牌堆协议;")]),s("li",null,[s("code",null,"desc"),i(":牌堆简介。")])],-1),Zs=s("p",null,[i("可以将上述内容保存名为 "),s("code",null,"野兽牌堆.yaml"),i("(名称任意,但必须是以 "),s("code",null,".yaml"),i(" 或 "),s("code",null,".yml"),i(" 为后缀扩展名)的文件进行测试。")],-1),Hs=e("",5),Qs=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"时间点" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"追尾了" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%时间点}追尾了一辆高级黑色轿车"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),Xs=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "时间点"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),si=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"注意:YAML 的放回表示"),s("p",null,"YAML 牌堆中的表示正好相反:"),s("ul",null,[s("li",null,[s("code",null,"{key}"),i(" 表示放回抽取;")]),s("li",null,[s("code",null,"{%key}"),i(" 表示不放回抽取。")])])],-1),ii=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"时间点"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"早上")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"中午")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"晚上")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"追尾了"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"在{时间点}追尾了一辆高级黑色轿车")])])])],-1),ai=e("",16),li=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"捕捉海豹" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "::9::海豹"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "✨闪光海豹✨"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),ni=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "捕捉海豹"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "::9::海豹"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "✨闪光海豹✨"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),ti=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"捕捉海豹"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"::9::海豹")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"✨闪光海豹✨")])])])],-1),hi=e("",21),ei=s("p",null,[i("在 TOML 牌堆中,当牌组的名称以 "),s("code",null,"_"),i(" 开头,那么这个牌组将不会暴露在 "),s("code",null,".draw keys"),i(" 中。")],-1),ki=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"_时间点" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"追尾了" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%_时间点}追尾了一辆高级黑色轿车"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),pi=s("p",null,[i("这样在 "),s("code",null,".draw keys"),i(" 中就不会展示 "),s("code",null,"_时间点"),i(" 这一牌组。")],-1),Ei=s("p",null,[i("在 JSON 牌堆中,可以通过配置牌堆文件的 "),s("code",null,"_keys"),i(" 指定所有显示的牌组,未指定在列表中的牌组将不会暴露在 "),s("code",null,".draw keys"),i(" 中。")],-1),di=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_keys"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "时间点"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),oi=s("p",null,[i("这样在 "),s("code",null,".draw keys"),i(" 中就不会展示 "),s("code",null,"时间点"),i(" 这一牌组。")],-1),ci=s("p",null,[i("YAML 牌堆"),s("strong",null,"没有支持"),i("这一功能。")],-1),ri=s("p",null,[i("被隐藏的项不会在 "),s("code",null,".draw keys"),i(" 中展示,但依然可以通过指定 "),s("code",null,".draw "),i(" 的方法抽取。如果你希望某些牌组彻底隐藏,只能在牌堆内部调用,可以通过配置它们的导出来实现:")],-1),gi=s("p",null,[i("在 TOML 牌堆中,当牌组的名称以 "),s("code",null,"__"),i("(双下划线)开头,那么这个牌组将不导出,即无法使用 "),s("code",null,".draw "),i(" 进行抽取,更不会显示在列表中。")],-1),yi=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"__时间点" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"追尾了" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%__时间点}追尾了一辆高级黑色轿车"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),ui=s("p",null,[i("在 JSON 牌堆中,当牌组的名称以 "),s("code",null,"_"),i(" 开头,那么这个牌组将不导出,即无法使用 "),s("code",null,".draw "),i(" 进行抽取,更不会显示在列表中。")],-1),Fi=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_时间点"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%_时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Ci=s("p",null,[i("这样 "),s("code",null,"_时间点"),i(" 这一牌组无法再用 "),s("code",null,".draw _时间点"),i(" 抽取了。")],-1),_i=s("p",null,[i("此外,通过配置牌堆文件的 "),s("code",null,"_export"),i("/ "),s("code",null,"_exports"),i(" 可以指定所有的导出项。未指定在列表中的牌组将无法使用 "),s("code",null,".draw "),i(" 进行抽取,更不会显示在列表中。")],-1),mi=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_exports"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "时间点"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "早上"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "中午"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "晚上"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "追尾了"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "在{%时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),bi=s("p",null,[i("如果在 YAML 牌堆中定义了 "),s("code",null,"default"),i(" 字段,海豹将以 "),s("code",null,"command"),i(" 字段的值为关键字,"),s("code",null,"default"),i(" 字段的值为内容组成一个牌组。除了这个牌组以外的牌组都被视为不导出。")],-1),Bi=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"command"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"追尾了")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"default"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"在{时间点}追尾了一辆高级黑色轿车"')]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"时间点"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"早上")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"中午")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"晚上")])])])],-1),vi=s("p",null,[i("在以上例子中,"),s("code",null,".draw keys"),i(" 将只列出 "),s("code",null,"追尾了"),i(";"),s("code",null,".draw 时间点"),i(" 将提示找不到牌组。")],-1),qi=e("",4),Ai=s("p",null,[i("配置牌堆文件的 "),s("code",null,"updateUrls"),i(" 以指定对应的更新链接:")],-1),xi=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"meta"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"title = "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"野兽牌堆"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"updateUrls = [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "https://updateurl.com"'),s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 此处填写你的更新链接")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"# 牌组表")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"快端上来罢" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "哼哼哼啊啊啊啊啊"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你是一个一个一个牌堆结果"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"数字论证" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "114514"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "1919810"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),fi=s("p",null,[i("配置牌堆文件的 "),s("code",null,"_updateUrls"),i(" 以指定对应的更新链接:")],-1),Di=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_title"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"野兽牌堆"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "_updateUrls"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [ "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"https://updateurl.com"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "快端上来罢"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "哼哼哼啊啊啊啊啊"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你是一个一个一个牌堆结果"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ],")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "数字论证"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "114514"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "1919810"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Ti=s("p",null,[i("配置牌堆文件的 "),s("code",null,"update_urls"),i(" 以指定对应的更新链接:")],-1),Pi=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"name"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"野兽牌堆")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"update_urls"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'https://updateurl.com'")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"快端上来罢"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"哼哼哼啊啊啊啊啊")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"你是一个一个一个牌堆结果")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"数字论证"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'114514'")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'1919810'")])])])],-1),ji=e("",4),Si=s("div",{class:"language-toml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"toml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"decks"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},'"幸运转盘" = [')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你抽到了114金币,你现在有[$m金币=$m金币+114]"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你失去了514金币,你现在有[$m金币=$m金币-514]"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]")])])])],-1),wi=s("div",{class:"language-json vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"json"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"{")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' "幸运转盘"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": [")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你抽到了114金币,你现在有[$m金币=$m金币+114]"'),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},",")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "你失去了514金币,你现在有[$m金币=$m金币-514]"')]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"}")])])])],-1),Li=s("div",{class:"language-yaml vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"yaml"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"}},"幸运转盘"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"你抽到了114金币,你现在有[$m金币=$m金币+114]")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," - "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"你失去了514金币,你现在有[$m金币=$m金币-514]")])])])],-1),Mi=e("",24);function Oi(Ni,Ii,Yi,Ji,Vi,$i){const n=k("PluginTabsTab"),t=k("Badge"),h=k("PluginTabs");return d(),E("div",null,[g,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[y,u,F,C,_,m,b,B,v,q,A,x,f,D,T,P,j,S,w,L,M,O,N,I,Y,J,V,$,U]),_:1}),a(n,{label:"json"},{default:l(()=>[s("div",R,[s("p",K,[i("JSON with Comment / JWCC "),a(t,{type:"tip",text:"v1.4.4"})]),s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.4"}),i(" 起,海豹支持在牌堆中使用 "),z,i(" 。")]),W,G,s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.5"}),i(" 开始,海豹支持读取以 "),Z,i(" 为扩展名的牌堆文件。我们推荐采用这种方式,将使用扩展语法的牌堆与标准 JSON 牌堆区分开,以示它们的不同,但是否这样做取决于你的选择。")])]),s("div",H,[Q,s("p",null,[i("如果你使用 "),a(t,{type:"warning",text:"v1.4.3"}),i(" 或更早版本的海豹核心,你仍必须使用 标准 JSON 牌堆。")])]),X,ss,is,as,ls,ns,ts,hs,s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.4"}),i(" 版本开始支持尾逗号,即在数组尾部有多余逗号时不再报错。")]),es,ks,ps,Es,s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.4"}),i(" 版本开始支持尾逗号,即在对象尾部有多余逗号时不再报错。")]),ds,s("h3",os,[i("注释 "),a(t,{type:"tip",text:"v1.4.4"}),i(),cs]),s("p",null,[i("从 "),a(t,{type:"tip",text:"v1.4.4"}),i(" 开始支持 C/C++ 风格的注释。以下为简要说明。")]),rs,gs,ys,us]),_:1}),a(n,{label:"yaml"},{default:l(()=>[Fs,Cs,_s,ms,bs,Bs,vs,qs,As,xs,fs,Ds,Ts,Ps,js,Ss,ws,Ls,Ms,Os]),_:1})]),_:1}),Ns,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[Is,Ys,Js,Vs]),_:1}),a(n,{label:"json"},{default:l(()=>[$s,Us,Rs,Ks]),_:1}),a(n,{label:"yaml"},{default:l(()=>[zs,Ws,Gs,Zs]),_:1})]),_:1}),Hs,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[Qs]),_:1}),a(n,{label:"json"},{default:l(()=>[Xs]),_:1}),a(n,{label:"yaml"},{default:l(()=>[si,ii]),_:1})]),_:1}),ai,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[li]),_:1}),a(n,{label:"json"},{default:l(()=>[ni]),_:1}),a(n,{label:"yaml"},{default:l(()=>[ti]),_:1})]),_:1}),hi,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[ei,ki,pi]),_:1}),a(n,{label:"json"},{default:l(()=>[Ei,di,oi]),_:1}),a(n,{label:"yaml"},{default:l(()=>[ci]),_:1})]),_:1}),ri,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[gi,yi]),_:1}),a(n,{label:"json"},{default:l(()=>[ui,Fi,Ci,_i,mi]),_:1}),a(n,{label:"yaml"},{default:l(()=>[bi,Bi,vi]),_:1})]),_:1}),qi,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[Ai,xi]),_:1}),a(n,{label:"json"},{default:l(()=>[fi,Di]),_:1}),a(n,{label:"yaml"},{default:l(()=>[Ti,Pi]),_:1})]),_:1}),ji,a(h,{sharedStateKey:"deck-format"},{default:l(()=>[a(n,{label:"toml"},{default:l(()=>[Si]),_:1}),a(n,{label:"json"},{default:l(()=>[wi]),_:1}),a(n,{label:"yaml"},{default:l(()=>[Li]),_:1})]),_:1}),Mi])}const Ki=p(r,[["render",Oi]]);export{Ri as __pageData,Ki as default}; diff --git a/assets/advanced_edit_helpdoc.md.CLCbOSs0.js b/assets/advanced_edit_helpdoc.md.CLCbOSs0.js new file mode 100644 index 000000000..280829acb --- /dev/null +++ b/assets/advanced_edit_helpdoc.md.CLCbOSs0.js @@ -0,0 +1,29 @@ +import{_ as s,c as i,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"编写帮助文档","description":"","frontmatter":{"lang":"zh-cn","title":"编写帮助文档"},"headers":[],"relativePath":"advanced/edit_helpdoc.md","filePath":"advanced/edit_helpdoc.md","lastUpdated":1714442589000}'),n={name:"advanced/edit_helpdoc.md"},l=t(`

编写帮助文档

本节内容

本节将介绍帮助文档的编写,请善用侧边栏和搜索,按需阅读文档。

我们假定你已了解 JSON 格式。如果你对 JSON 还很陌生,可以阅读以下教程或自行在互联网搜索:

创建 JSON 格式的帮助文档

你可以直接按照以下格式书写 <helpdoc>.json

json
{
+  "mod": "名字",
+  "author": "作者",
+  "brief": "概述",
+  "comment": "备注",
+  "helpdoc": {
+    "词条A": "词条 A 的具体内容。",
+    "词条B": "词条 B 的具体内容。",
+    "词条C": "[图:data/images/sealdice.png] 词条 C 的图片与内容。"
+  }
+}

若你的文本需要换行,你可以使用 \\n 作为换行符,而不是在编写时直接换行,这会导致格式错误。你还可以使用 \\f{FormFeed} 作为分页符。

注意:标准 JSON 而不是 JSON5

海豹支持的 JSON 帮助文档是「标准 JSON」格式,诸如注释,尾逗号等语法不属于 JSON 语法,而是 JSON5 这个扩展标准的语法,出错时请严格检查。

目前暂不考虑支持 JSON5 标准。

注意:文件编码

永远使用 UTF-8 编码编写 helpdoc。

你可以在 JSON 格式的帮助文档中嵌套引用其它条目:

json
{
+  "helpdoc": {
+    "词条A": "词条 A 的具体内容。",
+    "词条B": "{词条A}词条 B 的具体内容。",
+    "词条C": "你还可以 {词条A}\\n{词条B}"
+  }
+}

如此一来当你发送 .help 词条 B 时,骰子将回复:「词条 A 的具体内容。词条 B 的具体内容。」。

示例文档:塔罗牌(节选)

json
{
+  "mod": "KIYTarot",
+  "author": "浣熊旅記",
+  "brief": "KIY 塔罗牌",
+  "comment": "释义来源网络。",
+  "helpdoc": {
+    "愚者逆位": "漂泊,冒险,鲁莽,冒失,疯狂,无视物质损失,灵魂堕落,内心空虚,感情轻浮。",
+    "魔术师逆位": "方向错误,被骗或失败,局面失控,二流角色,缺乏热忱和创造力,爱情难有进展。",
+    "女祭司逆位": "挑剔,贪心,目光短浅,洁癖,不适宜的激情,自尊心太强,锋芒外露,单相思。",
+    "女皇逆位": "冷淡,缺乏上进心,困难,享乐,环境险恶,贴近自然,自负,纠纷,感情挫折。",
+    "皇帝逆位": "幼稚,挫折,武断,滥用权利,冷酷,占有欲和控制力强烈,感情勉强。"
+  }
+}

创建 EXCEL 格式的帮助文档

你还可以按照以下格式书写 <helpdoc>.xlsx

KeySynonymContentDescriptionCatalogueTag
词条 A词条同义词词条内容对词条的简述所属目录内容 TAG
海豹骰豹骰/海豹/sealdice一个简单易用的跑团骰子系统。\\n形象是海豹,可以被叫做海豹骰、豹骰,豹子骰之类。

Excel 格式的 helpdoc 分为 KeySynonymContentDescriptionCatalogueTag 六块,其中第二列、后三项为选填,一般情况下你都可以留空。

  • Synonym 列可以填写多个同义词,使用 / 分隔即可。
  • Excel 中的词条内容可以直接换行(也可以使用 \\n 来换行,但不支持其它换行符与分页符),因此它常用来快速编写有大段文字的帮助文档。
  • 帮助文档所在工作表的名称会作为前缀加入词条。如将工作表命名为 测试,则对应的词条会显示为 测试:词条 A。由于海豹的 .find 指令会对词条进行模糊检索,所以你不必担心前缀对查询带来的影响。

注意:必须保留首行!

不要删去第一行的 KeySynonym 等词。请从第二行开始编写词条。

提示:EXCEL 格式的帮助文档

<helpdoc>.xlsx 原本是梨骰用于 D&D 词条查询的格式,但海豹同样可以读取它。

`,20),h=[l];function p(e,k,o,d,E,c){return a(),i("div",null,h)}const g=s(n,[["render",p]]);export{u as __pageData,g as default}; diff --git a/assets/advanced_edit_helpdoc.md.CLCbOSs0.lean.js b/assets/advanced_edit_helpdoc.md.CLCbOSs0.lean.js new file mode 100644 index 000000000..6c66f275e --- /dev/null +++ b/assets/advanced_edit_helpdoc.md.CLCbOSs0.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"编写帮助文档","description":"","frontmatter":{"lang":"zh-cn","title":"编写帮助文档"},"headers":[],"relativePath":"advanced/edit_helpdoc.md","filePath":"advanced/edit_helpdoc.md","lastUpdated":1714442589000}'),n={name:"advanced/edit_helpdoc.md"},l=t("",20),h=[l];function p(e,k,o,d,E,c){return a(),i("div",null,h)}const g=s(n,[["render",p]]);export{u as __pageData,g as default}; diff --git a/assets/advanced_edit_reply.md.BT5CMtyF.js b/assets/advanced_edit_reply.md.BT5CMtyF.js new file mode 100644 index 000000000..3a6906552 --- /dev/null +++ b/assets/advanced_edit_reply.md.BT5CMtyF.js @@ -0,0 +1,97 @@ +import{_ as o,D as i,c,j as a,I as s,w as t,a8 as e,o as d}from"./chunks/framework.C7ysi3tu.js";const h="/sealdice-manual-next/assets/edit-reply-random-pic.BERq9XNC.png",r="/sealdice-manual-next/assets/edit-reply-single-person-mod1.CcMT0-k7.png",u="/sealdice-manual-next/assets/edit-reply-single-person-mod2.RQYejdzJ.png",k="/sealdice-manual-next/assets/edit-reply-single-person-mod3.a_KOIlqv.png",Q=JSON.parse('{"title":"编写自定义回复","description":"","frontmatter":{"lang":"zh-cn","title":"编写自定义回复"},"headers":[],"relativePath":"advanced/edit_reply.md","filePath":"advanced/edit_reply.md","lastUpdated":1718023895000}'),m={name:"advanced/edit_reply.md"},g=e(`

编写自定义回复

本节内容

本节将展示自定义回复编写的进阶部分,请善用侧边栏和搜索,按需阅读文档。

我们假定你已经阅读了自定义回复编写的 基础部分(「配置 - 自定义回复」节)。如果你还没有阅读该章节,请先阅读这一节。

在部分内容中,我们假定你了解海豹变量机制和正则表达式。如果你对正则表达式还很陌生,可以参考以下材料,或在互联网自行搜索学习。

海豹核心跟随 Go 语言,采用 RE2 规范。该规范与其他规范在个别扩展语法上存在细微差别,请注意辨析。

在使用 Regex 101 网站时,请注意在左侧的「FLAVOR」栏选中「Golang」,以确保正则表达式的表现一致。

第一个自定义回复

首先我们打开「自定义回复」页,新建一项自定义回复。

提示:使用 .text 帮助测试

.text <文本> 将是你的一大助力,它会输出后面文本的执行结果,你可以将它看成不需要触发词的自定义回复。

当然,在采用 .text 指令进行 debug 时,可能出现因为测试的内容对变量造成影响,而不得不频繁复制黏贴清空指令的情况。此时建议专门开一个一两个字即可触发的自定义回复,用来测试。

提示:嵌入 CQ 码

返回内容可以嵌入 CQ 码。CQ 码文档见 CQ 码列表

自定义回复中分「条件」和「结果」两个部分。在 配置 - 自定义回复 中,我们已经了解了一些简单的回复编写,下面将补充介绍进阶内容。

触发条件

文本匹配:模糊匹配

模糊匹配将比较收到的消息与指定文本,内容相似时触发。

比较定义在 dice/ext_reply_logic.go 中,内容 jaro 和 hamming 平均值高于阈值(0.7)被认为是相似:

go
func strCompare(a string, b string) float64 {
+	va := strsim.Compare(a, b, strsim.Jaro())
+	vb := strsim.Compare(a, b, strsim.Hamming())
+	return (va + vb) / 2
+}

提示:模糊匹配未命中

模糊匹配可能出现感觉能匹配上,但实际上没办法匹配上的情况。我们更建议你使用「包含文本」或「正则匹配」。

文本匹配:正则匹配

使用正则匹配时,直接在要匹配的文本一栏中写入正则表达式即可。当正则表达式获得匹配时,该条件得到满足。

对于正则表达式中的捕获组,海豹遵循命令行脚本的通行做法,将其按顺序存储于多个变量 $t1 $t2 等。

text
正则匹配:^购买(.+)
+输出文本:{$t玩家}购买了{$t1}
`,17),b={class:"info custom-block"},$=a("p",{class:"custom-block-title"},"示例",-1),_=e('

可以发现第 1 捕获组命中的字符串 猫粮,被存储于变量 $t1 中。

此外,对于正则表达式匹配的完整内容将被存储于变量 $t0。如果捕获组存在命名,如命名为 A 的捕获组 (?P<A>cc),命中的字符串也将额外存入变量 $tA

注意:不要使用某些前缀!

由于 . / ! 等符号会作为海豹中指令的前缀,因此作为前缀时可能导致将其识别为指令而非自定义回复的情况,建议换成别的前缀。

提示:正则中匹配 CQ 码

海豹支持用正则匹配 CQ 码。但是,由于 [ ] 符号在正则表达式中含有特殊含义,如果你这么做了,请对它们进行转义。

示例:^\\[CQ:xxx,xx=xxx\\]

表达式为真

在「表达式为真」匹配中,只需要直接在匹配文本中写出形如 变量名 == 需要的值 的形式即可,不需要使用任何 {}

回复结果

在回复文本中,可以调用一些 变量,也可以嵌入 内置脚本语言

嵌入脚本语言

',9),x={class:"info custom-block"},v=a("p",{class:"custom-block-title"},"示例",-1),y=e(`

提示:未赋值的变量

所有变量在未被赋值时被调用的值都为 0。

执行块

{% %} 被称为执行块。由 {% %} 括起来的部分会被作为代码执行,输出最后一个语句的结果。执行块中的两个语句之间要使用 ; 隔开。

如果想要输出字符串,则应该用 \` / " / ' 括上。

  • 例:形如 {% \\$t1="114514" %} 的式子会输出 114514

提示:结果中调用变量

若想在结果中调用变量,请用反引号。目前海豹只支持在反引号中调用变量。

下面是一个简单的示例,这里的第一句也是最后一句,所以它的结果会被输出。

text
.text {% $t测试=1 %}

示例:使用 if

text
{%
+$t测试=1;
+if $t测试==1 {$t输出="赞美木落"};
+if $t测试==2 {$t输出="快点更新"};
+if $t测试!=2&&$t测试!=1 {$t输出="群主女装"}
+%}
+{$t输出}

首先给 $t测试赋值为 1,然后进入判断:

  1. 如果 $t测试 等于 1,则变量 $t输出 等于 "赞美木落"
  2. 如果 $t测试 等于 2,则变量 $t输出 等于 "快点更新"
  3. 如果 $t测试 既不等于 2 也不等于 1,则变量 $t输出 等于 "群主女装";

最后,输出变量 $t输出

提示:容易误解的 if 使用

目前海豹语并不支持 else if / elififelse 是一对一匹配的。所以当形如:

text
if <条件 1> {<执行 1>};
+if <条件 2> {<执行 2>}
+else {<执行 3>}

的语句出现时,第二个 ifelse 为一个整体,且不与第一个 if 构成 if elseif else 的关系!即使 <条件 1> 满足,其仍会对 <条件 2> 进行判断,并在 <执行 2><执行 3> 中择一执行!

示例:变量运算

text
{%
+$t0 = 1;
+$tRand = d6;
+if $t0 == 1 { $t0 = $t0 + $tRand }
+%}
+{$t0}

在这个例子里,我们先给 $t0 赋值为 1,然后判断 $t0 是否等于 1,若通过则 $t0 的值增加 1d6,最后输出结果。

更多示例片段

牌堆与自定义回复的结合

以养猫功能中猫好感度为例:

text
{%
+$mCatFavor<=100 ? \`#{DRAW-第一档猫好感}\`,
+$mCatFavor<=250 ? \`#{DRAW-第二档猫好感}\`,
+$mCatFavor<=600 ? \`#{DRAW-第三档猫好感}\`,
+$mCatFavor<=1500 ? \`#{DRAW-第四档猫好感}\`,
+$mCatFavor<=2500 ? \`#{DRAW-第五档猫好感}\`,
+1 ? \`#{DRAW-第六档猫好感}\`
+%}

在这一脚本中,根据猫好感度 $mCatFavor不同,需要输出不同回复的机制。

补充:其它写法

除了形如

text
{%
+判断1 ? \`#{DRAW-牌组1}\`,
+判断2 ? \`#{DRAW-牌组2}\`,
+判断3 ? \`#{DRAW-牌组3}\`,
+1 ? \`#{DRAW-牌组4}\`,
+%}

的写法外,还可以使用:

text
{%
+if 判断1 {
+  $tRand=d6;
+  $t输出=$tRand==1 ? \`内容1\`,
+  $t输出=$tRand==2 ? \`内容2\`,
+  $t输出=$tRand==3 ? \`内容3\`,
+  $t输出=$tRand==4 ? \`内容4\`,
+  $t输出=$tRand==5 ? \`内容5\`,
+  $t输出=$tRand==6 ? \`内容6\`
+};
+if 判断2 { $tRand=d10; $t输出 = $tRand==1 ? \`内容1\`, …… };
+if 判断3 { $tRand=d10; $t输出 = $tRand==1 ? \`内容1\`, …… };
+%}

实质上没有太大区别,可根据喜好选择。

多行回复的错误使用

自定义回复中的多行输出通常并不是:

text
{$t输出0}
+{$t输出1}
+{$t输出2}
+{$t输出3}

而是在为四个 $t输出 变量赋值时,于内部写入 \\n,自定义回复中则采用 {$t输出0}{$t输出1}{$t输出2}{$t输出3} 的形式。

这是因为如果某一变量可能为空时,如果采用第一种分行的写法,会出现这样的效果:

`,28),f={class:"info custom-block"},q=a("p",{class:"custom-block-title"},"示例",-1),E=e(`

可以看见,在中间会出现突兀的空行。这是因为虽然 $t输出2 变量为空,海豹仍会按照自定义回复中设置的格式输出。因此在对应 $t输出2 的一行中,海豹会首先输出空变量 {$t输出2},随后按自定义回复的格式进行换行,导致发生空行。

所以,如果想要在某个变量为空时,不让用户注意到突兀的空缺,就最好多做几次实验,好好规划一下换行符 \\n 的位置。

限定每人/每群每天一次

海豹提供了一系列时间变量来调用,以打卡指令为例,可以采用如下两种写法中的一种(示例为每人每天一次,如要每群自行将 $m 换成 $g):

写法 1
文本匹配:你需要的文本
表达式为真:$m变量 != $tDate
回复:{if 1 {$m变量=$tDate}}你需要的回复文本

  • $m变量 作为标记变量,用 if 是防止它出现在回复文本中。

文本匹配:你需要的文本
表达式为真:$m变量==$tDate

  • 可以不写在另一条里,选择放到相较于上一条的后面,利用海豹从上往下逐个匹配的机制达成相同效果

回复:在一天触发多次时的回复

写法 2
文本匹配:你需要的文本
回复:

text
{%
+if $m变量 != $tDate {
+  $t输出 = \`你需要的回复文本\`;
+  $m变量 = $tDate //对其赋值,作为标记
+} else {
+  $t输出 = \`在一天触发多次时的回复\`
+}
+%}
+{$t输出}

以上两种写法实现效果没有差别,具体使用哪种请自行决断。

条件语句嵌套条件算符,多条件条件语句

以石头剪刀布为例,为了实现骰子随机出招的效果,令 $tRand=d3,然后根据 $tRand 的情况赋值 $tDicePlay。通过骰子出招和玩家出招两个变量判断,输出游戏结果,并记录场次。

为了防止直接使用 {%%} 进行赋值导致的变量显示,需要在最外面写 if 1 ,则在生成 $tRand之后再次判断的时候,可以使用 $tDicePlay=条件算符,或是再新开一行用条件算符或者条件语句实现。

以下给出在同一个 if 内直接赋值的写法和新开一行使用条件语句的写法:

text
{% //在同一个if内直接赋值。可以在赋值时使用条件算符。
+if 1 {
+    $tRand=d3;
+    $tDicePlay = $tRand==1 ? "石头",
+                 $tRand==2 ? "剪刀",
+                 1 ? "布"
+}
+%}
+
+{% //新开一行赋值
+if 1 {
+    $tRand=d3;
+};
+if $tRand==1 {$tDicePlay="石头"};
+if $tRand==2 {$tDicePlay="剪刀"};
+if $tRand==3 {$tDicePlay="布"}
+%}

两种写法实现效果相同,石头剪刀布内在这里采用了第一种,实际上没有差别。

生成骰子出招并获取玩家出招之后,就开始判断。这里除了平局可以使用 $tDicePlay==$t0 省事之外,其他的都需要在条件中用多个进行嵌套。

注意:条件判断

豹语语法中,判断时条件中的 ||&& 是从左往右计算的,如果后面有需要优先计算与或的东西,请加好括号。

text
if $t0 == $tDicePlay {
+    $t输出 = \`那我出{$tDicePlay}!{$t玩家}出的是{$t0}啊,我们平局了。\`;
+    $mPlayerTime = $mPlayerTime + 1
+};
+if ($t0=="剪刀" && $tDicePlay=="石头") || ($t0=="石头" && $tDicePlay=="布") || ($t0=="布" && $tDicePlay=="剪刀") {
+    $t输出 = \`那我出{$tDicePlay}!{$t玩家}出的是{$t0}啊,我赢了。\`;
+    $mPlayerTime = $mPlayerTime + 1;
+    $mPlayerLose = $mPlayerLose + 1
+};
+if ($t0=="石头" && $tDicePlay=="剪刀") || ($t0=="布" && $tDicePlay=="石头") || ($t0=="剪刀" && $tDicePlay=="布") {
+    $t输出 = \`那我出{$tDicePlay}!{$t玩家}出的是{$t0}啊,你赢了。\`;
+    $mPlayerTime = $mPlayerTime + 1;
+    $mPlayerWin = $mPlayerWin + 1
+}

同时使用前缀和后缀匹配,以匹配 AxxxxxxxB 型文本

前缀匹配:A
后缀匹配:B
回复:怎么辉石呢

`,23),C={class:"info custom-block"},P=a("p",{class:"custom-block-title"},"示例",-1),A=e('

随机看图

随机看图

单人模组

',3),D={class:"info custom-block"},T=a("p",{class:"custom-block-title"},"示例",-1),R=e('

具体实现,第一段

单人模组第一段

第二段

单人模组第二段

这两段较为常规,第三段开始变形了:

单人模组第三段

text
{%
+    if $mStory == 4 { $mStory = 5 };
+    if $mStory == 3 { $mStory = 4 };
+    if $mStory == 2 { $mStory = 3 };
+
+    $mStory == 3 ? '这个村子有一户人家,门前有两棵树',
+    $mStory == 4 ? '一棵是函树,一棵是反函树',
+    $mStory == 5 ? '我讲完了。',
+    1 ? '?'
+%}
+
+{% if $mStory == 5 { $mStory=0 } %}
`,7);function F(S,B,V,I,W,N){const n=i("ChatBox"),p=i("PluginTabsTab"),l=i("PluginTabs");return d(),c("div",null,[g,a("div",b,[$,s(n,{messages:[{content:"购买猫粮",send:!0},{username:"海豹牌猫粮店",content:"<木落>购买了猫粮"}]})]),_,a("div",x,[v,s(n,{messages:[{content:".text {$t玩家}进行测试",send:!0},{content:"<木落>进行测试"},{content:".text {d100}",send:!0},{content:"1"}]})]),y,a("div",f,[q,s(n,{messages:[{content:"踢海豹",send:!0},{content:`<木落>一脚踢向海豹,踢了3格。 +海豹现在离终点还有37格。 + +海豹的逃走骰:1d100=60,海豹没能逃脱凶猛恶汉们的掌控!`}]})]),E,a("div",C,[P,s(l,null,{default:t(()=>[s(p,{label:"输入:AB"},{default:t(()=>[s(n,{messages:[{content:"AB",send:!0},{content:"怎么辉石呢"}]})]),_:1}),s(p,{label:"输入:A间隔B"},{default:t(()=>[s(n,{messages:[{content:"A间隔B",send:!0},{content:"怎么辉石呢"}]})]),_:1}),s(p,{label:"输入:A(无回复)"},{default:t(()=>[s(n,{messages:[{content:"A",send:!0}]})]),_:1}),s(p,{label:"输入:B(无回复)"},{default:t(()=>[s(n,{messages:[{content:"B",send:!0}]})]),_:1})]),_:1})]),A,a("div",D,[T,s(n,{messages:[{content:"开始吧 @海豹核心",send:!0},{content:"那么,故事就这么开始了?如果你想听的话,回复我:说下去"},{content:"说下去 @海豹核心",send:!0},{content:"那么,故事要从一个村子说起……(说下去)"},{content:"说下去 @海豹核心",send:!0},{content:"这个村子有一户人家,门前有两棵树"},{content:"说下去 @海豹核心",send:!0},{content:"一棵是函树,一棵是反函树"},{content:"说下去 @海豹核心",send:!0},{content:"我讲完了。"}]})]),R])}const j=o(m,[["render",F]]);export{Q as __pageData,j as default}; diff --git a/assets/advanced_edit_reply.md.BT5CMtyF.lean.js b/assets/advanced_edit_reply.md.BT5CMtyF.lean.js new file mode 100644 index 000000000..4f858a5c9 --- /dev/null +++ b/assets/advanced_edit_reply.md.BT5CMtyF.lean.js @@ -0,0 +1,4 @@ +import{_ as o,D as i,c,j as a,I as s,w as t,a8 as e,o as d}from"./chunks/framework.C7ysi3tu.js";const h="/sealdice-manual-next/assets/edit-reply-random-pic.BERq9XNC.png",r="/sealdice-manual-next/assets/edit-reply-single-person-mod1.CcMT0-k7.png",u="/sealdice-manual-next/assets/edit-reply-single-person-mod2.RQYejdzJ.png",k="/sealdice-manual-next/assets/edit-reply-single-person-mod3.a_KOIlqv.png",Q=JSON.parse('{"title":"编写自定义回复","description":"","frontmatter":{"lang":"zh-cn","title":"编写自定义回复"},"headers":[],"relativePath":"advanced/edit_reply.md","filePath":"advanced/edit_reply.md","lastUpdated":1718023895000}'),m={name:"advanced/edit_reply.md"},g=e("",17),b={class:"info custom-block"},$=a("p",{class:"custom-block-title"},"示例",-1),_=e("",9),x={class:"info custom-block"},v=a("p",{class:"custom-block-title"},"示例",-1),y=e("",28),f={class:"info custom-block"},q=a("p",{class:"custom-block-title"},"示例",-1),E=e("",23),C={class:"info custom-block"},P=a("p",{class:"custom-block-title"},"示例",-1),A=e("",3),D={class:"info custom-block"},T=a("p",{class:"custom-block-title"},"示例",-1),R=e("",7);function F(S,B,V,I,W,N){const n=i("ChatBox"),p=i("PluginTabsTab"),l=i("PluginTabs");return d(),c("div",null,[g,a("div",b,[$,s(n,{messages:[{content:"购买猫粮",send:!0},{username:"海豹牌猫粮店",content:"<木落>购买了猫粮"}]})]),_,a("div",x,[v,s(n,{messages:[{content:".text {$t玩家}进行测试",send:!0},{content:"<木落>进行测试"},{content:".text {d100}",send:!0},{content:"1"}]})]),y,a("div",f,[q,s(n,{messages:[{content:"踢海豹",send:!0},{content:`<木落>一脚踢向海豹,踢了3格。 +海豹现在离终点还有37格。 + +海豹的逃走骰:1d100=60,海豹没能逃脱凶猛恶汉们的掌控!`}]})]),E,a("div",C,[P,s(l,null,{default:t(()=>[s(p,{label:"输入:AB"},{default:t(()=>[s(n,{messages:[{content:"AB",send:!0},{content:"怎么辉石呢"}]})]),_:1}),s(p,{label:"输入:A间隔B"},{default:t(()=>[s(n,{messages:[{content:"A间隔B",send:!0},{content:"怎么辉石呢"}]})]),_:1}),s(p,{label:"输入:A(无回复)"},{default:t(()=>[s(n,{messages:[{content:"A",send:!0}]})]),_:1}),s(p,{label:"输入:B(无回复)"},{default:t(()=>[s(n,{messages:[{content:"B",send:!0}]})]),_:1})]),_:1})]),A,a("div",D,[T,s(n,{messages:[{content:"开始吧 @海豹核心",send:!0},{content:"那么,故事就这么开始了?如果你想听的话,回复我:说下去"},{content:"说下去 @海豹核心",send:!0},{content:"那么,故事要从一个村子说起……(说下去)"},{content:"说下去 @海豹核心",send:!0},{content:"这个村子有一户人家,门前有两棵树"},{content:"说下去 @海豹核心",send:!0},{content:"一棵是函树,一棵是反函树"},{content:"说下去 @海豹核心",send:!0},{content:"我讲完了。"}]})]),R])}const j=o(m,[["render",F]]);export{Q as __pageData,j as default}; diff --git a/assets/advanced_edit_sensitive_words.md.DWrEa8kR.js b/assets/advanced_edit_sensitive_words.md.DWrEa8kR.js new file mode 100644 index 000000000..5c3db12a7 --- /dev/null +++ b/assets/advanced_edit_sensitive_words.md.DWrEa8kR.js @@ -0,0 +1,55 @@ +import{_ as s,c as a,o as n,a8 as i}from"./chunks/framework.C7ysi3tu.js";const g=JSON.parse('{"title":"编写敏感词库","description":"","frontmatter":{"lang":"zh-cn","title":"编写敏感词库"},"headers":[],"relativePath":"advanced/edit_sensitive_words.md","filePath":"advanced/edit_sensitive_words.md","lastUpdated":1698657256000}'),p={name:"advanced/edit_sensitive_words.md"},l=i(`

编写敏感词库

本节内容

本节将介绍敏感词库的编写,请善用侧边栏和搜索,按需阅读文档。

创建文本格式的敏感词库

你可以直接按照以下格式书写 <words>.txt

text
#notice
+提醒级词汇 1
+提醒级词汇 2
+
+#caution
+注意级词汇 1
+注意级词汇 2
+
+#warning
+警告级词汇
+
+#danger
+危险级词汇

创建 TOML 格式的敏感词库

TOML 格式

我们假定你已了解 TOML 格式。如果你对 TOML 还很陌生,可以阅读以下教程或自行在互联网搜索:

你可以直接按照以下格式书写 <words>.toml

toml
# 元信息,用于填写一些额外的展示内容
+[meta]
+# 词库名称
+name = '测试词库'
+# 作者,和 authors 存在一个即可
+author = ''
+# 作者(多个),和 author 存在一个即可
+authors = [ '<匿名>' ]
+# 版本,建议使用语义化版本号
+version = '1.0'
+# 简介
+desc = '一个测试词库'
+# 协议
+license = 'CC-BY-NC-SA 4.0'
+# 创建日期,使用 RFC 3339 格式
+date = 2023-10-30
+# 更新日期,使用 RFC 3339 格式
+updateDate = 2023-10-30
+
+# 词表,出现相同词汇时按最高级别判断
+[words]
+# 忽略级词表,没有实际作用
+ignore = []
+# 提醒级词表
+notice = [
+  '提醒级词汇 1',
+  '提醒级词汇 2'
+]
+# 注意级词表
+caution = [
+  '注意级词汇 1',
+  '注意级词汇 2'
+]
+# 警告级词表
+warning = [
+  '警告级词汇 1',
+  '警告级词汇 2'
+]
+# 危险级词表
+danger = [
+  '危险级词汇 1',
+  '危险级词汇 2'
+]
`,9),t=[l];function e(h,k,d,r,c,E){return n(),a("div",null,t)}const y=s(p,[["render",e]]);export{g as __pageData,y as default}; diff --git a/assets/advanced_edit_sensitive_words.md.DWrEa8kR.lean.js b/assets/advanced_edit_sensitive_words.md.DWrEa8kR.lean.js new file mode 100644 index 000000000..18e316893 --- /dev/null +++ b/assets/advanced_edit_sensitive_words.md.DWrEa8kR.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,a8 as i}from"./chunks/framework.C7ysi3tu.js";const g=JSON.parse('{"title":"编写敏感词库","description":"","frontmatter":{"lang":"zh-cn","title":"编写敏感词库"},"headers":[],"relativePath":"advanced/edit_sensitive_words.md","filePath":"advanced/edit_sensitive_words.md","lastUpdated":1698657256000}'),p={name:"advanced/edit_sensitive_words.md"},l=i("",9),t=[l];function e(h,k,d,r,c,E){return n(),a("div",null,t)}const y=s(p,[["render",e]]);export{g as __pageData,y as default}; diff --git a/assets/advanced_introduce.md.Bwe8a12i.js b/assets/advanced_introduce.md.Bwe8a12i.js new file mode 100644 index 000000000..db9df7f40 --- /dev/null +++ b/assets/advanced_introduce.md.Bwe8a12i.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"进阶介绍","description":"","frontmatter":{"lang":"zh-cn","title":"进阶介绍"},"headers":[],"relativePath":"advanced/introduce.md","filePath":"advanced/introduce.md","lastUpdated":1714442589000}'),r={name:"advanced/introduce.md"},s=o('

进阶介绍

本节内容

本节将介绍海豹扩展功能的进阶内容,请善用侧边栏和搜索,按需阅读文档。

海豹核心提供了多种扩展功能,这些功能能让你实现更多的个性化功能,但通常也需要你具备一些知识。

我们建议,在尝试使用对应功能进行个性化前,先阅读本章的对应小节,帮助你快速掌握相关内容。

阅读完小节教程后,如果在使用中依然存在疑问,可以在官方群内寻求帮助。

了解海豹语

在很多地方为了实现一些逻辑,都需要用到海豹所提供的一种简单的脚本语言,可以称为「海豹语」「豹语」等。

我们非常建议你在扩展功能的编写中,先了解海豹语。见 扩展-内置脚本语言

用什么编写?

在牌堆、JS 插件、敏感词库等的编写中,我们通常需要在对应格式的文件进行编写。

务必使用更专业的编辑器,如果你不知道选择什么,可以尝试使用 vscodesublime text或 MT 管理器(Android)等,这些都是被广泛使用的优秀编辑器。

更专业的编辑器能更好地帮助你编写相关格式的文件。这些编辑器提供的语法高亮、自动补全、格式化、错误检查、编码转换等诸多功能,能为你带来更好的编写体验。

不建议使用 Windows 记事本、Notepad++ 编写。

提示:如何获取安装包?

官网应当是你下载软件的首选途径,请不要被搜索引擎等误导进各种下载站,它们很可能会提供二次封装后、捆绑大量流氓软件的安装包。

但由于各种原因,官网下载可能会十分缓慢,你还可以选择从海豹官方群的群文件中获取安装包。通常群文件的「工具&内置文件」中,请善用搜索。

',14),c=[s];function d(i,n,p,l,_,h){return t(),a("div",null,c)}const f=e(r,[["render",d]]);export{u as __pageData,f as default}; diff --git a/assets/advanced_introduce.md.Bwe8a12i.lean.js b/assets/advanced_introduce.md.Bwe8a12i.lean.js new file mode 100644 index 000000000..ccec43269 --- /dev/null +++ b/assets/advanced_introduce.md.Bwe8a12i.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"进阶介绍","description":"","frontmatter":{"lang":"zh-cn","title":"进阶介绍"},"headers":[],"relativePath":"advanced/introduce.md","filePath":"advanced/introduce.md","lastUpdated":1714442589000}'),r={name:"advanced/introduce.md"},s=o("",14),c=[s];function d(i,n,p,l,_,h){return t(),a("div",null,c)}const f=e(r,[["render",d]]);export{u as __pageData,f as default}; diff --git a/assets/advanced_js_api_list.md.CqdIkvk4.js b/assets/advanced_js_api_list.md.CqdIkvk4.js new file mode 100644 index 000000000..713e67c1d --- /dev/null +++ b/assets/advanced_js_api_list.md.CqdIkvk4.js @@ -0,0 +1,197 @@ +import{_ as s,c as i,o as a,a8 as n}from"./chunks/framework.C7ysi3tu.js";const c=JSON.parse('{"title":"API 列表","description":"","frontmatter":{"lang":"zh-cn","title":"API 列表"},"headers":[],"relativePath":"advanced/js_api_list.md","filePath":"advanced/js_api_list.md","lastUpdated":1721287883000}'),t={name:"advanced/js_api_list.md"},l=n(`

API 列表

本节内容

本节为海豹提供的 JS API 列表。目前的内容是从上古文档中直接迁移过来的,难免存在错误和缺失,参考本节时请注意识别。

更好的方式是参考海豹提供的 seal.d.ts 文件。(但同样存在缺失)

如果你需要最准确的内容,当前只能查阅海豹源码。主要查看 dice_jsvm.go,还有一些 API 以结构体方法的形式存在。

其中 ctx 为信息的 MsgContext,msg 为信息的 Message,一般会在定义指令函数时就声明,如:

javascript
cmd.solve = (ctx, msg, cmdArgs) => {
+    someFunction;
+}

下面是 api 的说明(完全了吧......应该?):

javascript
//被注释掉的 api 是可以提供的,但是在源码中被注释。
+//seal.setVarInt(ctx, \`$XXX\`, valueToSet) //\`$XXX\`即 rollvm(初阶豹语)中的变量,其会将$XXX 的值设定为 int 类型的 valueToSet。
+//seal.setVarStr(ctx, \`$XXX\`, valueToSet) //同上,区别是设定的为 str 类型的 valueToSet。
+seal.replyGroup(ctx, msg, something) //向收到指令的群中发送 something。
+seal.replyPerson(ctx, msg, something) //顾名思义,类似暗骰,向指令触发者(若为好友)私信 something。
+seal.replyToSender(ctx, msg, something) //同上,区别是群内收到就群内发送,私聊收到就私聊发送。
+seal.memberBan(ctx, groupID, userID, dur) //将指定群的指定用户封禁指定时间 (似乎只实现了 walleq 协议?)
+seal.memberKick(ctx, groupID, userID)  //将指定群的指定用户踢出 (似乎也只实现了 walleq 协议?)
+seal.format(ctx, something) //将 something 经过一层 rollvm 转译并返回,注意需要配合 replyToSender 才能发送给触发者!
+seal.formatTmpl(ctx, something) //调用自定义文案 something
+seal.getCtxProxyFirst(ctx, cmdArgs)  //获取被 at 的第一个人,等价于 getCtxProxyAtPos(ctx, 0)
+seal.vars.intGet(ctx, \`$XXX\`) //返回一个数组,其为 \`[int 类型的触发者的该变量的值,bool]\` 当 strGet 一个 int 或 intGet 一个 str 时 bool 为 false,若一切正常则为 true。(之所以会有这么奇怪的说法是因为 rollvm 的「个人变量」机制)。
+seal.vars.intSet(ctx, \`$XXX\`, valueToSet) //\`$XXX\` 即 rollvm(初阶豹语)中的变量,其会将 $XXX 的值设定为 int 类型的 valueToSet。
+seal.vars.strGet(ctx, \`$XXX\`) //返回一个数组,其为 \`[str 类型的触发者的该变量的值,bool]\`(之所以会有这么奇怪的说法是因为 rollvm 的「个人变量」机制),当 strGet 一个 int 或 intGet 一个 str 时 bool 为 false,如果一切正常则为 true。
+seal.vars.strSet(ctx, \`$XXX\`, valueToSet) //\`$XXX\` 即 rollvm(初阶豹语)中的变量,其会将 $XXX 的值设定为 str 类型的 valueToSet。
+//seal.vars.varSet(ctx, \`$XXX\`, valueToSet) //可能是根据数据类型自动推断 int 或 str?
+//seal.vars.varGet(ctx, \`$XXX\`) //同上
+seal.ext.newCmdItemInfo() //用来定义新的指令;没有参数,个人觉得可以视其为类(class)。
+seal.ext.newCmdExecuteResult(bool) //用于判断指令执行结果,true 为成功,false 为失败。
+seal.ext.new(extName, extAuthor, Version) //用于建立一个名为 extName,作者为 extAuthor,版本为 Version 的扩展。注意,extName,extAuthor 和 Version 均为字符串。
+seal.ext.find(extName) //用于查找名为 extname 的扩展,若存在则返回 true,否则返回 false。
+seal.ext.register(newExt) //将扩展 newExt 注册到系统中。注意 newExt 是 seal.ext.new 的返回值,将 register 视为 seal.ext.new() 是错误的。
+seal.coc.newRule() //用来创建自定义 coc 规则,github.com/sealdice/javascript/examples 中已有详细例子,不多赘述。
+seal.coc.newRuleCheckResult() //同上,不多赘述。
+seal.coc.registerRule(rule) //同上,不多赘述。
+seal.deck.draw(ctx, deckname, isShuffle) //他会返回一个抽取牌堆的结果。这里有些复杂:deckname 为需要抽取的牌堆名,而 isShuffle 则是一个布尔值,它决定是否放回抽取;false 为放回,true 为不放回。
+seal.deck.reload() //重新加载牌堆。
+//下面是 1.2 新增 api
+seal.newMessage() //返回一个空白的 Message 对象,结构与收到消息的 msg 相同
+seal.createTempCtx(endpoint, msg) // 制作一个 ctx, 需要 msg.MessageType 和 msg.Sender.UserId
+seal.applyPlayerGroupCardByTemplate(ctx, tmpl) // 设定当前 ctx 玩家的自动名片格式
+seal.gameSystem.newTemplate(string) //从 json 解析新的游戏规则。
+seal.gameSystem.newTemplateByYaml(string) //从 yaml 解析新的游戏规则。
+seal.getCtxProxyAtPos(ctx, pos) //获取第 pos 个被 at 的人,pos 从 0 开始计数
+atob(base64String) //返回被解码的 base64 编码
+btoa(string) //将 string 编码为 base64 并返回
+
+//下面是 1.4.1 新增 api
+seal.ext.newConfigItem() //用于创建一个新的配置项,返回一个 ConfigItem 对象
+seal.ext.registerConfig(configItem) //用于注册一个配置项,参数为 ConfigItem 对象
+seal.ext.getConfig(ext, "key") //用于获取一个配置项的值,参数为扩展对象和配置项的 key
+seal.ext.registerStringConfig(ext, "key", "defaultValue") //用于注册一个 string 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerIntConfig(ext, "key", 123) //用于注册一个 int 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerFloatConfig(ext, "key", 123.456) //用于注册一个 float 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerBoolConfig(ext, "key", true) //用于注册一个 bool 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerTemplateConfig(ext, "key", ["1", "2", "3", "4"]) //用于注册一个 template 类型的配置项,参数为扩展对象、配置项的 key 和默认值
+seal.ext.registerOptionConfig(ext, "key", "1", ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]) //用于注册一个 option 类型的配置项,参数为扩展对象、配置项的 key、默认值和可选项
+seal.ext.getStringConfig(ext, "key") //用于获取一个 string 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getIntConfig(ext, "key") //用于获取一个 int 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getFloatConfig(ext, "key") //用于获取一个 float 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getBoolConfig(ext, "key") //用于获取一个 bool 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getTemplateConfig(ext, "key") //用于获取一个 template 类型配置项的值,参数为扩展对象和配置项的 key
+seal.ext.getOptionConfig(ext, "key") //用于获取一个 option 类型配置项的值,参数为扩展对象和配置项的 key
+
+//下面是 1.4.4 新增 api
+seal.setPlayerGroupCard(ctx, tmpl) //设置当前 ctx 玩家的名片
+seal.ban.addBan(ctx, id, place, reason)
+seal.ban.addTrust(ctx, id, place, reason)
+seal.ban.remove(ctx, id)
+seal.ban.getList()
+seal.ban.getUser(id)

以下为部分 api 使用示例。

提示

声明和注册扩展的代码部分已省略。

replyGroup replyPerson replyToSender

javascript
//在私聊触发 replyGroup 不会回复
+seal.replyGroup(ctx, msg, 'something'); //触发者会收到"something"的回复
+seal.replyPerson(ctx, msg, 'something'); //触发者会收到"something"的私聊回复
+seal.replyToSender(ctx, msg, 'something'); //触发者会收到"something"的回复

memberBan memberKick

是否保留待议

javascript
//注意这些似乎只能在 WQ 协议上实现;
+seal.memberBan(ctx, groupID, userID, dur) //将群为 groupID,userid 为 userID 的人封禁 dur(单位未知)
+seal.memberKick(ctx, groupID, userID) //将群为 groupID,userid 为 userID 的人踢出那个群

format formatTmpl

javascript
//注意 format 不会自动 reply,而是 return,所以请套一层 reply
+seal.replyToSender(ctx, msg, seal.format(\`{$t玩家}的人品为:{$t人品}\`))
+//{$t人品} 是一个 rollvm 变量,其值等于 .jrrp 出的数值
+//回复:
+//群主的人品为:87
+seal.replyToSender(ctx, msg, seal.formatTmpl(unknown))
+//这里等大佬来了再研究

getCtxProxyFirst getCtxProxyAtPos

javascript
cmd.solve = (ctx, msg, cmdArgs) => {
+    let ctxFirst = seal.getCtxProxyFirst(ctx, cmdArgs)
+    seal.replyToSender(ctx, msg, ctxFirst.player.name)
+}
+ext.cmdMap['test'] = cmd
+//输入:.test @A @B
+//返回:A 的名称。这里其实获取的是 A 玩家的 ctx,具体见 ctx 数据结构。
+cmd.solve = (ctx, msg, cmdArgs) => {
+    let ctx3 = seal.getCtxProxyAtPos(ctx, 3)
+    seal.replyToSender(ctx, msg, ctx3.player.name)
+}
+ext.cmdMap['test'] = cmd
+//输入:.test @A @B @C
+//返回:C(第三个被@的人)的名称。这里其实获取的是 C 玩家的 ctx,具体见 ctx 数据结构。

vars

javascript
// 要看懂这里你可能需要学习一下初阶豹语
+seal.vars.intSet(ctx, \`$m今日打卡次数\`, 8) //将触发者的该个人变量设置为 8
+seal.vars.intGet(ctx, \`$m今日打卡次数\`) //返回 [8,true]
+seal.vars.strSet(ctx, \`$g群友经典语录\`, \`我要 Git Blame 一下看看是谁写的\`) //将群内的该群组变量设置为“我要 Git Blame 一下看看是谁写的”
+seal.vars.strGet(ctx, \`$g群友经典语录\`) //返回 ["我要 Git Blame 一下看看是谁写的",true]

ext

javascript
//用于注册扩展和定义指令的 api,已有详细示例,不多赘述

coc

javascript
//用于创建 coc 村规的 api,已有详细示例,不多赘述

deck

javascript
seal.deck.draw(ctx, \`煤气灯\`, false) //返回 放回抽取牌堆“煤气灯”的结果
+seal.deck.draw(ctx, \`煤气灯\`, true) //返回 不放回抽取牌堆“煤气灯”的结果
+seal.deck.reload() //重新加载牌堆

自定义 TRPG 规则相关

javascript
//这里实在不知道如何举例了
+seal.gameSystem.newTemplate(string) //从 json 解析新的游戏规则。
+seal.gameSystem.newTemplateByYaml(string) //从 yaml 解析新的游戏规则。
+seal.applyPlayerGroupCardByTemplate(ctx, tmpl) // 设定当前 ctx 玩家的自动名片格式
+seal.setPlayerGroupCard(ctx, tmpl) // 立刻设定当前 ctx 玩家的名片格式

其他

javascript
seal.newMessage() //返回一个空白的 Message 对象,结构与收到消息的 msg 相同
+seal.createTempCtx(endpoint, msg) // 制作一个 ctx, 需要 msg.MessageType 和 msg.Sender.UserId
+seal.getEndPoints() //返回骰子(应该?)的 EndPoints
+seal.getVersion() //返回一个 map,键值为 version 和 versionCode

ctx 的内容

javascript
//在 github.com/sealdice/javascript/examples_ts/seal.d.ts 中有完整内容
+// 成员
+ctx.group // 当前群信息 (对象)
+ctx.player // 当前玩家数据 (对象)
+ctx.endPoint // 接入点数据 (对象)
+// 以上三个对象内容暂略
+ctx.isCurGroupBotOn // bool
+ctx.isPrivate // bool 是否私聊
+ctx.privilegeLevel // int 权限等级:40 邀请者、50 管理、60 群主、70 信任、100 master
+ctx.delegateText // string 代骰附加文本
+// 方法 (太长,懒.)
+chBindCur
+chBindCurGet
+chBindGet
+chBindGetList
+chExists
+chGet
+chLoad
+chNew
+chUnbind
+chUnbindCur
+chVarsClear
+chVarsGet
+chVarsNumGet
+chVarsUpdateTime
+loadGroupVars
+loadPlayerGlobalVars
+loadPlayerGroupVars,notice

ctx.group 的内容

javascript
// 成员
+active
+groupId
+guildId
+groupName
+cocRuleIndex
+logCurName
+logOn
+recentDiceSendTime
+showGroupWelcome
+groupWelcomeMessage
+enteredTime
+inviteUserId
+// 方法
+extActive
+extClear
+extGetActive
+extInactive
+extInactiveByName
+getCharTemplate
+isActive
+playerGet

ctx.player 的内容

javascript
// 成员
+name
+userId
+lastCommandTime
+autoSetNameTemplate
+// 方法
+getValueNameByAlias

ctx.endPoint 的内容

javascript
// 成员
+baseInfo
+id
+nickname
+state
+userId
+groupNum
+cmdExecutedNum
+cmdExecutedLastTime
+onlineTotalTime
+platform
+enable
+// 方法
+adapterSetup
+refreshGroupNum
+setEnable
+unmarshalYAML

msg 的内容

javascript
// 成员
+msg.time // int64 发送时间
+msg.messageType // string group 群聊 private 私聊
+msg.groupId // string 如果是群聊,群号
+msg.guildId // string 服务器群组号,会在 discord,kook,dodo 等平台见到
+msg.sender // 发送者信息 (对象)
+    sender.nickname
+    sender.userId
+msg.message
+msg.rawId // 原始信息 ID, 用于撤回等
+msg.platform // 平台
+// 方法
+// (似乎目前没有?)

cmdArgs 的内容

javascript
// 成员
+.command // string
+.args // []string
+.kwargs // []Kwarg
+.at // []AtInfo
+.rawArgs // string
+.amIBeMentioned // bool (为何要加一个 Be?)
+.cleanArgs // string 一种格式化后的参数,也就是中间所有分隔符都用一个空格替代
+.specialExecuteTimes // 特殊的执行次数,对应 3# 这种
+// 方法
+.isArgEqual(n, ss...) // 返回 bool, 检查第 n 个参数是否在 ss 中
+.eatPrefixWith(ss...) // 似乎是从 cleanArgs 中去除 ss 中第一个匹配的前缀
+.chopPrefixToArgsWith(ss...) // 不懂
+.getArgN(n) // -> string
+.getKwarg(str) // -> Kwarg 如果有名为 str 的 flag,返回对象,否则返回 null/undefined(不确定)
+.getRestArgsFrom(n) // -> string 获取从第 n 个参数之后的所有参数,用空格拼接成一个字符串
`,41),h=[l];function p(k,e,E,r,d,g){return a(),i("div",null,h)}const o=s(t,[["render",p]]);export{c as __pageData,o as default}; diff --git a/assets/advanced_js_api_list.md.CqdIkvk4.lean.js b/assets/advanced_js_api_list.md.CqdIkvk4.lean.js new file mode 100644 index 000000000..2d52ade01 --- /dev/null +++ b/assets/advanced_js_api_list.md.CqdIkvk4.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a8 as n}from"./chunks/framework.C7ysi3tu.js";const c=JSON.parse('{"title":"API 列表","description":"","frontmatter":{"lang":"zh-cn","title":"API 列表"},"headers":[],"relativePath":"advanced/js_api_list.md","filePath":"advanced/js_api_list.md","lastUpdated":1721287883000}'),t={name:"advanced/js_api_list.md"},l=n("",41),h=[l];function p(k,e,E,r,d,g){return a(),i("div",null,h)}const o=s(t,[["render",p]]);export{c as __pageData,o as default}; diff --git a/assets/advanced_js_example.md.8Rv-Oom9.js b/assets/advanced_js_example.md.8Rv-Oom9.js new file mode 100644 index 000000000..fe05a184d --- /dev/null +++ b/assets/advanced_js_example.md.8Rv-Oom9.js @@ -0,0 +1,869 @@ +import{_ as k,D as l,c as p,j as s,a as i,I as n,a8 as h,o as t}from"./chunks/framework.C7ysi3tu.js";const e="/sealdice-manual-next/assets/js-config-example.Ctkb00mX.png",N=JSON.parse('{"title":"常见用法示例","description":"","frontmatter":{"lang":"zh-cn","title":"常见用法示例"},"headers":[],"relativePath":"advanced/js_example.md","filePath":"advanced/js_example.md","lastUpdated":1719397382000}'),E={name:"advanced/js_example.md"},r=h(`

常见用法示例

创建和注册扩展

提示:扩展机制

扩展机制可以看做是海豹的 mod 管理机制,可以模块化开关海豹的任意一部分,如常用的开启 dnd 扩展,关闭 coc 扩展,关闭自动回复等。

可以查看 .ext 命令 来了解更多。

在海豹中,所有指令必须归属于某个扩展,而一个扩展可以包含多条指令。

JS 脚本中创建扩展的方式如下,在创建扩展后,还需要注册扩展,才能让扩展起效,不要漏掉哦!

javascript
// 如何建立一个扩展
+
+// 首先检查是否已经存在
+if (!seal.ext.find('test')) {
+  // 不存在,那么建立扩展,名为 test,作者“木落”,版本 1.0.0
+  const ext = seal.ext.new('test', '木落', '1.0.0');
+  // 注册扩展
+  seal.ext.register(ext);
+}

注意:JS 脚本和扩展

在实现上,海豹允许你在一个 JS 脚本文件中注册多个扩展,但我们不建议这样做。一般来说,一个 JS 脚本文件只会注册一个扩展。

注意:修改内置功能?

出于对公平性的考虑,JS 脚本不能替换内置指令和内置扩展。

自定义指令

想要创建一条自定义指令,首先需要创建一个扩展(seal.ExtInfo),写好自定义指令的实现逻辑之后,再注册到扩展中。

创建指令

接上面的代码,假定目前已经注册好了一个名为 test 的扩展,现在要写一个名为 seal 的指令:

  • 这个命令的功能为,显示「抓到一只海豹」的文案;
    • 如果命令写 .seal ABC,那么文案中将海豹命名为「ABC」;
    • 如果命令中没写名字,那么命名为默认值「氪豹」。

第一步,创建新的自定义指令,设置好名字和帮助信息。

javascript
const cmdSeal = seal.ext.newCmdItemInfo();
+cmdSeal.name = 'seal'; // 指令名字,可用中文
+cmdSeal.help = '召唤一只海豹,可用 .seal <名字> 命名';

注意:命令的帮助信息

命令的帮助信息是在使用 .help <命令> 时会返回的帮助内容。

帮助信息不要. 开头,防止查看帮助时骰子的回复触发其他骰子。

第二步,编写指令的具体处理代码。

你需要编写指令对象的 solve 函数,在使用该指令的时候,海豹核心会调用你写的这个函数。

javascript
cmdSeal.solve = (ctx, msg, cmdArgs) => {
+    // 这里是你需要编写的内容
+};
参数说明
ctx主要是和当前环境以及用户相关的内容,如当前发指令用户,当前群组信息等
msg原始指令内容,如指令文本,发送平台,发送时间等
cmdArgs指令信息,会将用户发的信息进行分段,方便快速取用

这里仅说明需要用到的接口,详细可见 插件仓库 examp_ts 下的 seal.d.ts 文件,里面包含了目前开放的接口的定义及其注释说明。

指令参数与返回值

假设用户发送过来的消息是 .seal A B C,那么可以用 cmdArgs.getArgN(1) 获取到 AcmdArgs.getArgN(2) 获取到 BcmdArgs.getArgN(3) 获取到 C

通常会对参数值进行判断,随后作出响应。

以下代码处理的是 .seal help 的情形:

javascript
cmdSeal.solve = (ctx, msg, cmdArgs) => {
+  // 获取第一个参数,例如 .seal A B C
+  // 这里 cmdArgs.getArgN(1) 的结果即是 A,传参为 2 的话结果是 B
+  let val = cmdArgs.getArgN(1);
+  switch (val) {
+    case 'help': {
+      // 命令为 .seal help
+      // 创建一个结果对象,并将 showHelp 标记为 true,这会自动给用户发送帮助
+      const ret = seal.ext.newCmdExecuteResult(true);
+      ret.showHelp = true;
+      return ret;
+    }
+    default: {
+      // 没有传入参数时的代码
+      return seal.ext.newCmdExecuteResult(true);
+    }
+  }
+};

注意:返回执行结果

在执行完自己的代码之后,需要返回指令结果对象,其参数是是否执行成功。

指令核心执行流程

给消息发送者回应,需要使用 seal.replyToSender() 函数,前两个参数和 solve() 函数接收的参数一致,第三个参数是你要发送的文本。

发送的文本中,可以包含 变量(例如{$t玩家}),也可以包含 CQ 码,用来实现回复发送者、@发送者、发送图片、发送分享卡片等功能。

在这个例子中,我们需要获取作为海豹名字的参数,获取不到就使用默认值,随后向消息发送者发送回应。

在刚刚的位置填入核心代码,就可以完成了。

javascript
cmdSeal.solve = (ctx, msg, cmdArgs) => {
+  // 获取第一个参数,例如 .seal A B C
+  // 这里 cmdArgs.getArgN(1) 的结果即是 A,传参为 2 的话结果是 B
+  let val = cmdArgs.getArgN(1);
+  switch (val) {
+    case 'help': {
+      // 命令为 .seal help
+      // 创建一个结果对象,并将 showHelp 标记为 true,这会自动给用户发送帮助
+      const ret = seal.ext.newCmdExecuteResult(true);
+      ret.showHelp = true;
+      return ret;
+    }
+    default: {
+      // 命令为 .seal XXXX,取第一个参数为名字
+      if (!val) val = '氪豹';
+      // 进行回复,如果是群聊发送那么在群里回复,私聊发送则在私聊回复 (听起来是废话文学,但详细区别见暗骰例子)
+      seal.replyToSender(ctx, msg, \`你抓到一只海豹!取名为\${val}\\n它的逃跑意愿为\${Math.ceil(Math.random() * 100)}\`);
+      return seal.ext.newCmdExecuteResult(true);
+    }
+  }
+};

注册指令

第三步,将命令注册到扩展中。

javascript
ext.cmdMap['seal'] = cmdSeal;

如果你想要给这个命令起一个别名,也就是增加一个触发词,可以这样写:

javascript
ext.cmdMap['seal'] = cmdSeal; // 注册 .seal 指令
+ext.cmdMap['海豹'] = cmdSeal; // 注册 .海豹 指令,等效于 .seal

完整的代码如下:

javascript
// ==UserScript==
+// @name         示例:编写一条自定义指令
+// @author       木落
+// @version      1.0.0
+// @description  召唤一只海豹,可用.seal <名字> 命名
+// @timestamp    1671368035
+// 2022-12-18
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+// 编写一条自定义指令
+// 先将扩展模块创建出来,如果已创建就直接使用
+let ext = seal.ext.find('test');
+if (!ext) {
+  ext = seal.ext.new('test', '木落', '1.0.0');
+
+  // 创建指令 .seal
+  // 这个命令的功能为,显示「抓到一只海豹」的文案;
+  // 如果命令写 .seal ABC,那么文案中将海豹命名为「ABC」;
+  // 如果命令中没写名字,那么命名为默认值「氪豹」。
+  const cmdSeal = seal.ext.newCmdItemInfo();
+  cmdSeal.name = 'seal'; // 指令名字,可用中文
+  cmdSeal.help = '召唤一只海豹,可用 .seal <名字> 命名';
+
+  // 主函数,指令解析器会将指令信息解析,并储存在几个参数中
+  // ctx 主要是和当前环境以及用户相关的内容,如当前发指令用户,当前群组信息等
+  // msg 为原生态的指令内容,如指令文本,发送平台,发送时间等
+  // cmdArgs 为指令信息,会将用户发的信息进行分段,方便快速取用
+  cmdSeal.solve = (ctx, msg, cmdArgs) => {
+    // 获取第一个参数,例如 .seal A B C
+    // 这里 cmdArgs.getArgN(1) 的结果即是 A,传参为 2 的话结果是 B
+    let val = cmdArgs.getArgN(1);
+    switch (val) {
+      case 'help': {
+        // 命令为 .seal help
+        // 创建一个结果对象,并将 showHelp 标记为 true,这会自动给用户发送帮助
+        const ret = seal.ext.newCmdExecuteResult(true);
+        ret.showHelp = true;
+        return ret;
+      }
+      default: {
+        // 命令为 .seal XXXX,取第一个参数为名字
+        if (!val) val = '氪豹';
+        // 进行回复,如果是群聊发送那么在群里回复,私聊发送则在私聊回复 (听起来是废话文学,但详细区别见暗骰例子)
+        seal.replyToSender(ctx, msg, \`你抓到一只海豹!取名为\${val}\\n它的逃跑意愿为\${Math.ceil(Math.random() * 100)}\`);
+        return seal.ext.newCmdExecuteResult(true);
+      }
+    }
+  };
+
+  // 将命令注册到扩展中
+  ext.cmdMap['seal'] = cmdSeal;
+
+  // 无实际意义,用于消除编译报错
+  export {}
+
+  seal.ext.register(ext);
+}

这就是最基本的模板了。

抽取牌堆

抽取牌堆的函数是 seal.deck.draw(ctx, deckName, shufflePool)

  • ctxMsgContext 类型,指令上下文,solve() 函数传进来的第一个参数
  • deckName:牌堆名称,字符串类型,例如 GRE单词
  • shufflePool:是否放回抽取,布尔类型,true 为放回抽取,false 为不放回抽取

返回值是一个 map,包含以下字段:

  • exists:布尔类型,是否抽取成功
  • result:字符串类型,抽取结果
  • err:字符串类型,抽取失败的原因

示例代码:抽取牌堆

javascript
// ==UserScript==
+// @name         抽取牌堆示例
+// @author       SzzRain
+// @version      1.0.0
+// @description  用于演示如何抽取牌堆
+// @timestamp    1699077659
+// @license      MIT
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+// 本脚本用于演示如何抽取牌堆, 共有两种实现方式
+if (!seal.ext.find('draw-decks-example')) {
+  const ext = seal.ext.new('draw-decks-example', 'SzzRain', '1.0.0');
+  // 创建一个命令
+  const cmdDrawDecks = seal.ext.newCmdItemInfo();
+  cmdDrawDecks.name = 'dr';
+  cmdDrawDecks.help = '使用 .dr <牌堆名> 来抽取牌堆';
+  cmdDrawDecks.solve = (ctx, msg, cmdArgs) => {
+    // 抽取牌堆
+    // 参数1:ctx 参数2:牌堆名称 参数3:是否放回抽取
+    // 返回值:{exists: true, result: '抽取结果', err: '错误原因'}
+    const decks = seal.deck.draw(ctx, cmdArgs.getArgN(1), true);
+    // 判断是否抽取成功
+    if (decks['exists']) {
+      seal.replyToSender(ctx, msg, decks['result']);
+      return seal.ext.newCmdExecuteResult(true);
+    } else {
+      seal.replyToSender(ctx, msg, '抽取牌堆失败,原因:' + decks['err']);
+      return seal.ext.newCmdExecuteResult(true);
+    }
+  };
+  // 注册命令
+  ext.cmdMap['dr'] = cmdDrawDecks;
+
+  // 创建一个命令
+  const cmdDrawDecks2 = seal.ext.newCmdItemInfo();
+  cmdDrawDecks2.name = 'dr2';
+  cmdDrawDecks2.help = '使用 .dr2 <牌堆名> 来抽取牌堆';
+  cmdDrawDecks2.solve = (ctx, msg, cmdArgs) => {
+    // 抽取牌堆的另一种写法,使用 format 函数,由于经过了 rollvm 的处理,所以代码的执行效率会更慢
+    // 不过这种写法的返回值固定为字符串,省去了判断是否抽取成功的步骤
+    // 参数1:ctx 参数2:海豹语表达式,其中 #{DRAW-牌堆名称} 会被替换为抽取结果
+    const decks = seal.format(ctx, \`#{DRAW-\${cmdArgs.getArgN(1)}}\`);
+    seal.replyToSender(ctx, msg, decks);
+  }
+  // 注册命令
+  ext.cmdMap['dr2'] = cmdDrawDecks2;
+
+  // 注册扩展
+  seal.ext.register(ext);
+}

权限识别

海豹中的权限等级,由高到低分别是:骰主群主管理员邀请者普通用户黑名单用户。 每一个身份都有一个对应的数字,可以通过 ctx.privilegeLevel 获取当前用户的权限等级。 每个身份所对应的数字如下表所示:

`,50),d={class:"info custom-block"},g=s("p",{class:"custom-block-title"},"信息",-1),y=s("p",null,[s("strong",null,"注意:"),i(" 部分权限等级仅在群聊中有效。")],-1),F=s("strong",null,"骰主",-1),c=s("strong",null,"白名单用户",-1),o=s("strong",null,"黑名单用户",-1),C=s("strong",null,"骰主",-1),A=s("strong",null,"白名单用户",-1),D=s("strong",null,"黑名单用户",-1),B=h(`
身份权限值
骰主100
白名单70
群主60
管理员50
邀请者40
普通用户0
黑名单用户-30

提示:关于白名单用户

白名单用户即通过骰主手动添加的信任名单用户,可以使用所有需要群管理权限的功能,但不具备 Master 权限。

信任名单可以通过 .ban trust <统一ID> 添加,通过 .ban list trust 查看。

提示:关于黑名单用户

通常情况下你不需要考虑黑名单用户的情况,因为黑名单用户的消息会被过滤掉,不会触发任何指令。

示例代码:权限识别

javascript
// ==UserScript==
+// @name         权限识别样例
+// @author       SzzRain
+// @version      1.0.0
+// @description  使用命令 .myperm 查看自己的权限
+// @timestamp    1699086084
+// @license      MIT
+// @homepageURL  https://github.com/Szzrain
+// ==/UserScript==
+if (!seal.ext.find('myperm')) {
+  const ext = seal.ext.new('myperm', 'SzzRain', '1.0.0');
+  // 创建一个命令
+  const cmdMyperm = seal.ext.newCmdItemInfo();
+  cmdMyperm.name = 'myperm';
+  cmdMyperm.help = '使用 .myperm 展示我的权限';
+  cmdMyperm.solve = (ctx, msg, cmdArgs) => {
+    let text = "普通用户";
+    console.log(ctx.privilegeLevel);
+    switch (ctx.privilegeLevel) {
+      case 100:
+        text = "master";
+        break;
+      case 60:
+        text = "owner";
+        break;
+      case 50:
+        text = "admin";
+        break;
+      case 40:
+        text = "inviter";
+        break;
+      case -30:
+        // 黑名单用户,但是由于黑名单会被过滤掉,所以实际上这里并不会执行,这里只是为了演示
+        return seal.ext.newCmdExecuteResult(false);
+    }
+    seal.replyToSender(ctx, msg, text);
+    return seal.ext.newCmdExecuteResult(true);
+  }
+  // 注册命令
+  ext.cmdMap['myperm'] = cmdMyperm;
+
+  // 注册扩展
+  seal.ext.register(ext);
+}
`,5),u={id:"黑名单-信任名单操作",tabindex:"-1"},m=s("a",{class:"header-anchor",href:"#黑名单-信任名单操作","aria-label":'Permalink to "黑名单 / 信任名单操作 "'},"​",-1),x=h(`

黑名单操作的函数

添加:seal.ban.addBan(ctx, uid, place, reason)

移除:seal.ban.remove(ctx, uid)

  • ctxMsgContext 类型,指令上下文,solve() 函数传进来的第一个参数
  • uid:用户 ID,字符串类型,例如 QQ:123456789, TG:123456789
  • place:拉黑的地方,字符串类型,随便写,一般来说在群内拉黑就写群 ID
  • reason:拉黑原因,字符串类型,随便写

信任用户名单

添加:seal.ban.addTrust(ctx, uid, place, reason) 参数说明同上

移除:seal.ban.remove(ctx, uid)

提示:相同的移除函数

黑名单和信任名单存储在同一个数据库中,因此移除时使用的是同一个函数。

你在进行移除操作时需要自己判断是否符合你的预期。

获取黑名单 / 信任名单列表

使用 seal.ban.getList()

返回值为一个数组,数组中的每一项都是一个 BanListInfoItem 对象,包含以下字段:

  • id:用户 ID,字符串类型
  • name:用户昵称,字符串类型
  • score:怒气值,整数类型
  • rank:拉黑/信任等级 0 没事 -10警告 -30禁止 30信任
  • times:事发时间,数组类型,内部元素为整数时间戳
  • reasons:拉黑/信任原因,数组类型,内部元素为字符串
  • places:拉黑/信任的发生地点,数组类型,内部元素为字符串
  • banTime:拉黑/信任的时间,整数时间戳

获取用户在黑名单 / 信任名单中的信息

使用 seal.ban.getUser(uid)

如果用户没有在黑名单 / 信任名单中,返回值为空值。

如果有则返回一个 BanListInfoItem 对象,字段同上。

示例代码:黑名单 / 信任名单操作

javascript
// ==UserScript==
+// @name         js-ban
+// @author       SzzRain
+// @version      1.0.0
+// @description  演示 js 扩展操作黑名单
+// @timestamp    1706684850
+// @license      MIT
+// @homepageURL  https://github.com/Szzrain
+// ==/UserScript==
+
+if (!seal.ext.find('js-ban')) {
+const ext = seal.ext.new('js-ban', 'SzzRain', '1.0.0');
+    // 创建一个命令
+    const cmdcban = seal.ext.newCmdItemInfo();
+    cmdcban.name = 'cban';
+    cmdcban.help = '使用.cban <用户id> 来拉黑目标用户,仅master可用';
+    cmdcban.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    seal.ban.addBan(ctx, val, "JS扩展拉黑", "JS扩展拉黑测试");
+                    seal.replyToSender(ctx, msg, "已拉黑用户" + val);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['cban'] = cmdcban;
+
+    // 创建一个命令
+    const cmdcunban = seal.ext.newCmdItemInfo();
+    cmdcunban.name = 'cunban';
+    cmdcunban.help = '使用.cunban <用户id> 来解除拉黑/移除信任目标用户,仅master可用';
+    cmdcunban.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    // 信任用户和拉黑用户存在同一个列表中,remove 前请先判断是否符合预期
+                    seal.ban.remove(ctx, val);
+                    seal.replyToSender(ctx, msg, "已解除拉黑/信任用户" + val);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['cunban'] = cmdcunban;
+
+    // 创建一个命令
+    const cmdctrust = seal.ext.newCmdItemInfo();
+    cmdctrust.name = 'ctrust';
+    cmdctrust.help = '使用.ctrust <用户id> 来信任目标用户,仅master可用';
+    cmdctrust.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    seal.ban.addTrust(ctx, val, "JS扩展信任", "JS扩展信任测试");
+                    seal.replyToSender(ctx, msg, "已信任用户" + val);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['ctrust'] = cmdctrust;
+
+    // 创建一个命令
+    const cmdcbanlist = seal.ext.newCmdItemInfo();
+    cmdcbanlist.name = 'cbanlist';
+    cmdcbanlist.help = '使用.cbanlist 来查看黑名单和信任列表,仅master可用';
+    cmdcbanlist.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    let text = "黑名单/信任列表:\\n";
+                    seal.ban.getList().forEach((v) => {
+                        text += \`\${v.name}(\${v.id}) 当前等级:\${v.rank} 怒气值:\${v.score}\\n\`;
+                    });
+                    seal.replyToSender(ctx, msg, text);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['cbanlist'] = cmdcbanlist;
+
+    // 创建一个命令
+    const cmdcget = seal.ext.newCmdItemInfo();
+    cmdcget.name = 'cget';
+    cmdcget.help = '使用.cget <用户id> 来查看目标用户的黑名单/信任信息,仅master可用';
+    cmdcget.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel === 100) {
+                    let info = seal.ban.getUser(val);
+                    if (!info) {
+                        seal.replyToSender(ctx, msg, "用户不存在或未被拉黑/信任");
+                        return seal.ext.newCmdExecuteResult(true);
+                    }
+                    let level = info.rank;
+                    // 不知道为什么,用 === 是 false
+                    if (info.rank == 30) {
+                        level = "信任"
+                    } else if (info.rank == -30) {
+                        level = "拉黑"
+                    } else if (info.rank == -10) {
+                        level = "警告"
+                    }
+                    let text = \`用户\${info.name}(\${info.id}) 当前等级:\${level} 怒气值:\${info.score}\`;
+                    seal.replyToSender(ctx, msg, text);
+                } else {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['cget'] = cmdcget;
+
+    // 注册扩展
+    seal.ext.register(ext);
+}

存取数据

相关的 API 是两个函数,ExtInfo.storageSet(key, value) 函数和 ExtInfo.storageGet(key),一个存,一个取。

关于 key:

存储时需要指定 key,你可以设定为你的扩展的名字,也可以设定为其他的,注意不要和别的扩展的 key 重名就可以了。

就好比你在商场门口想要把随身物品存进暂存柜中,需要先找到个和别人不重复的柜子,避免放错地方或者取错东西。

关于 value:

存放的数据是字符串类型,且只能存一个,但如果想要存放更多的数据以及非字符串类型的数据怎么办?

答案是使用 JSON.stringify() 函数将存储了数据的 JS 对象转换为 JSON 字符串,存储起来,需要取出的时候,再使用 JSON.parse() 函数将数据再转换为 JS 对象。。

示例代码:投喂插件

javascript
// ==UserScript==
+// @name         示例:存储数据
+// @author       木落
+// @version      1.0.0
+// @description  投喂,格式 .投喂 <物品>
+// @timestamp    1672423909
+// 2022-12-31
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+// 先将扩展模块创建出来,如果已创建就直接使用
+let ext = seal.ext.find('test');
+if (!ext) {
+  ext = seal.ext.new('test', '木落', '1.0.0');
+
+  const cmdFeed = seal.ext.newCmdItemInfo();
+  cmdFeed.name = '投喂';
+  cmdFeed.help = '投喂,格式:.投喂 <物品>\\n.投喂 记录 // 查看记录';
+  cmdFeed.solve = (ctx, msg, cmdArgs) => {
+    let val = cmdArgs.getArgN(1);
+    switch (val) {
+      case 'help':
+      case '': {
+        // .投喂 help
+        const ret = seal.ext.newCmdExecuteResult(true);
+        ret.showHelp = true;
+        return ret;
+      }
+      case '列表':
+      case '记录':
+      case 'list': {
+        const data = JSON.parse(ext.storageGet('feedInfo') || '{}');
+        const lst = [];
+        for (let [k, v] of Object.entries(data)) {
+          lst.push(\`- \${k}: 数量 \${v}\`);
+        }
+        seal.replyToSender(ctx, msg, \`投喂记录:\\n\${lst.join('\\n')}\`);
+        return seal.ext.newCmdExecuteResult(true);
+      }
+      default: {
+        const data = JSON.parse(ext.storageGet('feedInfo') || '{}');
+        const name = val || '空气';
+        if (data[name] === undefined) {
+          data[name] = 0;
+        }
+        data[name] += 1;
+        ext.storageSet('feedInfo', JSON.stringify(data));
+        seal.replyToSender(ctx, msg, \`你给海豹投喂了\${name},要爱护动物!\`);
+        return seal.ext.newCmdExecuteResult(true);
+      }
+    }
+  };
+
+  // 将命令注册到扩展中
+  ext.cmdMap['投喂'] = cmdFeed;
+  ext.cmdMap['feed'] = cmdFeed;
+
+  seal.ext.register(ext);
+}

示例代码:群内安价收集

这是关于数据的增加、删除、查询等操作的实现示例(修改的话就是删除之后增加)

javascript
// ==UserScript==
+// @name         群内安价收集
+// @author       憧憬少
+// @version      1.0.0
+// @description  在群内收集群友给出的安价选项,并掷骰得出结果
+// @timestamp    1676386517
+// 2023-02-14 22:55:17
+// @license      MIT
+// @homepageURL  https://github.com/ChangingSelf/sealdice-js-ext-anchor
+// ==/UserScript==
+
+(() => {
+  // src/index.ts
+  const HELP = \`群内安价收集 (ak 是アンカー罗马字缩写)
+注意 ak 后面有空格,“.ak”也可以换成“.安价”
+
+.ak help // 查看帮助
+.ak # 标题 // 新建一轮分歧并设标题
+.ak + 选项 // 需要添加的选项的内容
+.ak - 序号 // 需要移除的选项的序号
+.ak ? // 列出目前所有选项
+.ak = // 随机抽取 1 个选项并继续
+.ak = n // 随机抽取 n 个选项并继续
+\`;
+  const STORAGE_KEY = "anchor";
+  const OPTION_NUM_PER_PAGE = 15; // 列出所有选项时,每页放多少个选项
+  function akNew(ctx, msg, ext, title) {
+    const data = {
+      "title": title,
+      "options": []
+    };
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+    seal.replyToSender(ctx, msg, \`已新建分歧:\${title}\`);
+  }
+  function akAdd(ctx, msg, ext, option) {
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+    data.options.push(option);
+    seal.replyToSender(ctx, msg, \`当前分歧:\${data.title}
+已添加第\${data.options.length}个选项:\${option}\`);
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+  }
+  function akDel(ctx, msg, ext, index) {
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+    const removed = data.options.splice(index - 1, 1)[0];
+    seal.replyToSender(ctx, msg, \`当前分歧:\${data.title}
+已移除第\${index}个选项:\${removed}\`);
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+  }
+  function akList(ctx, msg, ext) {
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+    if (data.options.length === 0) {
+      seal.replyToSender(ctx, msg, \`当前分歧:\${data.title}
+还没有任何选项呢\`);
+      return;
+    }
+    let optStr = "";
+    let curPageRows = 0;
+    data.options.forEach((value, index) => {
+      optStr += \`\${index + 1}.\${value}
+\`;
+      ++curPageRows;
+      if (curPageRows >= OPTION_NUM_PER_PAGE) {
+        seal.replyToSender(ctx, msg, \`当前分歧:\${data.title}
+\${optStr}\`);
+        optStr = "";
+        curPageRows = 0;
+      }
+    });
+    if (curPageRows > 0) {
+      seal.replyToSender(ctx, msg, \`当前分歧:\${data.title}
+\${optStr}\`);
+    }
+  }
+  function randomInt(min, max) {
+    return Math.floor(Math.random() * (max - min + 1)) + min;
+  }
+  function akGet(ctx, msg, ext, num = 1) {
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+    if (data.options.length === 0) {
+      seal.replyToSender(ctx, msg, \`当前分歧:\${data.title}
+还没有任何选项呢\`);
+      return;
+    }
+    akList(ctx, msg, ext);
+    let optStr = "";
+    for (let i = 0; i < num; ++i) {
+      const r = randomInt(1, data.options.length);
+      const result = data.options.splice(r - 1, 1);
+      optStr += \`\${i + 1}.\${result}
+\`;
+    }
+    seal.replyToSender(ctx, msg, \`结果是:
+\${optStr}\`);
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+  }
+  function main() {
+    let ext = seal.ext.find("anchor");
+    if (!ext) {
+      ext = seal.ext.new("anchor", "憧憬少", "1.0.0");
+      
+      const cmdSeal = seal.ext.newCmdItemInfo();
+      cmdSeal.name = "安价";
+      cmdSeal.help = HELP;
+      cmdSeal.solve = (ctx, msg, cmdArgs) => {
+        try {
+          let val = cmdArgs.getArgN(1);
+          switch (val) {
+            case "#": {
+              const title = cmdArgs.getArgN(2);
+              akNew(ctx, msg, ext, title);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "+": {
+              const option = cmdArgs.getArgN(2);
+              akAdd(ctx, msg, ext, option);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "-": {
+              const index = Number(cmdArgs.getArgN(2));
+              akDel(ctx, msg, ext, index);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "?":
+            case "?": {
+              akList(ctx, msg, ext);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "=": {
+              let num = 1;
+              if (cmdArgs.args.length >= 2) {
+                num = Number(cmdArgs.getArgN(2));
+              }
+              akGet(ctx, msg, ext, num);
+              return seal.ext.newCmdExecuteResult(true);
+            }
+            case "help":
+            default: {
+              const ret = seal.ext.newCmdExecuteResult(true);
+              ret.showHelp = true;
+              return ret;
+            }
+          }
+        } catch (error) {
+          seal.replyToSender(ctx, msg, error.Message);
+          return seal.ext.newCmdExecuteResult(true);
+        }
+      };
+      ext.cmdMap["安价"] = cmdSeal;
+      ext.cmdMap["ak"] = cmdSeal;
+
+      seal.ext.register(ext);
+    }
+  }
+  main();
+})();

数据处理模板

关于取出数据来修改的函数,可以参考如下代码:

javascript
const STORAGE_KEY = "anchor"; // 将你的 key 抽出来单独作为一个常量,方便开发阶段修改(使用了之后就不要修改了)
+//函数:添加选项
+function akAdd(ctx, msg, ext, option) {
+    //取出数据
+    const data = JSON.parse(ext.storageGet(STORAGE_KEY) || '{"title":"","options":[]}');
+
+    //处理数据
+    data.options.push(option);
+
+    //响应发送者
+    seal.replyToSender(ctx, msg, \`当前分歧:\${data.title}\\n已添加第\${data.options.length}个选项:\${option}\`);
+
+    //将处理完的数据写回去
+    ext.storageSet(STORAGE_KEY, JSON.stringify(data));
+}

读取玩家或群组数据

可以查看下文的 API

编写暗骰指令

如下:

javascript
// ==UserScript==
+// @name         示例:编写暗骰指令
+// @author       流溪
+// @version      1.0.0
+// @description  暗骰,格式.hide 原因
+// @timestamp    1671540835
+// 2022-12-20
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+ext = seal.ext.find('hide');
+if (!ext){
+    ext = seal.ext.new('hide','流溪','0.0.1');
+
+    const cmdHide = seal.ext.newCmdItemInfo;
+    cmdHide.name = 'hide';
+    cmdHide.help = '暗骰,使用 .hide 面数 暗骰';
+    cmdHide.solve = (ctx, msg, cmdArgs) => {
+      if (msg.messageType !== 'group'){
+          seal.replyToSender(ctx, msg, '暗骰只能在群内触发');
+          return seal.ext.newCmdExecuteResult(true);
+      }
+      function rd(x){
+          // 这里写的时候有点不清醒了,感觉是对的,如果不对请拷打我
+          return Math.round(Math.random() * (x - 1) + 1);
+      }
+      let x = cmdArgs.getArgN(1);
+      if (x === 'help'){
+          return seal.ext.newCmdExecuteResult(true).showhelp = true;
+      } else if (isNaN(Number(x))){
+          // 我知道这里有更好的判断是否为数字的方法但是我不会.jpg
+          seal.replyToSender(ctx, msg, \`骰子面数应是数字\`);
+          return seal.ext.newCmdExecuteResult(true);
+      } else {
+          // 这就是暗骰 api 哒!
+          seal.replyPerson(ctx, msg, \`你在群\${msg.groupId}的掷骰结果为:\${rd(x)}\`);
+          return seal.ext.newCmdExecuteResult(true);
+      }
+    }
+  ext.cmdMap['hide'] = cmdHide;
+
+  seal.ext.register(ext);
+}

可以看到使用seal.replyPerson做到暗骰的效果。

编写代骰指令

javascript
// ==UserScript==
+// @name         示例:编写代骰指令
+// @author       木落
+// @version      1.0.0
+// @description  捕捉某人,格式.catch <@名字>
+// @timestamp    1671540835
+// 2022-12-20
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+// 编写代骰指令
+// 先将扩展模块创建出来,如果已创建就直接使用
+let ext = seal.ext.find('test');
+if (!ext) {
+  ext = seal.ext.new('test', '木落', '1.0.0');
+
+  // 创建指令 .catch
+  // 这个命令的功能为,显示“试图捕捉某人”,并给出成功率
+  // 如果命令写“.catch @张三”,那么就会试着捕捉张三
+  const cmdCatch = seal.ext.newCmdItemInfo();
+  cmdCatch.name = 'catch';
+  cmdCatch.help = '捕捉某人,格式.catch <@名字>';
+  // 对这个指令启用使用代骰功能,即@某人时,可获取对方的数据,以对方身份进行骰点
+  cmdCatch.allowDelegate = true;
+  cmdCatch.solve = (ctx, msg, cmdArgs) => {
+    // 获取对方数据,之后用 mctx 替代 ctx,mctx 下读出的数据即被代骰者的个人数据
+    const mctx = seal.getCtxProxyFirst(ctx, cmdArgs);
+    let val = cmdArgs.getArgN(1);
+    switch (val) {
+      case 'help': {
+        // 命令为 .catch help
+        const ret = seal.ext.newCmdExecuteResult(true);
+        ret.showHelp = true;
+        return ret;
+      }
+      default: {
+        const text = \`正在试图捕捉\${mctx.player.name},成功率为\${Math.ceil(Math.random() * 100)}%\`;
+        seal.replyToSender(mctx, msg, text);
+        return seal.ext.newCmdExecuteResult(true);
+      }
+    }
+  };
+  // 将命令注册到扩展中
+  ext.cmdMap['catch'] = cmdCatch;
+
+  seal.ext.register(ext);
+}

网络请求

主要使用 Fetch API 进行网络请求,详细文档见链接。fetch 函数返回一个 Promise,传统的写法是这样:

javascript
// 你可以使用 generator 来重写这段代码,欢迎 pr
+// 访问网址
+fetch('https://api-music.imsyy.top/cloudsearch?keywords=稻香').then((resp) => {
+  // 在返回对象的基础上,将文本流作为 json 解析
+  resp.json().then((data) => {
+    // 打印解析出的数据
+    console.log(JSON.stringify(data));
+  });
+});

你也可以使用异步编程(async/await)来简化代码:

javascript
const response = await fetch('https://api-music.imsyy.top/cloudsearch?keywords=稻香');
+if (!response.ok) {
+    // 处理不成功的请求...
+}
+const data = await response.json();
+console.log(JSON.stringify(data));

套用这个模板,你可以写出很多调用 API 的简单扩展。

比如核心代码只有一行的「随机猫猫图片」扩展:

javascript
seal.replyToSender(ctx, msg, \`[CQ:image,file=https://thiscatdoesnotexist.com/,cache=0]\`);

核心代码同样只有一行的「随机二次元图片」扩展:

javascript
seal.replyToSender(ctx, msg, \`[CQ:image,file=https://api.oick.cn/random/api.php?type=\${val},cache=0]\`);

当然,也有稍微复杂的,比如「AI 骰娘」扩展,但也没有太复杂,只是处理了一下发送者传过来的消息,再发送给网络 API,收到响应之后再回应发送者。

它的核心代码如下:

javascript
const BID = ''; // 填入你的骰娘的大脑的 id
+const KEY = ''; // 填入你的 key
+/**
+ * 给 AI 主脑发送消息并接收回复
+ * @param ctx 主要是和当前环境以及用户相关的内容,如当前发指令用户,当前群组信息等
+ * @param msg 为原生态的指令内容,如指令文本,发送平台,发送时间等
+ * @param message 要发送给骰娘的具体消息
+ */
+function chatWithBot(ctx,msg,message) {
+    fetch(\`http://api.brainshop.ai/get?bid=\${BID}&key=\${KEY}&uid=\${msg.sender.userId}&msg=\${message}\`).then(response => {
+      if (!response.ok) {
+        seal.replyToSender(ctx, msg, \`抱歉,我连接不上主脑了。它传递过来的信息是:\${response.status}\`);
+        return seal.ext.newCmdExecuteResult(false);
+      } else {
+        response.json().then(data => {
+          seal.replyToSender(ctx, msg, data["cnt"]);
+          return seal.ext.newCmdExecuteResult(true);
+        });
+        return seal.ext.newCmdExecuteResult(true);
+      }
+    });
+}

自定义 COC 规则

javascript
// ==UserScript==
+// @name         示例:自定义 COC 规则
+// @author       木落
+// @version      1.0.0
+// @description  自设规则,出 1 大成功,出 100 大失败。困难极难等保持原样
+// @timestamp    1671886435
+// 2022-12-24
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+const rule = seal.coc.newRule();
+rule.index = 20; // 自定义序号必须大于等于 20,代表可用.setcoc 20 切换
+rule.key = '测试'; // 代表可用 .setcoc 测试 切换
+rule.name = '自设规则'; // 已切换至规则文本 name: desc
+rule.desc = '出 1 大成功\\n出 100 大失败';
+// d100 为出目,checkValue 为技能点数
+rule.check = (ctx, d100, checkValue) => {
+  let successRank = 0;
+  const criticalSuccessValue = 1;
+  const fumbleValue = 100;
+  if (d100 <= checkValue) {
+    successRank = 1;
+  } else {
+    successRank = -1;
+  }
+  // 成功判定
+  if (successRank == 1) {
+    // 区分大成功、困难成功、极难成功等
+    if (d100 <= checkValue / 2) {
+      //suffix = "成功(困难)"
+      successRank = 2;
+    }
+    if (d100 <= checkValue / 5) {
+      //suffix = "成功(极难)"
+      successRank = 3;
+    }
+    if (d100 <= criticalSuccessValue) {
+      //suffix = "大成功!"
+      successRank = 4;
+    }
+  } else {
+    if (d100 >= fumbleValue) {
+      //suffix = "大失败!"
+      successRank = -2;
+    }
+  }
+  let ret = seal.coc.newRuleCheckResult();
+  ret.successRank = successRank;
+  ret.criticalSuccessValue = criticalSuccessValue;
+  return ret;
+};
+// 注册规则
+seal.coc.registerRule(rule);

补充:使用非指令关键词

你是否因为自定义回复能实现的功能有限而烦恼?你是否因为自定义回复的匹配方式不全而愤怒?你是否因为自定义回复只能调用图片 api 而感到焦头烂额?

不要紧张,我的朋友,试试非指令关键词,这会非常有用。

通常情况下,我们使用 ext.onNotCommandReceived 作为非指令关键词的标志;这限定了只有在未收到命令且未达成自定义回复时,海豹才会触发此流程。

一个完整的非指令关键词模板如下:

javascript
// 必要流程,注册扩展,注意即使是非指令关键词也是依附于扩展的
+if (!seal.ext.find('xxx')){
+    ext = seal.ext.new('xxx','xxx','x.x.x');
+    seal.ext.register(ext);
+    // 这里其实是编写处理函数
+    ext.onNotCommandReceived = (ctx, msg) => {
+        let message = msg.message;
+        // 这里请自己处理要如何达成 message 的匹配条件,js 那么多的匹配方法,足够你玩出花来。
+        if(xxx){
+          // 匹配到关键词了,要干什么?
+          xxx;
+        }
+    }
+}
`,62),v={id:"注册插件配置项",tabindex:"-1"},b=s("a",{class:"header-anchor",href:"#注册插件配置项","aria-label":'Permalink to "注册插件配置项 "'},"​",-1),q=h(`

插件若要在 UI 中注册可供用户修改的配置项,需要在插件注册后调用 seal.ext.registerXXXConfig() 函数注册配置项。

XXX 为配置项的类型,目前支持 stringintfloatbooltemplateoption 六种类型。注意按照小驼峰命名法大写

同样的,插件也可以使用 seal.ext.getXXXConfig() 函数获取配置项的值。

你也可以直接使用 seal.ext.getConfig() 函数获取配置项的值,这个函数会返回一个 ConfigItem 对象, 包含了配置项的类型、值、默认值等信息。

ConfigItem 对象的类型定义如下,调用时请使用 jsbind 中的值作为 key

go
type ConfigItem struct {
+    Key          string      \`json:"key" jsbind:"key"\`
+    Type         string      \`json:"type" jsbind:"type"\`
+    DefaultValue interface{} \`json:"defaultValue" jsbind:"defaultValue"\`
+    Value        interface{} \`json:"value,omitempty" jsbind:"value"\`
+    Option       interface{} \`json:"option,omitempty" jsbind:"option"\`
+    Deprecated   bool        \`json:"deprecated,omitempty" jsbind:"deprecated"\`
+}

提示:更原始的 API

seal.ext.registerConfig() 函数也是可以使用的,你需要自己通过 seal.ext.newConfigItem() 来获取一个新的 ConfigItem 对象。

在对你的 ConfigItem 对象进行修改后,再调用 seal.ext.registerConfig() 函数进行注册。

示例代码:注册配置项

js
// ==UserScript==
+// @name         js-config-example
+// @author       Szzrain
+// @version      1.0.0
+// @description  演示 js 配置项的用法
+// @timestamp    1698636875
+// @license      MIT
+// ==/UserScript==
+
+if (!seal.ext.find('js-config-example')) {
+    const ext = seal.ext.new('js-config-example', 'SzzRain', '1.0.0');
+    // 创建一个命令
+    const cmdgetConfig = seal.ext.newCmdItemInfo();
+    cmdgetConfig.name = 'getconfig';
+    cmdgetConfig.help = '使用.getconfig <key> 来获取配置项,仅 master 可用';
+    cmdgetConfig.allowDelegate = true;
+    cmdgetConfig.solve = (ctx, msg, cmdArgs) => {
+        let val = cmdArgs.getArgN(1);
+        switch (val) {
+            case 'help': {
+                const ret = seal.ext.newCmdExecuteResult(true);
+                ret.showHelp = true;
+                return ret;
+            }
+            default: {
+                if (ctx.privilegeLevel !== 100) {
+                    seal.replyToSender(ctx, msg, "你没有权限执行此命令");
+                    return seal.ext.newCmdExecuteResult(true);
+                }
+                switch (val) {
+                    case "1":
+                        strVal = seal.ext.getStringConfig(ext, "testkey1");
+                        seal.replyToSender(ctx, msg, strVal);
+                        break;
+                    case "2":
+                        intVal = seal.ext.getIntConfig(ext, "testkey2");
+                        seal.replyToSender(ctx, msg, intVal);
+                        break;
+                    case "3":
+                        floatVal = seal.ext.getFloatConfig(ext, "testkey3");
+                        seal.replyToSender(ctx, msg, floatVal);
+                        break;
+                    case "4":
+                        boolVal = seal.ext.getBoolConfig(ext, "testkey4");
+                        seal.replyToSender(ctx, msg, boolVal);
+                        break;
+                    case "5":
+                        tmplVal = seal.ext.getTemplateConfig(ext, "testkey5");
+                        seal.replyToSender(ctx, msg, tmplVal);
+                        break;
+                    case "6":
+                        optVal = seal.ext.getOptionConfig(ext, "testkey6");
+                        seal.replyToSender(ctx, msg, optVal);
+                        break;
+                    default:
+                        let config = seal.ext.getConfig(ext, val);
+                        if (config) {
+                            seal.replyToSender(ctx, msg, config.value);
+                        } else {
+                            seal.replyToSender(ctx, msg, "配置项不存在");
+                        }
+                        break;
+                }
+                return seal.ext.newCmdExecuteResult(true);
+            }
+        }
+    }
+    // 注册命令
+    ext.cmdMap['getconfig'] = cmdgetConfig;
+
+    // 注册扩展
+    seal.ext.register(ext);
+
+    // 注册配置项需在 ext 注册后进行
+    // 通常来说,register 函数的参数为 ext, key, defaultValue
+    seal.ext.registerStringConfig(ext, "testkey1", "testvalue");
+    seal.ext.registerIntConfig(ext, "testkey2", 123);
+    seal.ext.registerFloatConfig(ext, "testkey3", 123.456);
+    seal.ext.registerBoolConfig(ext, "testkey4", true);
+    seal.ext.registerTemplateConfig(ext, "testkey5", ["1", "2", "3", "4"]);
+    // 注册单选项函数的参数为 ext, key, defaultValue, options
+    seal.ext.registerOptionConfig(ext, "testkey6", "1", ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]);
+}

注册后的配置项会在 UI 中显示,可以在 UI 中修改配置项的值

JS 配置项

',11);function f(S,w,_,R,j,T){const a=l("Badge");return t(),p("div",null,[r,s("div",d,[g,y,s("p",null,[i("从 "),n(a,{type:"tip",text:"v1.4.5"}),i(" 起,在私聊中,除了"),F,i(","),c,i("和"),o,i(",其他用户被视为拥有与群管理员等同的权限,即权限值 50。")]),s("p",null,[i("在 "),n(a,{type:"danger",text:"v1.4.4"}),i(" 或更早版本,私聊中除了"),C,i(","),A,i("和"),D,i(",其他用户的权限等级为普通用户(0)。")])]),B,s("h2",u,[i("黑名单 / 信任名单操作 "),n(a,{type:"tip",text:"v1.4.4"}),i(),m]),x,s("h2",v,[i("注册插件配置项 "),n(a,{type:"tip",text:"v1.4.1"}),i(),b]),q])}const P=k(E,[["render",f]]);export{N as __pageData,P as default}; diff --git a/assets/advanced_js_example.md.8Rv-Oom9.lean.js b/assets/advanced_js_example.md.8Rv-Oom9.lean.js new file mode 100644 index 000000000..04f1b0b18 --- /dev/null +++ b/assets/advanced_js_example.md.8Rv-Oom9.lean.js @@ -0,0 +1 @@ +import{_ as k,D as l,c as p,j as s,a as i,I as n,a8 as h,o as t}from"./chunks/framework.C7ysi3tu.js";const e="/sealdice-manual-next/assets/js-config-example.Ctkb00mX.png",N=JSON.parse('{"title":"常见用法示例","description":"","frontmatter":{"lang":"zh-cn","title":"常见用法示例"},"headers":[],"relativePath":"advanced/js_example.md","filePath":"advanced/js_example.md","lastUpdated":1719397382000}'),E={name:"advanced/js_example.md"},r=h("",50),d={class:"info custom-block"},g=s("p",{class:"custom-block-title"},"信息",-1),y=s("p",null,[s("strong",null,"注意:"),i(" 部分权限等级仅在群聊中有效。")],-1),F=s("strong",null,"骰主",-1),c=s("strong",null,"白名单用户",-1),o=s("strong",null,"黑名单用户",-1),C=s("strong",null,"骰主",-1),A=s("strong",null,"白名单用户",-1),D=s("strong",null,"黑名单用户",-1),B=h("",5),u={id:"黑名单-信任名单操作",tabindex:"-1"},m=s("a",{class:"header-anchor",href:"#黑名单-信任名单操作","aria-label":'Permalink to "黑名单 / 信任名单操作 "'},"​",-1),x=h("",62),v={id:"注册插件配置项",tabindex:"-1"},b=s("a",{class:"header-anchor",href:"#注册插件配置项","aria-label":'Permalink to "注册插件配置项 "'},"​",-1),q=h("",11);function f(S,w,_,R,j,T){const a=l("Badge");return t(),p("div",null,[r,s("div",d,[g,y,s("p",null,[i("从 "),n(a,{type:"tip",text:"v1.4.5"}),i(" 起,在私聊中,除了"),F,i(","),c,i("和"),o,i(",其他用户被视为拥有与群管理员等同的权限,即权限值 50。")]),s("p",null,[i("在 "),n(a,{type:"danger",text:"v1.4.4"}),i(" 或更早版本,私聊中除了"),C,i(","),A,i("和"),D,i(",其他用户的权限等级为普通用户(0)。")])]),B,s("h2",u,[i("黑名单 / 信任名单操作 "),n(a,{type:"tip",text:"v1.4.4"}),i(),m]),x,s("h2",v,[i("注册插件配置项 "),n(a,{type:"tip",text:"v1.4.1"}),i(),b]),q])}const P=k(E,[["render",f]]);export{N as __pageData,P as default}; diff --git a/assets/advanced_js_gamesystem.md.rQ5YJxwZ.js b/assets/advanced_js_gamesystem.md.rQ5YJxwZ.js new file mode 100644 index 000000000..ef9d5e34b --- /dev/null +++ b/assets/advanced_js_gamesystem.md.rQ5YJxwZ.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as s}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"编写新的 TRPG 规则","description":"","frontmatter":{"lang":"zh-cn","title":"编写新的 TRPG 规则"},"headers":[],"relativePath":"advanced/js_gamesystem.md","filePath":"advanced/js_gamesystem.md","lastUpdated":1715601883000}'),i={name:"advanced/js_gamesystem.md"},l=s('

编写新的 TRPG 规则

本节内容

本节将介绍如何为你的海豹核心编写和添加一个新的 TRPG 规则。包括编写规则模板和编写指令。

本文中将涉及使用 JavaScript 与 TypeScript 编写插件的内容。如果你尚未阅读 常见用法示例,请先阅读它。

在本节中,假设我们创建了一个叫做《摸鱼大赛》的 TRPG 规则,简称为 fish 规则。

补充:规则详细内容

角色属性

每个角色有 2 个关键属性,即脸皮厚度摸鱼技能等级。取值分别为 1 - 3,通过投掷 D3 来生成。

此外有生命值,生命值上限 = 脸皮厚度 * 2。

游戏规则

简单说:这是一个类 21 点游戏。

玩家的目标是尽可能使得自己的积分接近 21,但不能大于等于 22(因为摸到 22 就不存在了!)。

开始游戏时,每个玩家创建一个角色,可以互换交换一次属性点位置。

每一轮游戏中,每个玩家都要决定“摸鱼”和“不摸鱼”。如果选择摸鱼,获得 d6 + d(摸鱼等级) 的积分;如果选择不摸鱼,则跳过本回合。

如果选择摸鱼后累计积分超过 22,玩家自动消耗 1 点生命值、随机弃牌 1 张。如果累计积分仍大于 22,那么重复以上过程直到积分小于 22 或生命值归零。

如果生命值归零,此玩家就无法再摸鱼了。

当连续两轮所有玩家都选择不摸鱼时,游戏结束。积分最大的人取胜,如果积分相同,生命值更大的人取胜。

规则模板是什么?有什么功能?

规则模板是海豹核心中几种功能的整合发展,包括角色卡、属性同义词、自动修改群名片等。

具体地说,规则模板能为 fish 规则提供以下功能:

  1. set 指令 中注册这个游戏系统,可以直接使用 set fish 打开扩展并设定默认骰子为 D6;

  2. st 指令中添加 fish 规则的角色卡,这包括:(对于以下内容,可以参考海豹核心内置的 CoC 7th 系统与 D&D 5e 系统角色卡的功能)

    1. fish 规则自己的技能默认值
    2. fish 规则的二级属性计算公式
    3. fish 规则的属性同义词
    4. fish 规则的角色卡属性展示顺序
  3. sn 指令 中添加 fish 规则的自动群名片格式,可以使用 sn fish 来开启。

那么,要怎么做?

你需要根据规则编写规则模板,并把规则中的动作编写成指令。

对于 fish 规则来说,指令应该实现以下动作:

  1. 制卡:投掷 2 个 D3,生成角色的属性点;
  2. 摸鱼:投掷 D6 + D(摸鱼等级),计算总积分,按规则扣除生命值;
  3. 不摸鱼:跳过此轮;

另外,对于一个合适的指令,它也应提供帮助文本。

以上的规则模板和指令都可以在同一个 TypeScript 或 JavaScript 插件文件中完成。我们已经写了一个比较完善且有详细注释的示例,以供参考:

摸鱼大赛 TRPG 规则.ts

如果你希望直接尝试以上插件的效果,可以从以下链接获取经过编译的 JavaScript 文件:

摸鱼大赛 TRPG 规则.js

',17),o=[l];function p(r,c,h,d,n,m){return t(),e("div",null,o)}const u=a(i,[["render",p]]);export{f as __pageData,u as default}; diff --git a/assets/advanced_js_gamesystem.md.rQ5YJxwZ.lean.js b/assets/advanced_js_gamesystem.md.rQ5YJxwZ.lean.js new file mode 100644 index 000000000..be8aef6b2 --- /dev/null +++ b/assets/advanced_js_gamesystem.md.rQ5YJxwZ.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as s}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"编写新的 TRPG 规则","description":"","frontmatter":{"lang":"zh-cn","title":"编写新的 TRPG 规则"},"headers":[],"relativePath":"advanced/js_gamesystem.md","filePath":"advanced/js_gamesystem.md","lastUpdated":1715601883000}'),i={name:"advanced/js_gamesystem.md"},l=s("",17),o=[l];function p(r,c,h,d,n,m){return t(),e("div",null,o)}const u=a(i,[["render",p]]);export{f as __pageData,u as default}; diff --git a/assets/advanced_js_project.md.rcx_9l9O.js b/assets/advanced_js_project.md.rcx_9l9O.js new file mode 100644 index 000000000..ca91cd0da --- /dev/null +++ b/assets/advanced_js_project.md.rcx_9l9O.js @@ -0,0 +1,8 @@ +import{_ as o,D as t,c as d,I as s,w as a,a8 as n,j as e,o as c}from"./chunks/framework.C7ysi3tu.js";const x=JSON.parse('{"title":"插件的工程化编写","description":"","frontmatter":{"lang":"zh-cn","title":"插件的工程化编写"},"headers":[],"relativePath":"advanced/js_project.md","filePath":"advanced/js_project.md","lastUpdated":1721283943000}'),h={name:"advanced/js_project.md"},p=n('

插件的工程化编写

本节内容

本节将介绍如何使用 Node.js 项目编译出海豹可使用的插件,面向有前端经验的开发者。

我们假定你了解如何使用前端工具链,你应当具备诸如命令行、Node.js、npm/pnpm 等工具的使用知识。如果你对这些内容感到陌生,请自行了解或转至 使用单 JS 文件编写,手册不会介绍这些相关背景知识。

如果你打算使用 TypeScript,或者需要编写大型插件,希望更加工程化以方便维护,可以创建项目使用前端工具链来编译出插件。

海豹提供了相应的 模板项目。注册扩展和指令的代码已经写好,可以直接编译出一个可直接装载的 JS 扩展文件。

Clone 或下载模板项目

推荐的流程:

  1. 模板项目仓库 点击 Use this template 按钮,使用该模板在自己的 GitHub 上创建一个扩展的仓库,并设置为自己的扩展的名字;
  2. git clone 到本地,进行开发。

如果不打算使用 GitHub 托管仓库,希望先在本地编写:

  1. 模板项目仓库 点击 Code 按钮,在出现的浮窗中选择 Download ZIP,这样就会下载一个压缩包;
  2. 解压后进行开发。

补全信息

当插件开发完成后(或者开始开发时),你还需要修改几处地方:

  • header.txt:这个文件是你插件的描述信息;
  • tools/build-config.js:最开头一行 var filename = 'sealdce-js-ext.js'; 改成你中意的名字,注意不要与现有的重名。这决定了编译时输出的插件文件名。
  • (可选)package.json:修改其中 name version description 等项目描述信息,不过不修改也不会影响编译。

使用和编译

在确认你所使用的包管理器后,在命令行使用如下命令安装依赖:

',14),r=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"npm"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install")])])])],-1),k=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"pnpm"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install")])])])],-1),u=e("p",null,"当你写好了代码,需要工程编译为插件的单 js 文件以便上传到海豹骰时,在命令行使用如下命令:",-1),g=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"npm"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," build")])])])],-1),b=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"pnpm"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," build")])])])],-1),m=n(`

编译成功的 js 文件在 dist 目录下,默认的名字是 sealdce-js-ext.js

目录结构

只列出其中主要的一些文件

  • src
    • index.ts:你的扩展的代码就写在这个文件里。
  • tools
    • build-config.js:一些编译的配置,影响 index.ts 编译成 js 文件的方式;
    • build.js:在命令 npm run build 执行时所运行的脚本,用于读取 build-config 并按照配置进行编译。
  • types
    • seal.d.ts:类型文件,海豹核心提供的扩展 API。
  • header.txt:扩展头信息,会在编译时自动加到目标文件头部;
  • package.json:命令 npm install 时就在安装这个文件里面所指示的依赖包;
  • tsconfig.json:TypeScript 的配置文件。

其他问题

我能在项目中引用 npm 包吗?

当然可以,像正常的前端项目一样,你可以在其中引用其他 npm 包,比如模板项目中就为你引入了常用的 lodash-es

一般来说纯 JS 编写的包都是可以引用的,一些强 native 相关的包可能存在兼容性问题,你需要自行尝试。

推荐你尽量使用 esm 格式的包,不过 commonjs 格式的包也是可以使用的,如 dayjs。其他格式的支持和更多问题排查,请查阅模板项目所使用的构建工具 esbuild 的文档,tools/build-config.js 中即是 esbuild 的配置项。

我想使用的 API 没有被自动提示,直接使用被提示错误,如何解决?

types/seal.d.ts 文件中维护了海豹提供的 API,但目前来说维护的并不完全。如果你发现有一些存在的 API 未被提示,可以手动在 types/seal.d.ts 补上来解决报错。

有时 seal.d.ts 会有更新,可以去模板项目仓库看看有没有最新的,有的话可以替换到你的项目中。也非常欢迎你向模板仓库提 PR 来帮忙完善。

默认输出的插件代码是压缩过的,如何尽量保持产物的可读性?

调整 tools/build-config.js 中的选项,关闭 minify:

js
module.exports = {
+  ...
+  build: {
+    ...
+    minify: false,
+    ...
+  }
+}
`,15);function _(y,f,E,F,j,C){const i=t("PluginTabsTab"),l=t("PluginTabs");return c(),d("div",null,[p,s(l,{sharedStateKey:"npm"},{default:a(()=>[s(i,{label:"npm"},{default:a(()=>[r]),_:1}),s(i,{label:"pnpm"},{default:a(()=>[k]),_:1})]),_:1}),u,s(l,{sharedStateKey:"npm"},{default:a(()=>[s(i,{label:"npm"},{default:a(()=>[g]),_:1}),s(i,{label:"pnpm"},{default:a(()=>[b]),_:1})]),_:1}),m])}const P=o(h,[["render",_]]);export{x as __pageData,P as default}; diff --git a/assets/advanced_js_project.md.rcx_9l9O.lean.js b/assets/advanced_js_project.md.rcx_9l9O.lean.js new file mode 100644 index 000000000..31834af6d --- /dev/null +++ b/assets/advanced_js_project.md.rcx_9l9O.lean.js @@ -0,0 +1 @@ +import{_ as o,D as t,c as d,I as s,w as a,a8 as n,j as e,o as c}from"./chunks/framework.C7ysi3tu.js";const x=JSON.parse('{"title":"插件的工程化编写","description":"","frontmatter":{"lang":"zh-cn","title":"插件的工程化编写"},"headers":[],"relativePath":"advanced/js_project.md","filePath":"advanced/js_project.md","lastUpdated":1721283943000}'),h={name:"advanced/js_project.md"},p=n("",14),r=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"npm"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install")])])])],-1),k=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"pnpm"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install")])])])],-1),u=e("p",null,"当你写好了代码,需要工程编译为插件的单 js 文件以便上传到海豹骰时,在命令行使用如下命令:",-1),g=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"npm"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," build")])])])],-1),b=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"pnpm"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," build")])])])],-1),m=n("",15);function _(y,f,E,F,j,C){const i=t("PluginTabsTab"),l=t("PluginTabs");return c(),d("div",null,[p,s(l,{sharedStateKey:"npm"},{default:a(()=>[s(i,{label:"npm"},{default:a(()=>[r]),_:1}),s(i,{label:"pnpm"},{default:a(()=>[k]),_:1})]),_:1}),u,s(l,{sharedStateKey:"npm"},{default:a(()=>[s(i,{label:"npm"},{default:a(()=>[g]),_:1}),s(i,{label:"pnpm"},{default:a(()=>[b]),_:1})]),_:1}),m])}const P=o(h,[["render",_]]);export{x as __pageData,P as default}; diff --git a/assets/advanced_js_start.md.spoJKT3w.js b/assets/advanced_js_start.md.spoJKT3w.js new file mode 100644 index 000000000..ef3e5653b --- /dev/null +++ b/assets/advanced_js_start.md.spoJKT3w.js @@ -0,0 +1,36 @@ +import{_ as r,D as n,c,j as a,a as s,I as e,w as l,a8 as i,o as d}from"./chunks/framework.C7ysi3tu.js";const h="/sealdice-manual-next/assets/edit-jsscript-dts.j849kmdb.png",Y=JSON.parse('{"title":"前言","description":"","frontmatter":{"lang":"zh-cn","title":"前言"},"headers":[],"relativePath":"advanced/js_start.md","filePath":"advanced/js_start.md","lastUpdated":1721287883000}'),k={name:"advanced/js_start.md"},_=i(`

前言

本节内容

本节将介绍 JavaScript 脚本的编写的前置知识,更多内容请看 API 列表常见用法示例,请善用侧边栏和搜索,按需阅读文档。

我们假定你熟悉 JavaScript / TypeScript,编程语言的教学超出了本文档的目的,如果你还不熟悉它们,可以从互联网上寻找到很多优秀的教程。如:

注意:你只需要学习 JavaScript 语言本身,不包括 WebAPI。

快速开始

JavaScriptJS)虽然作为 Web 页面中的脚本语言被人所熟知,但是它也被用到了很多 非浏览器环境 中,例如 Node.jsApache CouchDBAdobe Acrobat 等。

—— 来自 MDN 文档

海豹的 JS 插件就是运行在一个非浏览器环境中—— goja 作为 JS 脚本引擎所提供的环境,该环境目前支持了 ES6 基本上全部的特性,包括 async/awaitpromisegenerator 等异步编程友好的特性。

除了 JS 语言规范所提供的 内置对象,海豹额外在环境中提供了如下全局对象:

  • seal 用于自定义扩展、增加指令、管理黑白名单……几乎所有与海豹本体有关的 API 都挂载在这个内置对象上。
  • console 专门与海豹的日志模块进行交互。
  • setTimeout/setInterval 等与事件循环相关的函数。
  • fetch 用于网络请求。
  • atob/btoa 用于 base64 编解码。

警告

需要注意引擎的整型为 32 位,请小心溢出问题。

现在,让我们从最简单的扩展开始,这个扩展只会在日志中打印一条 Hello World!

新建一个 JS 文件,写入如下内容,然后通过海豹的 WebUI 上传并重载 JS 环境(或是直接复制到海豹 WebUI 的调试控制台中运行)。

javascript
// ==UserScript==
+// @name         示例:如何开始
+// @author       木落
+// @version      1.0.0
+// @description  这是一个演示脚本,并没有任何实际作用。
+// @timestamp    1671368035
+// 2022-12-18
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// ==/UserScript==
+
+console.log('Hello World!');

你应当能在控制台中观察到一条 Hello World 的日志。

提示:打印日志

console 打印出来的东西不仅会在控制台中出现,在日志中也会显示。

涉及网络请求或延迟执行的内容,有时候不会在控制台调试面板上显示出来,而在日志中能看到。

插件元数据

每个 JS 扩展需要在开头以固定格式注释的形式留下信息,以便使用和分享,这些信息通常被称为「插件元数据」:

javascript
// ==UserScript==
+// @name         脚本的名字
+// @author       木落
+// @version      1.0.0
+// @description  这是一个演示脚本,并没有任何实际作用。
+// @timestamp    1672066028
+// @license      Apache-2
+// @homepageURL  https://github.com/sealdice/javascript
+// @depends      SzzRain:demo:1.0.0
+// @sealVersion  1.4.5
+// ==/UserScript==
`,16),u={tabindex:"0"},g=a("thead",null,[a("tr",null,[a("th",null,"属性"),a("th",null,"含义")])],-1),b=a("tr",null,[a("td",null,"@name"),a("td",null,"必填,JS 扩展的名称,会展示在插件列表页面")],-1),m=a("tr",null,[a("td",null,"@author"),a("td",null,"必填,作者名")],-1),A=a("tr",null,[a("td",null,"@version"),a("td",null,[s("必填,版本号,可以自己定义,但建议遵循 "),a("a",{href:"https://semver.org/lang/zh-CN/",target:"_blank",rel:"noreferrer"},"语义版本控制(Semantic Versioning)")])],-1),v=a("tr",null,[a("td",null,"@description"),a("td",null,"可选,对扩展的功能的描述")],-1),S=a("tr",null,[a("td",null,"@timestamp"),a("td",null,[s("可选,最后更新时间,以秒为单位的 unix 时间戳,新版本支持了直接使用时间字符串,如 "),a("code",null,"2023-10-30"),s("。")])],-1),D=a("tr",null,[a("td",null,"@license"),a("td",null,"可选,开源协议,示例中的 Apache-2 是一个比较自由的协议,允许任意使用和分发(包括商用),当然你也可以使用其它协议(MIT GPL 等)")],-1),y=a("tr",null,[a("td",null,"@homepageURL"),a("td",null,"可选,你的扩展的主页链接,有 GitHub 仓库可以填仓库链接,没有则可以填海豹官方插件仓库")],-1),f=a("strong",null,"可以不含此行或含有多行",-1),z=a("a",{href:"#依赖其他扩展"},"依赖其他扩展",-1),T=a("a",{href:"#目标海豹版本"},"目标海豹版本",-1),x=i('

插件编写

单 JS 文件编写插件

我们更推荐使用 TypeScript 来编写插件,编译到 ES6 后使用即可。不过先从 JavaScript 开始也是没有任何问题的。

编写插件时,可以下载海豹提供的 seal.d.ts 文件,将其保存在和你要编写的 JS 文件同级的目录下。

seal.d.ts 支持了在使用 vscode 等工具编写时,对海豹提供的 API 的代码补全。

海豹 API 代码补全

提示

seal.d.ts 文件随时可能会有更新,如果你需要的 API 没有提示,可以检查一下是否是最新版本。

插件的工程化编写

如果你打算使用 TypeScript,或者需要编写大型插件,希望更加工程化以方便维护,见 插件的工程化编写

插件的工程化编写

插件的工程化编写是 为有一定经验的开发者准备的。相关文档默认你了解如何使用前端工具链,你应当具备诸如命令行、Node.js、npm/pnpm 等工具的使用知识。

如果你对上面的内容感到陌生,请自行了解或放弃使用,手册不会介绍相关内容。

使用单 JS 文件编写插件与使用模板工程编写本质上是没有区别的,并不会出现某些功能无法使用的差异。

扩展依赖

',11),P={id:"依赖其他扩展",tabindex:"-1"},j=a("a",{class:"header-anchor",href:"#依赖其他扩展","aria-label":'Permalink to "依赖其他扩展 "'},"​",-1),C=a("p",null,"有些时候,你的扩展依赖于另一个扩展提供的功能,希望在缺失对应扩展时不进行这个插件的加载。",-1),J=a("p",null,"例如,「SzzRain:每日新闻」依赖于「SzzRain:定时任务」,我们希望在骰主仅安装了「SzzRain:每日新闻」时,提示需要安装其依赖的「SzzRain:定时任务」扩展。",-1),R=a("a",{href:"#填写插件信息"},"插件元数据",-1),q=a("code",null,"@depends",-1),I=i('

指定依赖的格式

指定依赖的格式为 作者:插件名[:SemVer版本约束,可选],其中 : 是分隔符,注意必须是半角符号。

例如,使用 @depends SzzRain:定时任务,这意味着该插件需要同时安装一个名为 定时任务,作者名为 SzzRain 的插件才可正常工作。

',3),E=a("div",{class:"language-javascript vp-adaptive-theme"},[a("button",{title:"Copy Code",class:"copy"}),a("span",{class:"lang"},"javascript"),a("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[a("code",null,[a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// ==UserScript==")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @name 每日新闻")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @author SzzRain")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @version 2.0.0")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// ...")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @depends SzzRain:定时任务:>=2.0.0")])])])],-1),V=a("div",{class:"language-javascript vp-adaptive-theme"},[a("button",{title:"Copy Code",class:"copy"}),a("span",{class:"lang"},"javascript"),a("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[a("code",null,[a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// ==UserScript==")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @name 定时任务")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @author SzzRain")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @version 2.0.0")])])])],-1),N=i(`

在上面的示例中,可以看见「SzzRain:每日新闻」通过 @depends 指明了其依赖 SzzRain:定时任务:>=2.0.0

版本限制是可选的,比如上面示例中的 >=2.0.0,这表示 SzzRain:每日新闻 依赖于 SzzRain:定时任务,且后者的版本必须大于等于 2.0.0。这在你需要依赖高版本插件的情况下很有用。

插件名、作者、版本号

指定依赖插件涉及到对应的插件名、作者名和版本号,其为插件元数据中的 @name@author@version

有更复杂的指定依赖版本需求?

除了上面提到的 >=2.0.0 之外,你还可以参阅海豹所使用的 go-semver 库的文档,来进行更复杂的限制。

比如 1.1.4-5.1.4 意味着指定的依赖版本需要在 1.1.45.1.4 之间。

但是,目标依赖的版本号需要符合 SemVer 才能更好的支持你进行版本限制。

依赖多个扩展

依赖可以是多个,每一行指定一个 @depends,这意味着这个插件需要同时满足所有的依赖才能工作。

例如我们给上面的「SzzRain:每日新闻」增加一个新的依赖:

javascript
// ==UserScript==
+// @name         每日新闻
+// @author       SzzRain
+// @version      2.0.0
+// ...
+// @depends      SzzRain:定时任务:>=2.0.0
+// @depends      sealdice:强制依赖

此时,这个插件需要同时安装 SzzRain:定时任务(且版本大于等于 2.0.0)和 sealdice:强制依赖 这两个插件时,才能正常加载。

`,9),w={id:"目标海豹版本",tabindex:"-1"},B=a("a",{class:"header-anchor",href:"#目标海豹版本","aria-label":'Permalink to "目标海豹版本 "'},"​",-1),U=a("p",null,"新版本的海豹有时会增加更多插件可以调用的 API,但会出现使用旧版本海豹的骰主,去尝试加载使用了新 API 的插件而出错的情况。",-1),W=a("a",{href:"#插件元数据"},"插件元数据",-1),L=a("code",null,"@sealVersion",-1),F=i('

例如,当插件使用了在 1.4.6 新增的 API,可以指定目标海豹版本 @sealVersion 1.4.6。而当加载该插件的海豹版本为 1.4.5 时,会向骰主提示海豹版本不兼容而拒绝加载。

兼容的海豹版本

插件作者只需要指定目标海豹版本即可,如 1.4.5 新增的 API 则指定 @sealVersion 1.4.5

海豹会尝试在兼容的情况下尽可能地加载插件,这是由海豹核心自动处理的。

一些有帮助的资源

VS Code 可以安装 SealDice Snippets 插件,提供了一些常见代码片段,帮助快速生成模板代码。

其他问题

我不会 JavaScript,海豹支持其他编程语言编写插件吗?

这个问题分为两个部分,如果你所说的其他编程语言为 Python、Lua 等与 JavaScript 无关的编程语言,那么目前是无法使用这些语言编写海豹插件的。如果你有一些其它骰系的插件(比如一些 Lua 插件),你只能通过按原逻辑重写为海豹 JavaScript 插件的方式来在海豹中使用。

但是有些编程语言是可以编译为 JavaScript 的,典型的像 TypeScript、CoffeeScript。这些语言在编写时使用它们自己,最后只要编译成 JavaScript 就可以在海豹中使用了。

',8);function G(H,M,$,O,K,Q){const t=n("Badge"),p=n("PluginTabsTab"),o=n("PluginTabs");return d(),c("div",null,[_,a("table",u,[g,a("tbody",null,[b,m,A,v,S,D,y,a("tr",null,[a("td",null,[s("@depends "),e(t,{type:"tip",text:"v1.4.4"})]),a("td",null,[s("可选,从 "),e(t,{type:"tip",text:"v1.4.4"}),s(" 加入,指定你的扩展依赖的其他扩展,"),f,s("。详见 "),z])]),a("tr",null,[a("td",null,[s("@sealVersion "),e(t,{type:"tip",text:"v1.4.5"})]),a("td",null,[s("可选,从 "),e(t,{type:"tip",text:"v1.4.5"}),s(" 加入,指定你的扩展的目标海豹版本。详见 "),T])])])]),x,a("h3",P,[s("依赖其他扩展 "),e(t,{type:"tip",text:"v1.4.4"}),s(),j]),C,J,a("p",null,[s("从 "),e(t,{type:"tip",text:"v1.4.4"}),s(" 开始,你可以在 "),R,s(" 中通过 "),q,s(" 来指定扩展依赖的其他扩展。")]),I,e(o,null,{default:l(()=>[e(p,{label:"SzzRain:每日新闻"},{default:l(()=>[E]),_:1}),e(p,{label:"SzzRain:定时任务"},{default:l(()=>[V]),_:1})]),_:1}),N,a("h2",w,[s("目标海豹版本 "),e(t,{type:"tip",text:"v1.4.5"}),s(),B]),U,a("p",null,[s("为了让插件作者无需反复说明,也更好地提示使用插件的骰主,从 "),e(t,{type:"tip",text:"v1.4.5"}),s(" 开始,你可以在 "),W,s(" 中通过 "),L,s(" 来指定插件的目标海豹版本。")]),F])}const Z=r(k,[["render",G]]);export{Y as __pageData,Z as default}; diff --git a/assets/advanced_js_start.md.spoJKT3w.lean.js b/assets/advanced_js_start.md.spoJKT3w.lean.js new file mode 100644 index 000000000..efb0721a0 --- /dev/null +++ b/assets/advanced_js_start.md.spoJKT3w.lean.js @@ -0,0 +1,9 @@ +import{_ as r,D as n,c,j as a,a as s,I as e,w as l,a8 as i,o as d}from"./chunks/framework.C7ysi3tu.js";const h="/sealdice-manual-next/assets/edit-jsscript-dts.j849kmdb.png",Y=JSON.parse('{"title":"前言","description":"","frontmatter":{"lang":"zh-cn","title":"前言"},"headers":[],"relativePath":"advanced/js_start.md","filePath":"advanced/js_start.md","lastUpdated":1721287883000}'),k={name:"advanced/js_start.md"},_=i("",16),u={tabindex:"0"},g=a("thead",null,[a("tr",null,[a("th",null,"属性"),a("th",null,"含义")])],-1),b=a("tr",null,[a("td",null,"@name"),a("td",null,"必填,JS 扩展的名称,会展示在插件列表页面")],-1),m=a("tr",null,[a("td",null,"@author"),a("td",null,"必填,作者名")],-1),A=a("tr",null,[a("td",null,"@version"),a("td",null,[s("必填,版本号,可以自己定义,但建议遵循 "),a("a",{href:"https://semver.org/lang/zh-CN/",target:"_blank",rel:"noreferrer"},"语义版本控制(Semantic Versioning)")])],-1),v=a("tr",null,[a("td",null,"@description"),a("td",null,"可选,对扩展的功能的描述")],-1),S=a("tr",null,[a("td",null,"@timestamp"),a("td",null,[s("可选,最后更新时间,以秒为单位的 unix 时间戳,新版本支持了直接使用时间字符串,如 "),a("code",null,"2023-10-30"),s("。")])],-1),D=a("tr",null,[a("td",null,"@license"),a("td",null,"可选,开源协议,示例中的 Apache-2 是一个比较自由的协议,允许任意使用和分发(包括商用),当然你也可以使用其它协议(MIT GPL 等)")],-1),y=a("tr",null,[a("td",null,"@homepageURL"),a("td",null,"可选,你的扩展的主页链接,有 GitHub 仓库可以填仓库链接,没有则可以填海豹官方插件仓库")],-1),f=a("strong",null,"可以不含此行或含有多行",-1),z=a("a",{href:"#依赖其他扩展"},"依赖其他扩展",-1),T=a("a",{href:"#目标海豹版本"},"目标海豹版本",-1),x=i("",11),P={id:"依赖其他扩展",tabindex:"-1"},j=a("a",{class:"header-anchor",href:"#依赖其他扩展","aria-label":'Permalink to "依赖其他扩展 "'},"​",-1),C=a("p",null,"有些时候,你的扩展依赖于另一个扩展提供的功能,希望在缺失对应扩展时不进行这个插件的加载。",-1),J=a("p",null,"例如,「SzzRain:每日新闻」依赖于「SzzRain:定时任务」,我们希望在骰主仅安装了「SzzRain:每日新闻」时,提示需要安装其依赖的「SzzRain:定时任务」扩展。",-1),R=a("a",{href:"#填写插件信息"},"插件元数据",-1),q=a("code",null,"@depends",-1),I=i("",3),E=a("div",{class:"language-javascript vp-adaptive-theme"},[a("button",{title:"Copy Code",class:"copy"}),a("span",{class:"lang"},"javascript"),a("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[a("code",null,[a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// ==UserScript==")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @name 每日新闻")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @author SzzRain")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @version 2.0.0")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// ...")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @depends SzzRain:定时任务:>=2.0.0")])])])],-1),V=a("div",{class:"language-javascript vp-adaptive-theme"},[a("button",{title:"Copy Code",class:"copy"}),a("span",{class:"lang"},"javascript"),a("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[a("code",null,[a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// ==UserScript==")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @name 定时任务")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @author SzzRain")]),s(` +`),a("span",{class:"line"},[a("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// @version 2.0.0")])])])],-1),N=i("",9),w={id:"目标海豹版本",tabindex:"-1"},B=a("a",{class:"header-anchor",href:"#目标海豹版本","aria-label":'Permalink to "目标海豹版本 "'},"​",-1),U=a("p",null,"新版本的海豹有时会增加更多插件可以调用的 API,但会出现使用旧版本海豹的骰主,去尝试加载使用了新 API 的插件而出错的情况。",-1),W=a("a",{href:"#插件元数据"},"插件元数据",-1),L=a("code",null,"@sealVersion",-1),F=i("",8);function G(H,M,$,O,K,Q){const t=n("Badge"),p=n("PluginTabsTab"),o=n("PluginTabs");return d(),c("div",null,[_,a("table",u,[g,a("tbody",null,[b,m,A,v,S,D,y,a("tr",null,[a("td",null,[s("@depends "),e(t,{type:"tip",text:"v1.4.4"})]),a("td",null,[s("可选,从 "),e(t,{type:"tip",text:"v1.4.4"}),s(" 加入,指定你的扩展依赖的其他扩展,"),f,s("。详见 "),z])]),a("tr",null,[a("td",null,[s("@sealVersion "),e(t,{type:"tip",text:"v1.4.5"})]),a("td",null,[s("可选,从 "),e(t,{type:"tip",text:"v1.4.5"}),s(" 加入,指定你的扩展的目标海豹版本。详见 "),T])])])]),x,a("h3",P,[s("依赖其他扩展 "),e(t,{type:"tip",text:"v1.4.4"}),s(),j]),C,J,a("p",null,[s("从 "),e(t,{type:"tip",text:"v1.4.4"}),s(" 开始,你可以在 "),R,s(" 中通过 "),q,s(" 来指定扩展依赖的其他扩展。")]),I,e(o,null,{default:l(()=>[e(p,{label:"SzzRain:每日新闻"},{default:l(()=>[E]),_:1}),e(p,{label:"SzzRain:定时任务"},{default:l(()=>[V]),_:1})]),_:1}),N,a("h2",w,[s("目标海豹版本 "),e(t,{type:"tip",text:"v1.4.5"}),s(),B]),U,a("p",null,[s("为了让插件作者无需反复说明,也更好地提示使用插件的骰主,从 "),e(t,{type:"tip",text:"v1.4.5"}),s(" 开始,你可以在 "),W,s(" 中通过 "),L,s(" 来指定插件的目标海豹版本。")]),F])}const Z=r(k,[["render",G]]);export{Y as __pageData,Z as default}; diff --git a/assets/advanced_script.md.2l5e5AEz.js b/assets/advanced_script.md.2l5e5AEz.js new file mode 100644 index 000000000..df099b301 --- /dev/null +++ b/assets/advanced_script.md.2l5e5AEz.js @@ -0,0 +1,44 @@ +import{_ as t,c as a,o as s,a8 as e}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"内置脚本语言","description":"","frontmatter":{"lang":"zh-cn","title":"内置脚本语言"},"headers":[],"relativePath":"advanced/script.md","filePath":"advanced/script.md","lastUpdated":1718023895000}'),d={name:"advanced/script.md"},n=e(`

内置脚本语言

本节内容

本节将介绍海豹内置的脚本语言,请善用侧边栏和搜索,按需阅读文档。

为了在很多地方支持实现一些逻辑,但又不至于直接使用学习门槛较高的正式编程语言,海豹提供了一种简单易学的脚本语言,可以称为「海豹语」「豹语」等。

变量

你可能注意到,在自定义文案等地方,出现了一些以 $t 开头的东西,这些是海豹中的变量

变量的名称可以是汉字、字母和数字,$t 是一个特殊的变量前缀,还有其它的前缀。不同前缀代表不同的作用域:

变量名字用途举例
普通名字玩家的角色属性理智、力量、智力
$t开头个人临时变量,不存数据库$t随机点数
$m开头个人变量,跨群存在$m今日人品
$g开头群变量,群内所有人共享$g群主体重

所有变量均可以在 .rx / .rxh / .ra/ .text 等指令以及「自定义文案」中使用。

注意:$t 是临时变量

$t 开头的临时变量的存活周期仅为单次指令执行,执行完毕后不应当认为该变量值还保留

在下一次指令中使用上一次指令设置的 $t 变量属于未定义行为,可能会出现包括但不限于变量值不变,变量值丢失,变量值被覆盖,变量值变为随机数,变量值变成 114514 等任何情况。如果你需要这样的持久变量,请使用 $m$g 代替。

内置的 $t 变量的值固定并不代表它们是持久变量,其值是在每次指令执行的初始阶段设置的。

提示:变量不生效?

如果一部分变量无效,请检查海豹是否为最新版本。

一些内置变量

变量名内容示例结果
$t玩家当前人物卡的名字,如果不存在则为群昵称或 QQ 昵称。<木落>
$t玩家_RAW同上,但没有<>木落
$tQQ昵称QQ 昵称<木落>
$t账号ID海豹格式的 IDQQ:123456789
$t账号ID_RAW原始格式的 ID123456789
$tQQ海豹格式的 IDQQ:123456789
$t群名群名海豹核心·SealDice 用户群
$t群号海豹格式的 IDQQ-Group:987654321
$t群号_RAW原始格式的 ID987654321
$t个人骰子面数个人骰子面数100
$tDate数字格式的现日期20230109
$tYear数字格式的年份2023
$tMonth数字格式的现月份1
$tDay数字格式的现日期9
$tWeekday数字格式的星期(1-7)1
$tHour数字格式的现时间(小时)15
$tMinute数字格式的现时间(分钟)41
$tSecond数字格式的现时间(秒)55
$tTimestamp数字格式的 10 位时间戳1673250115
$t文本长度触发消息的文本,汉字长度为 3,英文字母和数字长度为 1。6
$t平台触发的平台QQ
$t游戏模式.set coc/dnd 改变coc7
$t消息类型触发位置为群还是私聊(group/private)group
娱乐:今日人品自定义文案<木落> 的今日人品为 0
常量:APPNAME软件名SealDice
常量:VERSION版本号1.4.0
$tMsgID消息 ID,仅自定义回复中可用。-123

所有自定义文案也均为可用变量。

数据类型和赋值

text
// 注意,目前并不支持写注释,此为教程中便于展示
+// 文本类型
+$t0 = '文本'
+$t0 = "也是文本"
+$t0 = \`特殊文本类型,可以插入表达式,例如,玩家的力量数值: {力量}\`
+$t0 = \`另一种插入表达式的写法 {% 力量 %} \`
+
+// 数字类型
+$t0 = 1
+
+// 布尔类型:没有专门的布尔类型,0 或空字符串被视为 False,非零和非空字符串为 True
+$t0 > 1
+$t0 >= 1
+$t0 == 1
+$t0 != 1
+$t0 < 1
+$t0 <= 1

注意:务必区分 ===

混淆 === 是小白常犯的错误之一。前者用于赋值而后者用于比较。当你试图在下文所述的条件算符或条件语句中,比较两个值时,需要使用 ==

语句

多个语句可以用 ; 分隔,取分隔后的最后一项的值,为整个表达式的值,例如:

text
$t0 = 1;2;3

此时 $t0 的值为 3。

注意:分号的使用

不要在最后一条语句的后面再使用分号,会变得不幸。

text
// 正确写法
+if 1 {
+    $t0 = 1;
+    $t1 = 2
+}
+
+// 错误写法
+if 1 {
+    $t0 = 1;
+    $t1 = 2;
+}

运算符

数学运算

text
加减乘除余 + - * / %
+乘方 ^ ** // 2 ** 3 或 2 ^ 3,即 2 的 3 次方

逻辑运算

text
&& 逻辑与
+|| 逻辑或
+!  逻辑非

骰子算符

d 常规骰子算符,用法举例 d20 2d20k1 d20 优势

f 命运骰,随机骰 4 次,每骰结果可能是 -1 0 1,记为 - 0 +。

b 奖励骰 (CoC)。

p 惩罚骰 (CoC)。

c 双十字。

条件算符

条件算符 ?

text
灵视 >= 40 ? '如果灵视达到40以上,你就能看到这句话'

可以用这个指令测试,下同:

text
.st 灵视 41
+.text {灵视 >= 40 ? '如果灵视达到 40 以上,你就能看到这句话'}

多重条件算符 ? ,

text
灵视 >= 80 ? '看得很清楚吗?',
+灵视 >= 50 ? '不错,再靠近一点……',
+灵视 >= 30 ? '仔细听……',
+灵视 >= 0 ? '呵,无知之人。'

应用举例,默认的 jrrp

text
{$t玩家} 今日人品为{$t人品},{%
+    $t人品 > 95 ? '人品爆表!',
+    $t人品 > 80 ? '运气还不错!',
+    $t人品 > 50 ? '人品还行吧',
+    $t人品 > 10 ? '今天不太行',
+    1 ? '流年不利啊!'
+%}

三目运算符 ? :

text
灵视 >= 40 ? '如果灵视达到 40 以上,你就能看到这句话' : '无知亦是幸运'

条件语句

text
if $t0 > 10 {
+    $t1 = "aaa"
+} else {
+    $t1 = 'bbb'
+}

提示:出现格式化错误

如果上面的代码输出「格式化错误」,那是因为你的 $t0 不是数值。字符串当然不能和数值比较大小,所以会报错。

解决方法:.text {$t0=0}

实际测试:

text
.text {% if $t0 > 10 { $t1="aaa"} else { $t1 = 'bbb' }; $t1 %}
`,46),p=[n];function c(o,l,i,r,h,g){return s(),a("div",null,p)}const v=t(d,[["render",c]]);export{u as __pageData,v as default}; diff --git a/assets/advanced_script.md.2l5e5AEz.lean.js b/assets/advanced_script.md.2l5e5AEz.lean.js new file mode 100644 index 000000000..cb00db5a1 --- /dev/null +++ b/assets/advanced_script.md.2l5e5AEz.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as s,a8 as e}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"内置脚本语言","description":"","frontmatter":{"lang":"zh-cn","title":"内置脚本语言"},"headers":[],"relativePath":"advanced/script.md","filePath":"advanced/script.md","lastUpdated":1718023895000}'),d={name:"advanced/script.md"},n=e("",46),p=[n];function c(o,l,i,r,h,g){return s(),a("div",null,p)}const v=t(d,[["render",c]]);export{u as __pageData,v as default}; diff --git a/assets/android_np_manager.FuLqh54f.jpg b/assets/android_np_manager.FuLqh54f.jpg new file mode 100644 index 000000000..a0025c409 Binary files /dev/null and b/assets/android_np_manager.FuLqh54f.jpg differ diff --git a/assets/android_sealdice_port.CCn6iS6b.jpg b/assets/android_sealdice_port.CCn6iS6b.jpg new file mode 100644 index 000000000..e78a13185 Binary files /dev/null and b/assets/android_sealdice_port.CCn6iS6b.jpg differ diff --git a/assets/app.BKabOgys.js b/assets/app.BKabOgys.js new file mode 100644 index 000000000..293bfbaec --- /dev/null +++ b/assets/app.BKabOgys.js @@ -0,0 +1,91 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/c4Diagram-ae766693.DLOsxA_1.js","assets/chunks/svgDrawCommon-5e1cfd1d.IQKLCKK_.js","assets/chunks/framework.C7ysi3tu.js","assets/chunks/theme.AljJD-Uk.js","assets/chunks/flowDiagram-b222e15a.Df_VmXWq.js","assets/chunks/flowDb-c1833063.BRGHxfAT.js","assets/chunks/graph.CmmHGxOl.js","assets/chunks/layout.CbVLFsVb.js","assets/chunks/styles-483fbfea.BblXdEuY.js","assets/chunks/index-01f381cb.zbRgJYXZ.js","assets/chunks/clone.TnmvHrgs.js","assets/chunks/edges-066a5561.CPwEKA1n.js","assets/chunks/createText-ca0c5216.lHq48BDc.js","assets/chunks/line._HMy3R8R.js","assets/chunks/array.BKyUJesY.js","assets/chunks/path.CbwjOpE9.js","assets/chunks/channel.DzT0vZNh.js","assets/chunks/flowDiagram-v2-13329dc7.HD1lSh3u.js","assets/chunks/erDiagram-09d1c15f.DRVauXa-.js","assets/chunks/gitGraphDiagram-942e62fe.DHd-4RVN.js","assets/chunks/ganttDiagram-b62c793e.0tEMa_1q.js","assets/chunks/linear.C2Kb3ud7.js","assets/chunks/init.Gi6I4Gst.js","assets/chunks/infoDiagram-94cd232f.JmpHCYP9.js","assets/chunks/pieDiagram-bb1d19e5.Wp1004gd.js","assets/chunks/arc.BxUBBXCP.js","assets/chunks/ordinal.BYWQX77i.js","assets/chunks/quadrantDiagram-c759a472.BkG1jmU1.js","assets/chunks/xychartDiagram-f11f50a6.BhHzclVa.js","assets/chunks/requirementDiagram-87253d64.DrCA6Bm6.js","assets/chunks/sequenceDiagram-6894f283.xdiF0jQs.js","assets/chunks/classDiagram-fb54d2a0.Sd0OEb1c.js","assets/chunks/styles-b83b31c9.B6djMH8N.js","assets/chunks/classDiagram-v2-a2b738ad.C40Ng1qw.js","assets/chunks/stateDiagram-5dee940d.sTq1FYCv.js","assets/chunks/styles-0784dbeb.KkglxV8-.js","assets/chunks/stateDiagram-v2-1992cada.Dcs4V2uJ.js","assets/chunks/journeyDiagram-6625b456.DTGNa8mU.js","assets/chunks/flowchart-elk-definition-ae0efee6.COmkU_vM.js","assets/chunks/timeline-definition-bf702344.CGThNUVg.js","assets/chunks/mindmap-definition-307c710a.QSQjGcB3.js","assets/chunks/sankeyDiagram-707fac0f.B9hhT9kO.js","assets/chunks/Tableau10.B-NsZVaP.js","assets/chunks/blockDiagram-9f4a6865.Dt0yG6MA.js"])))=>i.map(i=>d[i]); +import{X as K,s as Lo,u as Ua,ab as kc,y as Ya,z as Sc,o as wc,c as Bc,n as Ac,U as nn,ac as Lc,ad as Fc,ae as Ec,af as Oc,ag as Mc,ah as Ic,ai as $c,aj as Dc,ak as Nc,al as Rc,d as Pc,x as qc,am as zc,an as Wc,ao as Hc,a7 as jc}from"./chunks/framework.C7ysi3tu.js";import{R as Uc}from"./chunks/theme.AljJD-Uk.js";function Yc(t){for(var e=[],i=1;i=T?M:""+Array(T+1-w.length).join(y)+M},N={s:U,z:function(M){var T=-M.utcOffset(),y=Math.abs(T),w=Math.floor(y/60),x=y%60;return(T<=0?"+":"-")+U(w,2,"0")+":"+U(x,2,"0")},m:function M(T,y){if(T.date()1)return M(D[0])}else{var $=T.name;G[$]=T,x=$}return!w&&x&&(j=x),x||!w&&j},Z=function(M,T){if(Jt(M))return M.clone();var y=typeof T=="object"?T:{};return y.date=M,y.args=arguments,new wt(y)},R=N;R.l=Qt,R.i=Jt,R.w=function(M,T){return Z(M,{locale:T.$L,utc:T.$u,x:T.$x,$offset:T.$offset})};var wt=function(){function M(y){this.$L=Qt(y.locale,null,!0),this.parse(y),this.$x=this.$x||y.x||{},this[H]=!0}var T=M.prototype;return T.parse=function(y){this.$d=function(w){var x=w.date,F=w.utc;if(x===null)return new Date(NaN);if(R.u(x))return new Date;if(x instanceof Date)return new Date(x);if(typeof x=="string"&&!/Z$/i.test(x)){var D=x.match(k);if(D){var $=D[2]-1||0,X=(D[7]||"0").substring(0,3);return F?new Date(Date.UTC(D[1],$,D[3]||1,D[4]||0,D[5]||0,D[6]||0,X)):new Date(D[1],$,D[3]||1,D[4]||0,D[5]||0,D[6]||0,X)}}return new Date(x)}(y),this.init()},T.init=function(){var y=this.$d;this.$y=y.getFullYear(),this.$M=y.getMonth(),this.$D=y.getDate(),this.$W=y.getDay(),this.$H=y.getHours(),this.$m=y.getMinutes(),this.$s=y.getSeconds(),this.$ms=y.getMilliseconds()},T.$utils=function(){return R},T.isValid=function(){return this.$d.toString()!==b},T.isSame=function(y,w){var x=Z(y);return this.startOf(w)<=x&&x<=this.endOf(w)},T.isAfter=function(y,w){return Z(y)-1}function l(u){var f=u.replace(n,"");return f.replace(i,function(h,p){return String.fromCharCode(p)})}function c(u){if(!u)return t.BLANK_URL;var f=l(u).replace(r,"").replace(n,"").trim();if(!f)return t.BLANK_URL;if(s(f))return f;var h=f.match(o);if(!h)return f;var p=h[0];return e.test(p)?t.BLANK_URL:f}t.sanitizeUrl=c})(Ga);var Zc={value:()=>{}};function Xa(){for(var t=0,e=arguments.length,i={},r;t=0&&(r=i.slice(n+1),i=i.slice(0,n)),i&&!e.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:r}})}Pi.prototype=Xa.prototype={constructor:Pi,on:function(t,e){var i=this._,r=Jc(t+"",i),n,o=-1,a=r.length;if(arguments.length<2){for(;++o0)for(var i=new Array(n),r=0,n,o;r=0&&(e=t.slice(0,i))!=="xmlns"&&(t=t.slice(i+1)),Eo.hasOwnProperty(e)?{space:Eo[e],local:t}:t}function th(t){return function(){var e=this.ownerDocument,i=this.namespaceURI;return i===on&&e.documentElement.namespaceURI===on?e.createElement(t):e.createElementNS(i,t)}}function eh(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Ka(t){var e=mr(t);return(e.local?eh:th)(e)}function ih(){}function Bn(t){return t==null?ih:function(){return this.querySelector(t)}}function rh(t){typeof t!="function"&&(t=Bn(t));for(var e=this._groups,i=e.length,r=new Array(i),n=0;n=U&&(U=v+1);!(j=k[U])&&++U=0;)(a=r[n])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function Ah(t){t||(t=Lh);function e(f,h){return f&&h?t(f.__data__,h.__data__):!f-!h}for(var i=this._groups,r=i.length,n=new Array(r),o=0;oe?1:t>=e?0:NaN}function Fh(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Eh(){return Array.from(this)}function Oh(){for(var t=this._groups,e=0,i=t.length;e1?this.each((e==null?Hh:typeof e=="function"?Uh:jh)(t,e,i??"")):Ie(this.node(),t)}function Ie(t,e){return t.style.getPropertyValue(e)||es(t).getComputedStyle(t,null).getPropertyValue(e)}function Vh(t){return function(){delete this[t]}}function Gh(t,e){return function(){this[t]=e}}function Xh(t,e){return function(){var i=e.apply(this,arguments);i==null?delete this[t]:this[t]=i}}function Kh(t,e){return arguments.length>1?this.each((e==null?Vh:typeof e=="function"?Xh:Gh)(t,e)):this.node()[t]}function is(t){return t.trim().split(/^|\s+/)}function An(t){return t.classList||new rs(t)}function rs(t){this._node=t,this._names=is(t.getAttribute("class")||"")}rs.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function ns(t,e){for(var i=An(t),r=-1,n=e.length;++r=0&&(i=e.slice(r+1),e=e.slice(0,r)),{type:e,name:i}})}function ku(t){return function(){var e=this.__on;if(e){for(var i=0,r=-1,n=e.length,o;i>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):i===8?Oi(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):i===4?Oi(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Mu.exec(t))?new gt(e[1],e[2],e[3],1):(e=Iu.exec(t))?new gt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=$u.exec(t))?Oi(e[1],e[2],e[3],e[4]):(e=Du.exec(t))?Oi(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Nu.exec(t))?Ro(e[1],e[2]/100,e[3]/100,1):(e=Ru.exec(t))?Ro(e[1],e[2]/100,e[3]/100,e[4]):Oo.hasOwnProperty(t)?$o(Oo[t]):t==="transparent"?new gt(NaN,NaN,NaN,0):null}function $o(t){return new gt(t>>16&255,t>>8&255,t&255,1)}function Oi(t,e,i,r){return r<=0&&(t=e=i=NaN),new gt(t,e,i,r)}function zu(t){return t instanceof Ti||(t=di(t)),t?(t=t.rgb(),new gt(t.r,t.g,t.b,t.opacity)):new gt}function an(t,e,i,r){return arguments.length===1?zu(t):new gt(t,e,i,r??1)}function gt(t,e,i,r){this.r=+t,this.g=+e,this.b=+i,this.opacity=+r}Ln(gt,an,ls(Ti,{brighter(t){return t=t==null?Xi:Math.pow(Xi,t),new gt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ui:Math.pow(ui,t),new gt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new gt(pe(this.r),pe(this.g),pe(this.b),Ki(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Do,formatHex:Do,formatHex8:Wu,formatRgb:No,toString:No}));function Do(){return`#${fe(this.r)}${fe(this.g)}${fe(this.b)}`}function Wu(){return`#${fe(this.r)}${fe(this.g)}${fe(this.b)}${fe((isNaN(this.opacity)?1:this.opacity)*255)}`}function No(){const t=Ki(this.opacity);return`${t===1?"rgb(":"rgba("}${pe(this.r)}, ${pe(this.g)}, ${pe(this.b)}${t===1?")":`, ${t})`}`}function Ki(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function pe(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function fe(t){return t=pe(t),(t<16?"0":"")+t.toString(16)}function Ro(t,e,i,r){return r<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new Et(t,e,i,r)}function cs(t){if(t instanceof Et)return new Et(t.h,t.s,t.l,t.opacity);if(t instanceof Ti||(t=di(t)),!t)return new Et;if(t instanceof Et)return t;t=t.rgb();var e=t.r/255,i=t.g/255,r=t.b/255,n=Math.min(e,i,r),o=Math.max(e,i,r),a=NaN,s=o-n,l=(o+n)/2;return s?(e===o?a=(i-r)/s+(i0&&l<1?0:a,new Et(a,s,l,t.opacity)}function Hu(t,e,i,r){return arguments.length===1?cs(t):new Et(t,e,i,r??1)}function Et(t,e,i,r){this.h=+t,this.s=+e,this.l=+i,this.opacity=+r}Ln(Et,Hu,ls(Ti,{brighter(t){return t=t==null?Xi:Math.pow(Xi,t),new Et(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ui:Math.pow(ui,t),new Et(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,r=i+(i<.5?i:1-i)*e,n=2*i-r;return new gt(zr(t>=240?t-240:t+120,n,r),zr(t,n,r),zr(t<120?t+240:t-120,n,r),this.opacity)},clamp(){return new Et(Po(this.h),Mi(this.s),Mi(this.l),Ki(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Ki(this.opacity);return`${t===1?"hsl(":"hsla("}${Po(this.h)}, ${Mi(this.s)*100}%, ${Mi(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Po(t){return t=(t||0)%360,t<0?t+360:t}function Mi(t){return Math.max(0,Math.min(1,t||0))}function zr(t,e,i){return(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)*255}const Fn=t=>()=>t;function hs(t,e){return function(i){return t+i*e}}function ju(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(r){return Math.pow(t+r*e,i)}}function n1(t,e){var i=e-t;return i?hs(t,i>180||i<-180?i-360*Math.round(i/360):i):Fn(isNaN(t)?e:t)}function Uu(t){return(t=+t)==1?us:function(e,i){return i-e?ju(e,i,t):Fn(isNaN(e)?i:e)}}function us(t,e){var i=e-t;return i?hs(t,i):Fn(isNaN(t)?e:t)}const qo=function t(e){var i=Uu(e);function r(n,o){var a=i((n=an(n)).r,(o=an(o)).r),s=i(n.g,o.g),l=i(n.b,o.b),c=us(n.opacity,o.opacity);return function(u){return n.r=a(u),n.g=s(u),n.b=l(u),n.opacity=c(u),n+""}}return r.gamma=t,r}(1);function ne(t,e){return t=+t,e=+e,function(i){return t*(1-i)+e*i}}var sn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Wr=new RegExp(sn.source,"g");function Yu(t){return function(){return t}}function Vu(t){return function(e){return t(e)+""}}function Gu(t,e){var i=sn.lastIndex=Wr.lastIndex=0,r,n,o,a=-1,s=[],l=[];for(t=t+"",e=e+"";(r=sn.exec(t))&&(n=Wr.exec(e));)(o=n.index)>i&&(o=e.slice(i,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(n=n[0])?s[a]?s[a]+=n:s[++a]=n:(s[++a]=null,l.push({i:a,x:ne(r,n)})),i=Wr.lastIndex;return i180?u+=360:u-c>180&&(c+=360),h.push({i:f.push(n(f)+"rotate(",null,r)-2,x:ne(c,u)})):u&&f.push(n(f)+"rotate("+u+r)}function s(c,u,f,h){c!==u?h.push({i:f.push(n(f)+"skewX(",null,r)-2,x:ne(c,u)}):u&&f.push(n(f)+"skewX("+u+r)}function l(c,u,f,h,p,m){if(c!==f||u!==h){var b=p.push(n(p)+"scale(",null,",",null,")");m.push({i:b-4,x:ne(c,f)},{i:b-2,x:ne(u,h)})}else(f!==1||h!==1)&&p.push(n(p)+"scale("+f+","+h+")")}return function(c,u){var f=[],h=[];return c=t(c),u=t(u),o(c.translateX,c.translateY,u.translateX,u.translateY,f,h),a(c.rotate,u.rotate,f,h),s(c.skewX,u.skewX,f,h),l(c.scaleX,c.scaleY,u.scaleX,u.scaleY,f,h),c=u=null,function(p){for(var m=-1,b=h.length,k;++m=0&&t._call.call(void 0,e),t=t._next;--$e}function Wo(){_e=(Ji=pi.now())+_r,$e=ei=0;try{tf()}finally{$e=0,rf(),_e=0}}function ef(){var t=pi.now(),e=t-Ji;e>ps&&(_r-=e,Ji=t)}function rf(){for(var t,e=Zi,i,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(i=e._next,e._next=null,e=t?t._next=i:Zi=i);ii=t,cn(r)}function cn(t){if(!$e){ei&&(ei=clearTimeout(ei));var e=t-_e;e>24?(t<1/0&&(ei=setTimeout(Wo,t-pi.now()-_r)),Ge&&(Ge=clearInterval(Ge))):(Ge||(Ji=pi.now(),Ge=setInterval(ef,ps)),$e=1,gs(Wo))}}function Ho(t,e,i){var r=new Qi;return e=e==null?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,i),r}var nf=Xa("start","end","cancel","interrupt"),of=[],_s=0,jo=1,hn=2,qi=3,Uo=4,un=5,zi=6;function yr(t,e,i,r,n,o){var a=t.__transition;if(!a)t.__transition={};else if(i in a)return;af(t,i,{name:e,index:r,group:n,on:nf,tween:of,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:_s})}function On(t,e){var i=Mt(t,e);if(i.state>_s)throw new Error("too late; already scheduled");return i}function qt(t,e){var i=Mt(t,e);if(i.state>qi)throw new Error("too late; already running");return i}function Mt(t,e){var i=t.__transition;if(!i||!(i=i[e]))throw new Error("transition not found");return i}function af(t,e,i){var r=t.__transition,n;r[e]=i,i.timer=ms(o,0,i.time);function o(c){i.state=jo,i.timer.restart(a,i.delay,i.time),i.delay<=c&&a(c-i.delay)}function a(c){var u,f,h,p;if(i.state!==jo)return l();for(u in r)if(p=r[u],p.name===i.name){if(p.state===qi)return Ho(a);p.state===Uo?(p.state=zi,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[u]):+uhn&&r.state=0&&(e=e.slice(0,i)),!e||e==="start"})}function Nf(t,e,i){var r,n,o=Df(e)?On:qt;return function(){var a=o(this,t),s=a.on;s!==r&&(n=(r=s).copy()).on(e,i),a.on=n}}function Rf(t,e){var i=this._id;return arguments.length<2?Mt(this.node(),i).on.on(t):this.each(Nf(i,t,e))}function Pf(t){return function(){var e=this.parentNode;for(var i in this.__transition)if(+i!==t)return;e&&e.removeChild(this)}}function qf(){return this.on("end.remove",Pf(this._id))}function zf(t){var e=this._name,i=this._id;typeof t!="function"&&(t=Bn(t));for(var r=this._groups,n=r.length,o=new Array(n),a=0;a1?0:t<-1?In:Math.acos(t)}function p1(t){return t>=1?Vo:t<=-1?-Vo:Math.asin(t)}function bs(t){this._context=t}bs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function fd(t){return new bs(t)}class Ts{constructor(e,i){this._context=e,this._x=i}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,i){switch(e=+e,i=+i,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,i,e,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,e,this._y0,e,i);break}}this._x0=e,this._y0=i}}function dd(t){return new Ts(t,!0)}function pd(t){return new Ts(t,!1)}function ae(){}function tr(t,e,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+i)/6)}function Cr(t){this._context=t}Cr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:tr(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:tr(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function gd(t){return new Cr(t)}function vs(t){this._context=t}vs.prototype={areaStart:ae,areaEnd:ae,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:tr(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function md(t){return new vs(t)}function ks(t){this._context=t}ks.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(i,r):this._context.moveTo(i,r);break;case 3:this._point=4;default:tr(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function _d(t){return new ks(t)}function Ss(t,e){this._basis=new Cr(t),this._beta=e}Ss.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,i=t.length-1;if(i>0)for(var r=t[0],n=e[0],o=t[i]-r,a=e[i]-n,s=-1,l;++s<=i;)l=s/i,this._basis.point(this._beta*t[s]+(1-this._beta)*(r+l*o),this._beta*e[s]+(1-this._beta)*(n+l*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const yd=function t(e){function i(r){return e===1?new Cr(r):new Ss(r,e)}return i.beta=function(r){return t(+r)},i}(.85);function er(t,e,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function $n(t,e){this._context=t,this._k=(1-e)/6}$n.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:er(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:er(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Cd=function t(e){function i(r){return new $n(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Dn(t,e){this._context=t,this._k=(1-e)/6}Dn.prototype={areaStart:ae,areaEnd:ae,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:er(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const xd=function t(e){function i(r){return new Dn(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Nn(t,e){this._context=t,this._k=(1-e)/6}Nn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:er(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const bd=function t(e){function i(r){return new Nn(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Rn(t,e,i){var r=t._x1,n=t._y1,o=t._x2,a=t._y2;if(t._l01_a>Yo){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,n=(n*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Yo){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*c+t._x1*t._l23_2a-e*t._l12_2a)/u,a=(a*c+t._y1*t._l23_2a-i*t._l12_2a)/u}t._context.bezierCurveTo(r,n,o,a,t._x2,t._y2)}function ws(t,e){this._context=t,this._alpha=e}ws.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Rn(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Td=function t(e){function i(r){return e?new ws(r,e):new $n(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function Bs(t,e){this._context=t,this._alpha=e}Bs.prototype={areaStart:ae,areaEnd:ae,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Rn(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const vd=function t(e){function i(r){return e?new Bs(r,e):new Dn(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function As(t,e){this._context=t,this._alpha=e}As.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Rn(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const kd=function t(e){function i(r){return e?new As(r,e):new Nn(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function Ls(t){this._context=t}Ls.prototype={areaStart:ae,areaEnd:ae,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Sd(t){return new Ls(t)}function Go(t){return t<0?-1:1}function Xo(t,e,i){var r=t._x1-t._x0,n=e-t._x1,o=(t._y1-t._y0)/(r||n<0&&-0),a=(i-t._y1)/(n||r<0&&-0),s=(o*n+a*r)/(r+n);return(Go(o)+Go(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function Ko(t,e){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-e)/2:e}function Hr(t,e,i){var r=t._x0,n=t._y0,o=t._x1,a=t._y1,s=(o-r)/3;t._context.bezierCurveTo(r+s,n+s*e,o-s,a-s*i,o,a)}function ir(t){this._context=t}ir.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Hr(this,this._t0,Ko(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var i=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Hr(this,Ko(this,i=Xo(this,t,e)),i);break;default:Hr(this,this._t0,i=Xo(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=i}}};function Fs(t){this._context=new Es(t)}(Fs.prototype=Object.create(ir.prototype)).point=function(t,e){ir.prototype.point.call(this,e,t)};function Es(t){this._context=t}Es.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,i,r,n,o){this._context.bezierCurveTo(e,t,r,i,o,n)}};function wd(t){return new ir(t)}function Bd(t){return new Fs(t)}function Os(t){this._context=t}Os.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),i===2)this._context.lineTo(t[1],e[1]);else for(var r=Zo(t),n=Zo(e),o=0,a=1;a=0;--e)n[e]=(a[e]-n[e+1])/o[e];for(o[i-1]=(t[i]+n[i-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,e)}break}}this._x=t,this._y=e}};function Ld(t){return new xr(t,.5)}function Fd(t){return new xr(t,0)}function Ed(t){return new xr(t,1)}function ri(t,e,i){this.k=t,this.x=e,this.y=i}ri.prototype={constructor:ri,scale:function(t){return t===1?this:new ri(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new ri(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};ri.prototype;/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */const{entries:Ms,setPrototypeOf:Jo,isFrozen:Od,getPrototypeOf:Md,getOwnPropertyDescriptor:Id}=Object;let{freeze:ft,seal:kt,create:Is}=Object,{apply:fn,construct:dn}=typeof Reflect<"u"&&Reflect;ft||(ft=function(e){return e});kt||(kt=function(e){return e});fn||(fn=function(e,i,r){return e.apply(i,r)});dn||(dn=function(e,i){return new e(...i)});const $i=Ct(Array.prototype.forEach),Qo=Ct(Array.prototype.pop),Xe=Ct(Array.prototype.push),Wi=Ct(String.prototype.toLowerCase),jr=Ct(String.prototype.toString),ta=Ct(String.prototype.match),Ke=Ct(String.prototype.replace),$d=Ct(String.prototype.indexOf),Dd=Ct(String.prototype.trim),Ft=Ct(Object.prototype.hasOwnProperty),ct=Ct(RegExp.prototype.test),Ze=Nd(TypeError);function Ct(t){return function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:Wi;Jo&&Jo(t,null);let r=e.length;for(;r--;){let n=e[r];if(typeof n=="string"){const o=i(n);o!==n&&(Od(e)||(e[r]=o),n=o)}t[n]=!0}return t}function Rd(t){for(let e=0;e/gm),Hd=kt(/\${[\w\W]*}/gm),jd=kt(/^data-[\-\w.\u00B7-\uFFFF]/),Ud=kt(/^aria-[\-\w]+$/),$s=kt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Yd=kt(/^(?:\w+script|data):/i),Vd=kt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ds=kt(/^html$/i),Gd=kt(/^[a-z][.\w]*(-[.\w]+)+$/i);var oa=Object.freeze({__proto__:null,MUSTACHE_EXPR:zd,ERB_EXPR:Wd,TMPLIT_EXPR:Hd,DATA_ATTR:jd,ARIA_ATTR:Ud,IS_ALLOWED_URI:$s,IS_SCRIPT_OR_DATA:Yd,ATTR_WHITESPACE:Vd,DOCTYPE_NAME:Ds,CUSTOM_ELEMENT:Gd});const Qe={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Xd=function(){return typeof window>"u"?null:window},Kd=function(e,i){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const n="data-tt-policy-suffix";i&&i.hasAttribute(n)&&(r=i.getAttribute(n));const o="dompurify"+(r?"#"+r:"");try{return e.createPolicy(o,{createHTML(a){return a},createScriptURL(a){return a}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function Ns(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Xd();const e=B=>Ns(B);if(e.version="3.1.6",e.removed=[],!t||!t.document||t.document.nodeType!==Qe.document)return e.isSupported=!1,e;let{document:i}=t;const r=i,n=r.currentScript,{DocumentFragment:o,HTMLTemplateElement:a,Node:s,Element:l,NodeFilter:c,NamedNodeMap:u=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:f,DOMParser:h,trustedTypes:p}=t,m=l.prototype,b=Je(m,"cloneNode"),k=Je(m,"remove"),P=Je(m,"nextSibling"),v=Je(m,"childNodes"),U=Je(m,"parentNode");if(typeof a=="function"){const B=i.createElement("template");B.content&&B.content.ownerDocument&&(i=B.content.ownerDocument)}let N,j="";const{implementation:G,createNodeIterator:H,createDocumentFragment:Jt,getElementsByTagName:Qt}=i,{importNode:Z}=r;let R={};e.isSupported=typeof Ms=="function"&&typeof U=="function"&&G&&G.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:wt,ERB_EXPR:te,TMPLIT_EXPR:M,DATA_ATTR:T,ARIA_ATTR:y,IS_SCRIPT_OR_DATA:w,ATTR_WHITESPACE:x,CUSTOM_ELEMENT:F}=oa;let{IS_ALLOWED_URI:D}=oa,$=null;const X=z({},[...ea,...Ur,...Yr,...Vr,...ia]);let q=null;const tt=z({},[...ra,...Gr,...na,...Di]);let W=Object.seal(Is(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),xt=null,Bt=null,ee=!0,At=!0,it=!1,Lt=!0,bt=!1,ie=!0,ce=!1,Ir=!1,$r=!1,ve=!1,Bi=!1,Ai=!1,so=!0,lo=!1;const mc="user-content-";let Dr=!0,Ue=!1,ke={},Se=null;const co=z({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let ho=null;const uo=z({},["audio","video","img","source","image","track"]);let Nr=null;const fo=z({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Li="http://www.w3.org/1998/Math/MathML",Fi="http://www.w3.org/2000/svg",Wt="http://www.w3.org/1999/xhtml";let we=Wt,Rr=!1,Pr=null;const _c=z({},[Li,Fi,Wt],jr);let Ye=null;const yc=["application/xhtml+xml","text/html"],Cc="text/html";let et=null,Be=null;const xc=i.createElement("form"),po=function(d){return d instanceof RegExp||d instanceof Function},qr=function(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Be&&Be===d)){if((!d||typeof d!="object")&&(d={}),d=he(d),Ye=yc.indexOf(d.PARSER_MEDIA_TYPE)===-1?Cc:d.PARSER_MEDIA_TYPE,et=Ye==="application/xhtml+xml"?jr:Wi,$=Ft(d,"ALLOWED_TAGS")?z({},d.ALLOWED_TAGS,et):X,q=Ft(d,"ALLOWED_ATTR")?z({},d.ALLOWED_ATTR,et):tt,Pr=Ft(d,"ALLOWED_NAMESPACES")?z({},d.ALLOWED_NAMESPACES,jr):_c,Nr=Ft(d,"ADD_URI_SAFE_ATTR")?z(he(fo),d.ADD_URI_SAFE_ATTR,et):fo,ho=Ft(d,"ADD_DATA_URI_TAGS")?z(he(uo),d.ADD_DATA_URI_TAGS,et):uo,Se=Ft(d,"FORBID_CONTENTS")?z({},d.FORBID_CONTENTS,et):co,xt=Ft(d,"FORBID_TAGS")?z({},d.FORBID_TAGS,et):{},Bt=Ft(d,"FORBID_ATTR")?z({},d.FORBID_ATTR,et):{},ke=Ft(d,"USE_PROFILES")?d.USE_PROFILES:!1,ee=d.ALLOW_ARIA_ATTR!==!1,At=d.ALLOW_DATA_ATTR!==!1,it=d.ALLOW_UNKNOWN_PROTOCOLS||!1,Lt=d.ALLOW_SELF_CLOSE_IN_ATTR!==!1,bt=d.SAFE_FOR_TEMPLATES||!1,ie=d.SAFE_FOR_XML!==!1,ce=d.WHOLE_DOCUMENT||!1,ve=d.RETURN_DOM||!1,Bi=d.RETURN_DOM_FRAGMENT||!1,Ai=d.RETURN_TRUSTED_TYPE||!1,$r=d.FORCE_BODY||!1,so=d.SANITIZE_DOM!==!1,lo=d.SANITIZE_NAMED_PROPS||!1,Dr=d.KEEP_CONTENT!==!1,Ue=d.IN_PLACE||!1,D=d.ALLOWED_URI_REGEXP||$s,we=d.NAMESPACE||Wt,W=d.CUSTOM_ELEMENT_HANDLING||{},d.CUSTOM_ELEMENT_HANDLING&&po(d.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(W.tagNameCheck=d.CUSTOM_ELEMENT_HANDLING.tagNameCheck),d.CUSTOM_ELEMENT_HANDLING&&po(d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(W.attributeNameCheck=d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),d.CUSTOM_ELEMENT_HANDLING&&typeof d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(W.allowCustomizedBuiltInElements=d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),bt&&(At=!1),Bi&&(ve=!0),ke&&($=z({},ia),q=[],ke.html===!0&&(z($,ea),z(q,ra)),ke.svg===!0&&(z($,Ur),z(q,Gr),z(q,Di)),ke.svgFilters===!0&&(z($,Yr),z(q,Gr),z(q,Di)),ke.mathMl===!0&&(z($,Vr),z(q,na),z(q,Di))),d.ADD_TAGS&&($===X&&($=he($)),z($,d.ADD_TAGS,et)),d.ADD_ATTR&&(q===tt&&(q=he(q)),z(q,d.ADD_ATTR,et)),d.ADD_URI_SAFE_ATTR&&z(Nr,d.ADD_URI_SAFE_ATTR,et),d.FORBID_CONTENTS&&(Se===co&&(Se=he(Se)),z(Se,d.FORBID_CONTENTS,et)),Dr&&($["#text"]=!0),ce&&z($,["html","head","body"]),$.table&&(z($,["tbody"]),delete xt.tbody),d.TRUSTED_TYPES_POLICY){if(typeof d.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ze('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof d.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ze('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');N=d.TRUSTED_TYPES_POLICY,j=N.createHTML("")}else N===void 0&&(N=Kd(p,n)),N!==null&&typeof j=="string"&&(j=N.createHTML(""));ft&&ft(d),Be=d}},go=z({},["mi","mo","mn","ms","mtext"]),mo=z({},["foreignobject","annotation-xml"]),bc=z({},["title","style","font","a","script"]),_o=z({},[...Ur,...Yr,...Pd]),yo=z({},[...Vr,...qd]),Tc=function(d){let _=U(d);(!_||!_.tagName)&&(_={namespaceURI:we,tagName:"template"});const S=Wi(d.tagName),Y=Wi(_.tagName);return Pr[d.namespaceURI]?d.namespaceURI===Fi?_.namespaceURI===Wt?S==="svg":_.namespaceURI===Li?S==="svg"&&(Y==="annotation-xml"||go[Y]):!!_o[S]:d.namespaceURI===Li?_.namespaceURI===Wt?S==="math":_.namespaceURI===Fi?S==="math"&&mo[Y]:!!yo[S]:d.namespaceURI===Wt?_.namespaceURI===Fi&&!mo[Y]||_.namespaceURI===Li&&!go[Y]?!1:!yo[S]&&(bc[S]||!_o[S]):!!(Ye==="application/xhtml+xml"&&Pr[d.namespaceURI]):!1},It=function(d){Xe(e.removed,{element:d});try{U(d).removeChild(d)}catch{k(d)}},Ei=function(d,_){try{Xe(e.removed,{attribute:_.getAttributeNode(d),from:_})}catch{Xe(e.removed,{attribute:null,from:_})}if(_.removeAttribute(d),d==="is"&&!q[d])if(ve||Bi)try{It(_)}catch{}else try{_.setAttribute(d,"")}catch{}},Co=function(d){let _=null,S=null;if($r)d=""+d;else{const rt=ta(d,/^[\r\n\t ]+/);S=rt&&rt[0]}Ye==="application/xhtml+xml"&&we===Wt&&(d=''+d+"");const Y=N?N.createHTML(d):d;if(we===Wt)try{_=new h().parseFromString(Y,Ye)}catch{}if(!_||!_.documentElement){_=G.createDocument(we,"template",null);try{_.documentElement.innerHTML=Rr?j:Y}catch{}}const nt=_.body||_.documentElement;return d&&S&&nt.insertBefore(i.createTextNode(S),nt.childNodes[0]||null),we===Wt?Qt.call(_,ce?"html":"body")[0]:ce?_.documentElement:nt},xo=function(d){return H.call(d.ownerDocument||d,d,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},bo=function(d){return d instanceof f&&(typeof d.nodeName!="string"||typeof d.textContent!="string"||typeof d.removeChild!="function"||!(d.attributes instanceof u)||typeof d.removeAttribute!="function"||typeof d.setAttribute!="function"||typeof d.namespaceURI!="string"||typeof d.insertBefore!="function"||typeof d.hasChildNodes!="function")},To=function(d){return typeof s=="function"&&d instanceof s},Ht=function(d,_,S){R[d]&&$i(R[d],Y=>{Y.call(e,_,S,Be)})},vo=function(d){let _=null;if(Ht("beforeSanitizeElements",d,null),bo(d))return It(d),!0;const S=et(d.nodeName);if(Ht("uponSanitizeElement",d,{tagName:S,allowedTags:$}),d.hasChildNodes()&&!To(d.firstElementChild)&&ct(/<[/\w]/g,d.innerHTML)&&ct(/<[/\w]/g,d.textContent)||d.nodeType===Qe.progressingInstruction||ie&&d.nodeType===Qe.comment&&ct(/<[/\w]/g,d.data))return It(d),!0;if(!$[S]||xt[S]){if(!xt[S]&&So(S)&&(W.tagNameCheck instanceof RegExp&&ct(W.tagNameCheck,S)||W.tagNameCheck instanceof Function&&W.tagNameCheck(S)))return!1;if(Dr&&!Se[S]){const Y=U(d)||d.parentNode,nt=v(d)||d.childNodes;if(nt&&Y){const rt=nt.length;for(let dt=rt-1;dt>=0;--dt){const $t=b(nt[dt],!0);$t.__removalCount=(d.__removalCount||0)+1,Y.insertBefore($t,P(d))}}}return It(d),!0}return d instanceof l&&!Tc(d)||(S==="noscript"||S==="noembed"||S==="noframes")&&ct(/<\/no(script|embed|frames)/i,d.innerHTML)?(It(d),!0):(bt&&d.nodeType===Qe.text&&(_=d.textContent,$i([wt,te,M],Y=>{_=Ke(_,Y," ")}),d.textContent!==_&&(Xe(e.removed,{element:d.cloneNode()}),d.textContent=_)),Ht("afterSanitizeElements",d,null),!1)},ko=function(d,_,S){if(so&&(_==="id"||_==="name")&&(S in i||S in xc))return!1;if(!(At&&!Bt[_]&&ct(T,_))){if(!(ee&&ct(y,_))){if(!q[_]||Bt[_]){if(!(So(d)&&(W.tagNameCheck instanceof RegExp&&ct(W.tagNameCheck,d)||W.tagNameCheck instanceof Function&&W.tagNameCheck(d))&&(W.attributeNameCheck instanceof RegExp&&ct(W.attributeNameCheck,_)||W.attributeNameCheck instanceof Function&&W.attributeNameCheck(_))||_==="is"&&W.allowCustomizedBuiltInElements&&(W.tagNameCheck instanceof RegExp&&ct(W.tagNameCheck,S)||W.tagNameCheck instanceof Function&&W.tagNameCheck(S))))return!1}else if(!Nr[_]){if(!ct(D,Ke(S,x,""))){if(!((_==="src"||_==="xlink:href"||_==="href")&&d!=="script"&&$d(S,"data:")===0&&ho[d])){if(!(it&&!ct(w,Ke(S,x,"")))){if(S)return!1}}}}}}return!0},So=function(d){return d!=="annotation-xml"&&ta(d,F)},wo=function(d){Ht("beforeSanitizeAttributes",d,null);const{attributes:_}=d;if(!_)return;const S={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:q};let Y=_.length;for(;Y--;){const nt=_[Y],{name:rt,namespaceURI:dt,value:$t}=nt,Ve=et(rt);let lt=rt==="value"?$t:Dd($t);if(S.attrName=Ve,S.attrValue=lt,S.keepAttr=!0,S.forceKeepAttr=void 0,Ht("uponSanitizeAttribute",d,S),lt=S.attrValue,ie&&ct(/((--!?|])>)|<\/(style|title)/i,lt)){Ei(rt,d);continue}if(S.forceKeepAttr||(Ei(rt,d),!S.keepAttr))continue;if(!Lt&&ct(/\/>/i,lt)){Ei(rt,d);continue}bt&&$i([wt,te,M],Ao=>{lt=Ke(lt,Ao," ")});const Bo=et(d.nodeName);if(ko(Bo,Ve,lt)){if(lo&&(Ve==="id"||Ve==="name")&&(Ei(rt,d),lt=mc+lt),N&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!dt)switch(p.getAttributeType(Bo,Ve)){case"TrustedHTML":{lt=N.createHTML(lt);break}case"TrustedScriptURL":{lt=N.createScriptURL(lt);break}}try{dt?d.setAttributeNS(dt,rt,lt):d.setAttribute(rt,lt),bo(d)?It(d):Qo(e.removed)}catch{}}}Ht("afterSanitizeAttributes",d,null)},vc=function B(d){let _=null;const S=xo(d);for(Ht("beforeSanitizeShadowDOM",d,null);_=S.nextNode();)Ht("uponSanitizeShadowNode",_,null),!vo(_)&&(_.content instanceof o&&B(_.content),wo(_));Ht("afterSanitizeShadowDOM",d,null)};return e.sanitize=function(B){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_=null,S=null,Y=null,nt=null;if(Rr=!B,Rr&&(B=""),typeof B!="string"&&!To(B))if(typeof B.toString=="function"){if(B=B.toString(),typeof B!="string")throw Ze("dirty is not a string, aborting")}else throw Ze("toString is not a function");if(!e.isSupported)return B;if(Ir||qr(d),e.removed=[],typeof B=="string"&&(Ue=!1),Ue){if(B.nodeName){const $t=et(B.nodeName);if(!$[$t]||xt[$t])throw Ze("root node is forbidden and cannot be sanitized in-place")}}else if(B instanceof s)_=Co(""),S=_.ownerDocument.importNode(B,!0),S.nodeType===Qe.element&&S.nodeName==="BODY"||S.nodeName==="HTML"?_=S:_.appendChild(S);else{if(!ve&&!bt&&!ce&&B.indexOf("<")===-1)return N&&Ai?N.createHTML(B):B;if(_=Co(B),!_)return ve?null:Ai?j:""}_&&$r&&It(_.firstChild);const rt=xo(Ue?B:_);for(;Y=rt.nextNode();)vo(Y)||(Y.content instanceof o&&vc(Y.content),wo(Y));if(Ue)return B;if(ve){if(Bi)for(nt=Jt.call(_.ownerDocument);_.firstChild;)nt.appendChild(_.firstChild);else nt=_;return(q.shadowroot||q.shadowrootmode)&&(nt=Z.call(r,nt,!0)),nt}let dt=ce?_.outerHTML:_.innerHTML;return ce&&$["!doctype"]&&_.ownerDocument&&_.ownerDocument.doctype&&_.ownerDocument.doctype.name&&ct(Ds,_.ownerDocument.doctype.name)&&(dt=" +`+dt),bt&&$i([wt,te,M],$t=>{dt=Ke(dt,$t," ")}),N&&Ai?N.createHTML(dt):dt},e.setConfig=function(){let B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};qr(B),Ir=!0},e.clearConfig=function(){Be=null,Ir=!1},e.isValidAttribute=function(B,d,_){Be||qr({});const S=et(B),Y=et(d);return ko(S,Y,_)},e.addHook=function(B,d){typeof d=="function"&&(R[B]=R[B]||[],Xe(R[B],d))},e.removeHook=function(B){if(R[B])return Qo(R[B])},e.removeHooks=function(B){R[B]&&(R[B]=[])},e.removeAllHooks=function(){R={}},e}var De=Ns();const Hi={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,i)=>(i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t),hsl2rgb:({h:t,s:e,l:i},r)=>{if(!e)return i*2.55;t/=360,e/=100,i/=100;const n=i<.5?i*(1+e):i+e-i*e,o=2*i-n;switch(r){case"r":return Hi.hue2rgb(o,n,t+1/3)*255;case"g":return Hi.hue2rgb(o,n,t)*255;case"b":return Hi.hue2rgb(o,n,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:i},r)=>{t/=255,e/=255,i/=255;const n=Math.max(t,e,i),o=Math.min(t,e,i),a=(n+o)/2;if(r==="l")return a*100;if(n===o)return 0;const s=n-o,l=a>.5?s/(2-n-o):s/(n+o);if(r==="s")return l*100;switch(n){case t:return((e-i)/s+(ee>i?Math.min(e,Math.max(i,t)):Math.min(i,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},Jd={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},I={channel:Hi,lang:Zd,unit:Jd},re={};for(let t=0;t<=255;t++)re[t]=I.unit.dec2hex(t);const ot={ALL:0,RGB:1,HSL:2};class Qd{constructor(){this.type=ot.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=ot.ALL}is(e){return this.type===e}}class tp{constructor(e,i){this.color=i,this.changed=!1,this.data=e,this.type=new Qd}set(e,i){return this.color=i,this.changed=!1,this.data=e,this.type.type=ot.ALL,this}_ensureHSL(){const e=this.data,{h:i,s:r,l:n}=e;i===void 0&&(e.h=I.channel.rgb2hsl(e,"h")),r===void 0&&(e.s=I.channel.rgb2hsl(e,"s")),n===void 0&&(e.l=I.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:i,g:r,b:n}=e;i===void 0&&(e.r=I.channel.hsl2rgb(e,"r")),r===void 0&&(e.g=I.channel.hsl2rgb(e,"g")),n===void 0&&(e.b=I.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,i=e.r;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),I.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,i=e.g;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),I.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,i=e.b;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),I.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,i=e.h;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),I.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,i=e.s;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),I.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,i=e.l;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),I.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(ot.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(ot.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(ot.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(ot.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(ot.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(ot.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const br=new tp({r:0,g:0,b:0,a:0},"transparent"),Oe={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Oe.re);if(!e)return;const i=e[1],r=parseInt(i,16),n=i.length,o=n%4===0,a=n>4,s=a?1:17,l=a?8:4,c=o?0:-1,u=a?255:15;return br.set({r:(r>>l*(c+3)&u)*s,g:(r>>l*(c+2)&u)*s,b:(r>>l*(c+1)&u)*s,a:o?(r&u)*s/255:1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`#${re[Math.round(e)]}${re[Math.round(i)]}${re[Math.round(r)]}${re[Math.round(n*255)]}`:`#${re[Math.round(e)]}${re[Math.round(i)]}${re[Math.round(r)]}`}},de={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(de.hueRe);if(e){const[,i,r]=e;switch(r){case"grad":return I.channel.clamp.h(parseFloat(i)*.9);case"rad":return I.channel.clamp.h(parseFloat(i)*180/Math.PI);case"turn":return I.channel.clamp.h(parseFloat(i)*360)}}return I.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const i=t.match(de.re);if(!i)return;const[,r,n,o,a,s]=i;return br.set({h:de._hue2deg(r),s:I.channel.clamp.s(parseFloat(n)),l:I.channel.clamp.l(parseFloat(o)),a:a?I.channel.clamp.a(s?parseFloat(a)/100:parseFloat(a)):1},t)},stringify:t=>{const{h:e,s:i,l:r,a:n}=t;return n<1?`hsla(${I.lang.round(e)}, ${I.lang.round(i)}%, ${I.lang.round(r)}%, ${n})`:`hsl(${I.lang.round(e)}, ${I.lang.round(i)}%, ${I.lang.round(r)}%)`}},oi={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=oi.colors[t];if(e)return Oe.parse(e)},stringify:t=>{const e=Oe.stringify(t);for(const i in oi.colors)if(oi.colors[i]===e)return i}},ni={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const i=t.match(ni.re);if(!i)return;const[,r,n,o,a,s,l,c,u]=i;return br.set({r:I.channel.clamp.r(n?parseFloat(r)*2.55:parseFloat(r)),g:I.channel.clamp.g(a?parseFloat(o)*2.55:parseFloat(o)),b:I.channel.clamp.b(l?parseFloat(s)*2.55:parseFloat(s)),a:c?I.channel.clamp.a(u?parseFloat(c)/100:parseFloat(c)):1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`rgba(${I.lang.round(e)}, ${I.lang.round(i)}, ${I.lang.round(r)}, ${I.lang.round(n)})`:`rgb(${I.lang.round(e)}, ${I.lang.round(i)}, ${I.lang.round(r)})`}},Rt={format:{keyword:oi,hex:Oe,rgb:ni,rgba:ni,hsl:de,hsla:de},parse:t=>{if(typeof t!="string")return t;const e=Oe.parse(t)||ni.parse(t)||de.parse(t)||oi.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(ot.HSL)||t.data.r===void 0?de.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?ni.stringify(t):Oe.stringify(t)},Rs=(t,e)=>{const i=Rt.parse(t);for(const r in e)i[r]=I.channel.clamp[r](e[r]);return Rt.stringify(i)},ai=(t,e,i=0,r=1)=>{if(typeof t!="number")return Rs(t,{a:e});const n=br.set({r:I.channel.clamp.r(t),g:I.channel.clamp.g(e),b:I.channel.clamp.b(i),a:I.channel.clamp.a(r)});return Rt.stringify(n)},ep=t=>{const{r:e,g:i,b:r}=Rt.parse(t),n=.2126*I.channel.toLinear(e)+.7152*I.channel.toLinear(i)+.0722*I.channel.toLinear(r);return I.lang.round(n)},ip=t=>ep(t)>=.5,vi=t=>!ip(t),Ps=(t,e,i)=>{const r=Rt.parse(t),n=r[e],o=I.channel.clamp[e](n+i);return n!==o&&(r[e]=o),Rt.stringify(r)},A=(t,e)=>Ps(t,"l",e),O=(t,e)=>Ps(t,"l",-e),g=(t,e)=>{const i=Rt.parse(t),r={};for(const n in e)e[n]&&(r[n]=i[n]+e[n]);return Rs(t,r)},rp=(t,e,i=50)=>{const{r,g:n,b:o,a}=Rt.parse(t),{r:s,g:l,b:c,a:u}=Rt.parse(e),f=i/100,h=f*2-1,p=a-u,b=((h*p===-1?h:(h+p)/(1+h*p))+1)/2,k=1-b,P=r*b+s*k,v=n*b+l*k,U=o*b+c*k,N=a*f+u*(1-f);return ai(P,v,U,N)},C=(t,e=100)=>{const i=Rt.parse(t);return i.r=255-i.r,i.g=255-i.g,i.b=255-i.b,rp(i,t,e)};var qs=typeof global=="object"&&global&&global.Object===Object&&global,np=typeof self=="object"&&self&&self.Object===Object&&self,zt=qs||np||Function("return this")(),rr=zt.Symbol,zs=Object.prototype,op=zs.hasOwnProperty,ap=zs.toString,ti=rr?rr.toStringTag:void 0;function sp(t){var e=op.call(t,ti),i=t[ti];try{t[ti]=void 0;var r=!0}catch{}var n=ap.call(t);return r&&(e?t[ti]=i:delete t[ti]),n}var lp=Object.prototype,cp=lp.toString;function hp(t){return cp.call(t)}var up="[object Null]",fp="[object Undefined]",aa=rr?rr.toStringTag:void 0;function We(t){return t==null?t===void 0?fp:up:aa&&aa in Object(t)?sp(t):hp(t)}function xe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var dp="[object AsyncFunction]",pp="[object Function]",gp="[object GeneratorFunction]",mp="[object Proxy]";function Pn(t){if(!xe(t))return!1;var e=We(t);return e==pp||e==gp||e==dp||e==mp}var Xr=zt["__core-js_shared__"],sa=function(){var t=/[^.]+$/.exec(Xr&&Xr.keys&&Xr.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function _p(t){return!!sa&&sa in t}var yp=Function.prototype,Cp=yp.toString;function be(t){if(t!=null){try{return Cp.call(t)}catch{}try{return t+""}catch{}}return""}var xp=/[\\^$.*+?()[\]{}|]/g,bp=/^\[object .+?Constructor\]$/,Tp=Function.prototype,vp=Object.prototype,kp=Tp.toString,Sp=vp.hasOwnProperty,wp=RegExp("^"+kp.call(Sp).replace(xp,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Bp(t){if(!xe(t)||_p(t))return!1;var e=Pn(t)?wp:bp;return e.test(be(t))}function Ap(t,e){return t==null?void 0:t[e]}function Te(t,e){var i=Ap(t,e);return Bp(i)?i:void 0}var gi=Te(Object,"create");function Lp(){this.__data__=gi?gi(null):{},this.size=0}function Fp(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Ep="__lodash_hash_undefined__",Op=Object.prototype,Mp=Op.hasOwnProperty;function Ip(t){var e=this.__data__;if(gi){var i=e[t];return i===Ep?void 0:i}return Mp.call(e,t)?e[t]:void 0}var $p=Object.prototype,Dp=$p.hasOwnProperty;function Np(t){var e=this.__data__;return gi?e[t]!==void 0:Dp.call(e,t)}var Rp="__lodash_hash_undefined__";function Pp(t,e){var i=this.__data__;return this.size+=this.has(t)?0:1,i[t]=gi&&e===void 0?Rp:e,this}function ye(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1}function Yp(t,e){var i=this.__data__,r=vr(i,t);return r<0?(++this.size,i.push([t,e])):i[r][1]=e,this}function Zt(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Cg}function wr(t){return t!=null&&Ys(t.length)&&!Pn(t)}function xg(t){return Si(t)&&wr(t)}function bg(){return!1}var Vs=typeof exports=="object"&&exports&&!exports.nodeType&&exports,pa=Vs&&typeof module=="object"&&module&&!module.nodeType&&module,Tg=pa&&pa.exports===Vs,ga=Tg?zt.Buffer:void 0,vg=ga?ga.isBuffer:void 0,zn=vg||bg,kg="[object Object]",Sg=Function.prototype,wg=Object.prototype,Gs=Sg.toString,Bg=wg.hasOwnProperty,Ag=Gs.call(Object);function Lg(t){if(!Si(t)||We(t)!=kg)return!1;var e=js(t);if(e===null)return!0;var i=Bg.call(e,"constructor")&&e.constructor;return typeof i=="function"&&i instanceof i&&Gs.call(i)==Ag}var Fg="[object Arguments]",Eg="[object Array]",Og="[object Boolean]",Mg="[object Date]",Ig="[object Error]",$g="[object Function]",Dg="[object Map]",Ng="[object Number]",Rg="[object Object]",Pg="[object RegExp]",qg="[object Set]",zg="[object String]",Wg="[object WeakMap]",Hg="[object ArrayBuffer]",jg="[object DataView]",Ug="[object Float32Array]",Yg="[object Float64Array]",Vg="[object Int8Array]",Gg="[object Int16Array]",Xg="[object Int32Array]",Kg="[object Uint8Array]",Zg="[object Uint8ClampedArray]",Jg="[object Uint16Array]",Qg="[object Uint32Array]",V={};V[Ug]=V[Yg]=V[Vg]=V[Gg]=V[Xg]=V[Kg]=V[Zg]=V[Jg]=V[Qg]=!0;V[Fg]=V[Eg]=V[Hg]=V[Og]=V[jg]=V[Mg]=V[Ig]=V[$g]=V[Dg]=V[Ng]=V[Rg]=V[Pg]=V[qg]=V[zg]=V[Wg]=!1;function tm(t){return Si(t)&&Ys(t.length)&&!!V[We(t)]}function em(t){return function(e){return t(e)}}var Xs=typeof exports=="object"&&exports&&!exports.nodeType&&exports,si=Xs&&typeof module=="object"&&module&&!module.nodeType&&module,im=si&&si.exports===Xs,Kr=im&&qs.process,ma=function(){try{var t=si&&si.require&&si.require("util").types;return t||Kr&&Kr.binding&&Kr.binding("util")}catch{}}(),_a=ma&&ma.isTypedArray,Wn=_a?em(_a):tm;function gn(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var rm=Object.prototype,nm=rm.hasOwnProperty;function om(t,e,i){var r=t[e];(!(nm.call(t,e)&&Tr(r,i))||i===void 0&&!(e in t))&&qn(t,e,i)}function am(t,e,i,r){var n=!i;i||(i={});for(var o=-1,a=e.length;++o-1&&t%1==0&&t0){if(++e>=vm)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var Bm=wm(Tm);function Am(t,e){return Bm(xm(t,e,Qs),t+"")}function Lm(t,e,i){if(!xe(i))return!1;var r=typeof e;return(r=="number"?wr(i)&&Ks(e,i.length):r=="string"&&e in i)?Tr(i[e],t):!1}function Fm(t){return Am(function(e,i){var r=-1,n=i.length,o=n>1?i[n-1]:void 0,a=n>2?i[2]:void 0;for(o=t.length>3&&typeof o=="function"?(n--,o):void 0,a&&Lm(i[0],i[1],a)&&(o=n<3?void 0:o,n=1),e=Object(e);++r0?_i(je,--St):0,Ne--,J===10&&(Ne=1,Br--),J}function Ot(){return J=St2||mn(J)>3?"":" "}function Wm(t,e){for(;--e&&Ot()&&!(J<48||J>102||J>57&&J<65||J>70&&J<97););return Ar(t,Ui()+(e<6&&ge()==32&&Ot()==32))}function _n(t){for(;Ot();)switch(J){case t:return St;case 34:case 39:t!==34&&t!==39&&_n(J);break;case 40:t===41&&_n(t);break;case 92:Ot();break}return St}function Hm(t,e){for(;Ot()&&t+J!==57;)if(t+J===84&&ge()===47)break;return"/*"+Ar(e,St-1)+"*"+Hn(t===47?t:Ot())}function jm(t){for(;!mn(ge());)Ot();return Ar(t,St)}function Um(t){return qm(Yi("",null,null,null,[""],t=Pm(t),0,[0],t))}function Yi(t,e,i,r,n,o,a,s,l){for(var c=0,u=0,f=a,h=0,p=0,m=0,b=1,k=1,P=1,v=0,U="",N=n,j=o,G=r,H=U;k;)switch(m=v,v=Ot()){case 40:if(m!=108&&_i(H,f-1)==58){$m(H+=ji(Zr(v),"&","&\f"),"&\f",rl(c?s[c-1]:0))!=-1&&(P=-1);break}case 34:case 39:case 91:H+=Zr(v);break;case 9:case 10:case 13:case 32:H+=zm(m);break;case 92:H+=Wm(Ui()-1,7);continue;case 47:switch(ge()){case 42:case 47:Ni(Ym(Hm(Ot(),Ui()),e,i,l),l);break;default:H+="/"}break;case 123*b:s[c++]=Vt(H)*P;case 125*b:case 59:case 0:switch(v){case 0:case 125:k=0;case 59+u:P==-1&&(H=ji(H,/\f/g,"")),p>0&&Vt(H)-f&&Ni(p>32?xa(H+";",r,i,f-1,l):xa(ji(H," ","")+";",r,i,f-2,l),l);break;case 59:H+=";";default:if(Ni(G=Ca(H,e,i,c,u,n,s,U,N=[],j=[],f,o),o),v===123)if(u===0)Yi(H,e,G,G,N,o,f,s,j);else switch(h===99&&_i(H,3)===110?100:h){case 100:case 108:case 109:case 115:Yi(t,G,G,r&&Ni(Ca(t,G,G,0,0,n,s,U,n,N=[],f,j),j),n,j,f,s,r?N:j);break;default:Yi(H,G,G,G,[""],j,0,s,j)}}c=u=p=0,b=P=1,U=H="",f=a;break;case 58:f=1+Vt(H),p=m;default:if(b<1){if(v==123)--b;else if(v==125&&b++==0&&Rm()==125)continue}switch(H+=Hn(v),v*b){case 38:P=u>0?1:(H+="\f",-1);break;case 44:s[c++]=(Vt(H)-1)*P,P=1;break;case 64:ge()===45&&(H+=Zr(Ot())),h=ge(),u=f=Vt(U=H+=jm(Ui())),v++;break;case 45:m===45&&Vt(H)==2&&(b=0)}}return o}function Ca(t,e,i,r,n,o,a,s,l,c,u,f){for(var h=n-1,p=n===0?o:[""],m=Dm(p),b=0,k=0,P=0;b0?p[v]+" "+U:ji(U,/&\f/g,p[v])))&&(l[P++]=N);return jn(t,e,i,n===0?el:s,l,c,u,f)}function Ym(t,e,i,r){return jn(t,e,i,tl,Hn(Nm()),yi(t,2,-2),0,r)}function xa(t,e,i,r,n){return jn(t,e,i,il,yi(t,0,r),yi(t,r+1,-1),r,n)}function yn(t,e){for(var i="",r=0;r{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},Un=function(t="fatal"){let e=Ut.fatal;typeof t=="string"?(t=t.toLowerCase(),t in Ut&&(e=Ut[t])):typeof t=="number"&&(e=t),E.trace=()=>{},E.debug=()=>{},E.info=()=>{},E.warn=()=>{},E.error=()=>{},E.fatal=()=>{},e<=Ut.fatal&&(E.fatal=console.error?console.error.bind(console,Tt("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Tt("FATAL"))),e<=Ut.error&&(E.error=console.error?console.error.bind(console,Tt("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Tt("ERROR"))),e<=Ut.warn&&(E.warn=console.warn?console.warn.bind(console,Tt("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Tt("WARN"))),e<=Ut.info&&(E.info=console.info?console.info.bind(console,Tt("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Tt("INFO"))),e<=Ut.debug&&(E.debug=console.debug?console.debug.bind(console,Tt("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Tt("DEBUG"))),e<=Ut.trace&&(E.trace=console.debug?console.debug.bind(console,Tt("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Tt("TRACE")))},Tt=t=>`%c${Kc().format("ss.SSS")} : ${t} : `,wi=//gi,l0=t=>t?sl(t).replace(/\\n/g,"#br#").split("#br#"):[""],c0=(()=>{let t=!1;return()=>{t||(h0(),t=!0)}})();function h0(){const t="data-temp-href-target";De.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")||"")}),De.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)||""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}const al=t=>(c0(),De.sanitize(t)),wa=(t,e)=>{var i;if(((i=e.flowchart)==null?void 0:i.htmlLabels)!==!1){const r=e.securityLevel;r==="antiscript"||r==="strict"?t=al(t):r!=="loose"&&(t=sl(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=p0(t))}return t},Ci=(t,e)=>t&&(e.dompurifyConfig?t=De.sanitize(wa(t,e),e.dompurifyConfig).toString():t=De.sanitize(wa(t,e),{FORBID_TAGS:["style"]}).toString(),t),u0=(t,e)=>typeof t=="string"?Ci(t,e):t.flat().map(i=>Ci(i,e)),f0=t=>wi.test(t),d0=t=>t.split(wi),p0=t=>t.replace(/#br#/g,"
"),sl=t=>t.replace(wi,"#br#"),g0=t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},ll=t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),m0=function(...t){const e=t.filter(i=>!isNaN(i));return Math.max(...e)},_0=function(...t){const e=t.filter(i=>!isNaN(i));return Math.min(...e)},g1=function(t){const e=t.split(/(,)/),i=[];for(let r=0;r0&&r+1Math.max(0,t.split(e).length-1),y0=(t,e)=>{const i=vn(t,"~"),r=vn(e,"~");return i===1&&r===1},C0=t=>{const e=vn(t,"~");let i=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),i=!0);const r=[...t];let n=r.indexOf("~"),o=r.lastIndexOf("~");for(;n!==-1&&o!==-1&&n!==o;)r[n]="<",r[o]=">",n=r.indexOf("~"),o=r.lastIndexOf("~");return i&&r.unshift("~"),r.join("")},Ba=()=>window.MathMLElement!==void 0,kn=/\$\$(.*)\$\$/g,Aa=t=>{var e;return(((e=t.match(kn))==null?void 0:e.length)??0)>0},m1=async(t,e)=>{t=await x0(t,e);const i=document.createElement("div");i.innerHTML=t,i.id="katex-temp",i.style.visibility="hidden",i.style.position="absolute",i.style.top="0";const r=document.querySelector("body");r==null||r.insertAdjacentElement("beforeend",i);const n={width:i.clientWidth,height:i.clientHeight};return i.remove(),n},x0=async(t,e)=>{if(!Aa(t))return t;if(!Ba()&&!e.legacyMathML)return t.replace(kn,"MathML is unsupported in this environment.");const{default:i}=await K(async()=>{const{default:r}=await import("./chunks/katex.CvgdMzdh.js");return{default:r}},[]);return t.split(wi).map(r=>Aa(r)?` +
+ ${r} +
+ `:`
${r}
`).join("").replace(kn,(r,n)=>i.renderToString(n,{throwOnError:!0,displayMode:!0,output:Ba()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,""))},Yn={getRows:l0,sanitizeText:Ci,sanitizeTextOrArray:u0,hasBreaks:f0,splitBreaks:d0,lineBreakRegex:wi,removeScript:al,getUrl:g0,evaluate:ll,getMax:m0,getMin:_0},ut=(t,e)=>e?g(t,{s:-40,l:10}):g(t,{s:-40,l:-10}),Lr="#ffffff",Fr="#f2f2f2";let b0=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var e,i,r,n,o,a,s,l,c,u,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||g(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||g(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||ut(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||ut(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||ut(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||C(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||C(this.tertiaryColor),this.lineColor=this.lineColor||C(this.background),this.arrowheadColor=this.arrowheadColor||C(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?O(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||O(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||C(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||A(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.darkMode)for(let p=0;p{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const T0=t=>{const e=new b0;return e.calculate(t),e};let v0=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=A(this.primaryColor,16),this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=C(this.background),this.secondaryBorderColor=ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ut(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=A(C("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=ai(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=O("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=O(this.sectionBkgColor,10),this.taskBorderColor=ai(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=ai(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var e,i,r,n,o,a,s,l,c,u,f;this.secondBkg=A(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=A(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=A(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=g(this.primaryColor,{h:64}),this.fillType3=g(this.secondaryColor,{h:64}),this.fillType4=g(this.primaryColor,{h:-64}),this.fillType5=g(this.secondaryColor,{h:-64}),this.fillType6=g(this.primaryColor,{h:128}),this.fillType7=g(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330});for(let h=0;h{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const k0=t=>{const e=new v0;return e.calculate(t),e};let S0=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=g(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ut(this.primaryColor,this.darkMode),this.secondaryBorderColor=ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ut(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=ai(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var e,i,r,n,o,a,s,l,c,u,f;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||O(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||O(this.tertiaryColor,40);for(let h=0;h{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const w0=t=>{const e=new S0;return e.calculate(t),e};let B0=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=A("#cde498",10),this.primaryBorderColor=ut(this.primaryColor,this.darkMode),this.secondaryBorderColor=ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ut(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.primaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,a,s,l,c,u,f;this.actorBorder=O(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||O(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||O(this.tertiaryColor,40);for(let h=0;h{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const A0=t=>{const e=new B0;return e.calculate(t),e};class L0{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=A(this.contrast,55),this.background="#ffffff",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ut(this.primaryColor,this.darkMode),this.secondaryBorderColor=ut(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ut(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,a,s,l,c,u,f;this.secondBkg=A(this.contrast,55),this.border2=this.contrast,this.actorBorder=A(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let h=0;h{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}}const F0=t=>{const e=new L0;return e.calculate(t),e},Xt={base:{getThemeVariables:T0},dark:{getThemeVariables:k0},default:{getThemeVariables:w0},forest:{getThemeVariables:A0},neutral:{getThemeVariables:F0}},Yt={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},cl={...Yt,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Xt.default.getThemeVariables(),sequence:{...Yt.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...Yt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Yt.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...Yt.pie,useWidth:984},xyChart:{...Yt.xyChart,useWidth:void 0},requirement:{...Yt.requirement,useWidth:void 0},gitGraph:{...Yt.gitGraph,useMaxWidth:!1},sankey:{...Yt.sankey,useMaxWidth:!1}},hl=(t,e="")=>Object.keys(t).reduce((i,r)=>Array.isArray(t[r])?i:typeof t[r]=="object"&&t[r]!==null?[...i,e+r,...hl(t[r],"")]:[...i,e+r],[]),E0=new Set(hl(cl,"")),O0=cl,sr=t=>{if(E.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>sr(e));return}for(const e of Object.keys(t)){if(E.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!E0.has(e)||t[e]==null){E.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){E.debug("sanitizing object",e),sr(t[e]);continue}const i=["themeCSS","fontFamily","altFontFamily"];for(const r of i)e.includes(r)&&(E.debug("sanitizing css option",e),t[e]=M0(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const i=t.themeVariables[e];i!=null&&i.match&&!i.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}E.debug("After sanitization",t)}},M0=t=>{let e=0,i=0;for(const r of t){if(e{for(const{id:e,detector:i,loader:r}of t)pl(e,i,r)},pl=(t,e,i)=>{Re[t]?E.error(`Detector with key ${t} already exists`):Re[t]={detector:e,loader:i},E.debug(`Detector with key ${t} added${i?" with loader":""}`)},$0=t=>Re[t].loader,Sn=(t,e,{depth:i=2,clobber:r=!1}={})=>{const n={depth:i,clobber:r};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(o=>Sn(t,o,n)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(o=>{t.includes(o)||t.push(o)}),t):t===void 0||i<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(o=>{typeof e[o]=="object"&&(t[o]===void 0||typeof t[o]=="object")?(t[o]===void 0&&(t[o]=Array.isArray(e[o])?[]:{}),t[o]=Sn(t[o],e[o],{depth:i-1,clobber:r})):(r||typeof t[o]!="object"&&typeof e[o]!="object")&&(t[o]=e[o])}),t)},at=Sn,D0="​",N0={curveBasis:gd,curveBasisClosed:md,curveBasisOpen:_d,curveBumpX:dd,curveBumpY:pd,curveBundle:yd,curveCardinalClosed:xd,curveCardinalOpen:bd,curveCardinal:Cd,curveCatmullRomClosed:vd,curveCatmullRomOpen:kd,curveCatmullRom:Td,curveLinear:fd,curveLinearClosed:Sd,curveMonotoneX:wd,curveMonotoneY:Bd,curveNatural:Ad,curveStep:Ld,curveStepAfter:Ed,curveStepBefore:Fd},R0=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,P0=function(t,e){const i=gl(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const a=i.map(s=>s.args);sr(a),r=at(r,[...a])}else r=i.args;if(!r)return;let n=Er(t,e);const o="config";return r[o]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),r[n]=r[o],delete r[o]),r},gl=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${R0.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),E.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=li.exec(t))!==null;)if(r.index===li.lastIndex&&li.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const o=r[1]?r[1]:r[2],a=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:o,args:a})}return n.length===0?{type:t,args:null}:n.length===1?n[0]:n}catch(i){return E.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},q0=function(t){return t.replace(li,"")},z0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function W0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return N0[i]??e}function H0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?Ga.sanitizeUrl(i):i}const j0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let a=0;a{i+=ml(n,e),e=n});const r=i/2;return Vn(t,r)}function Y0(t){return t.length===1?t[0]:U0(t)}const La=(t,e=2)=>{const i=Math.pow(10,e);return Math.round(t*i)/i},Vn=(t,e)=>{let i,r=e;for(const n of t){if(i){const o=ml(n,i);if(o=1)return{x:n.x,y:n.y};if(a>0&&a<1)return{x:La((1-a)*i.x+a*n.x,5),y:La((1-a)*i.y+a*n.y,5)}}}i=n}throw new Error("Could not find a suitable point for the given distance")},V0=(t,e,i)=>{E.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());const n=Vn(e,25),o=t?10:5,a=Math.atan2(e[0].y-n.y,e[0].x-n.x),s={x:0,y:0};return s.x=Math.sin(a)*o+(e[0].x+n.x)/2,s.y=-Math.cos(a)*o+(e[0].y+n.y)/2,s};function G0(t,e,i){const r=structuredClone(i);E.info("our points",r),e!=="start_left"&&e!=="start_right"&&r.reverse();const n=25+t,o=Vn(r,n),a=10+t*.5,s=Math.atan2(r[0].y-o.y,r[0].x-o.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(s+Math.PI)*a+(r[0].x+o.x)/2,l.y=-Math.cos(s+Math.PI)*a+(r[0].y+o.y)/2):e==="end_right"?(l.x=Math.sin(s-Math.PI)*a+(r[0].x+o.x)/2-5,l.y=-Math.cos(s-Math.PI)*a+(r[0].y+o.y)/2-5):e==="end_left"?(l.x=Math.sin(s)*a+(r[0].x+o.x)/2-5,l.y=-Math.cos(s)*a+(r[0].y+o.y)/2-5):(l.x=Math.sin(s)*a+(r[0].x+o.x)/2,l.y=-Math.cos(s)*a+(r[0].y+o.y)/2),l}function X0(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let Fa=0;const K0=()=>(Fa++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Fa);function Z0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nZ0(t.length),Q0=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},t_=function(t,e){const i=e.text.replace(Yn.lineBreakRegex," "),[,r]=Xn(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const o=n.append("tspan");return o.attr("x",e.x+e.textMargin*2),o.attr("fill",e.fill),o.text(i),n},e_=ki((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),Yn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((a,s)=>{const l=lr(`${a} `,i),c=lr(o,i);if(l>e){const{hyphenatedStrings:h,remainingWord:p}=i_(a,e,"-",i);n.push(o,...h),o=p}else c+l>=e?(n.push(o),o=a):o=[o,a].filter(Boolean).join(" ");s+1===r.length&&n.push(o)}),n.filter(a=>a!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),i_=ki((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],o=[];let a="";return n.forEach((s,l)=>{const c=`${a}${s}`;if(lr(c,r)>=e){const f=l+1,h=n.length===f,p=`${c}${i}`;o.push(h?c:p),a=""}else a=c}),{hyphenatedStrings:o,remainingWord:a}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function r_(t,e){return Gn(t,e).height}function lr(t,e){return Gn(t,e).width}const Gn=ki((t,e)=>{const{fontSize:i=12,fontFamily:r="Arial",fontWeight:n=400}=e;if(!t)return{width:0,height:0};const[,o]=Xn(i),a=["sans-serif",r],s=t.split(Yn.lineBreakRegex),l=[],c=vt("body");if(!c.remove)return{width:0,height:0,lineHeight:0};const u=c.append("svg");for(const h of a){let p=0;const m={width:0,height:0,lineHeight:0};for(const b of s){const k=Q0();k.text=b||D0;const P=t_(u,k).style("font-size",o).style("font-weight",n).style("font-family",h),v=(P._groups||P)[0][0].getBBox();if(v.width===0&&v.height===0)throw new Error("svg element not in render tree");m.width=Math.round(Math.max(m.width,v.width)),p=Math.round(v.height),m.height+=p,m.lineHeight=Math.round(Math.max(m.lineHeight,p))}l.push(m)}u.remove();const f=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[f]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`);class n_{constructor(e=!1,i){this.count=0,this.count=i?i.length:0,this.next=e?()=>this.count++:()=>Date.now()}}let Ri;const o_=function(t){return Ri=Ri||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Ri.innerHTML=t,unescape(Ri.textContent)};function _l(t){return"str"in t}const a_=(t,e,i,r)=>{var n;if(!r)return;const o=(n=t.node())==null?void 0:n.getBBox();o&&t.append("text").text(r).attr("x",o.x+o.width/2).attr("y",-i).attr("class",e)},Xn=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]};function yl(t,e){return Em({},t,e)}const ci={assignWithDepth:at,wrapLabel:e_,calculateTextHeight:r_,calculateTextWidth:lr,calculateTextDimensions:Gn,cleanAndMerge:yl,detectInit:P0,detectDirective:gl,isSubstringInArray:z0,interpolateToCurve:W0,calcLabelPosition:Y0,calcCardinalityPosition:V0,calcTerminalLabelPosition:G0,formatUrl:H0,getStylesFromArray:X0,generateId:K0,random:J0,runFunc:j0,entityDecode:o_,insertTitle:a_,parseFontSize:Xn,InitIDGenerator:n_},s_=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/#\w+;/g,function(i){const r=i.substring(1,i.length-1);return/^\+?\d+$/.test(r)?"fl°°"+r+"¶ß":"fl°"+r+"¶ß"}),e},l_=function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},Ea="10.9.1",Pe=Object.freeze(O0);let pt=at({},Pe),Cl,qe=[],hi=at({},Pe);const Or=(t,e)=>{let i=at({},t),r={};for(const n of e)Tl(n),r=at(r,n);if(i=at(i,r),r.theme&&r.theme in Xt){const n=at({},Cl),o=at(n.themeVariables||{},r.themeVariables);i.theme&&i.theme in Xt&&(i.themeVariables=Xt[i.theme].getThemeVariables(o))}return hi=i,vl(hi),hi},c_=t=>(pt=at({},Pe),pt=at(pt,t),t.theme&&Xt[t.theme]&&(pt.themeVariables=Xt[t.theme].getThemeVariables(t.themeVariables)),Or(pt,qe),pt),h_=t=>{Cl=at({},t)},u_=t=>(pt=at(pt,t),Or(pt,qe),pt),xl=()=>at({},pt),bl=t=>(vl(t),at(hi,t),Pt()),Pt=()=>at({},hi),Tl=t=>{t&&(["secure",...pt.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(E.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&Tl(t[e])}))},f_=t=>{sr(t),t.fontFamily&&(!t.themeVariables||!t.themeVariables.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),qe.push(t),Or(pt,qe)},cr=(t=pt)=>{qe=[],Or(t,qe)},d_={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Oa={},p_=t=>{Oa[t]||(E.warn(d_[t]),Oa[t]=!0)},vl=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&p_("LAZY_LOAD_DEPRECATED")},kl="c4",g_=t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),m_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/c4Diagram-ae766693.DLOsxA_1.js");return{diagram:e}},__vite__mapDeps([0,1,2,3]));return{id:kl,diagram:t}},__={id:kl,detector:g_,loader:m_},y_=__,Sl="flowchart",C_=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},x_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/flowDiagram-b222e15a.Df_VmXWq.js");return{diagram:e}},__vite__mapDeps([4,5,6,7,8,9,10,11,12,13,14,15,16,2,3]));return{id:Sl,diagram:t}},b_={id:Sl,detector:C_,loader:x_},T_=b_,wl="flowchart-v2",v_=(t,e)=>{var i,r,n;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)},k_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/flowDiagram-v2-13329dc7.HD1lSh3u.js");return{diagram:e}},__vite__mapDeps([17,5,8,6,9,7,10,11,12,13,14,15,16,2,3]));return{id:wl,diagram:t}},S_={id:wl,detector:v_,loader:k_},w_=S_,Bl="er",B_=t=>/^\s*erDiagram/.test(t),A_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/erDiagram-09d1c15f.DRVauXa-.js");return{diagram:e}},__vite__mapDeps([18,6,7,13,14,15,2,3]));return{id:Bl,diagram:t}},L_={id:Bl,detector:B_,loader:A_},F_=L_,Al="gitGraph",E_=t=>/^\s*gitGraph/.test(t),O_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/gitGraphDiagram-942e62fe.DHd-4RVN.js");return{diagram:e}},__vite__mapDeps([19,2,3]));return{id:Al,diagram:t}},M_={id:Al,detector:E_,loader:O_},I_=M_,Ll="gantt",$_=t=>/^\s*gantt/.test(t),D_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/ganttDiagram-b62c793e.0tEMa_1q.js");return{diagram:e}},__vite__mapDeps([20,21,22,2,3]));return{id:Ll,diagram:t}},N_={id:Ll,detector:$_,loader:D_},R_=N_,Fl="info",P_=t=>/^\s*info/.test(t),q_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/infoDiagram-94cd232f.JmpHCYP9.js");return{diagram:e}},__vite__mapDeps([23,2,3]));return{id:Fl,diagram:t}},z_={id:Fl,detector:P_,loader:q_},El="pie",W_=t=>/^\s*pie/.test(t),H_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/pieDiagram-bb1d19e5.Wp1004gd.js");return{diagram:e}},__vite__mapDeps([24,25,15,26,22,14,2,3]));return{id:El,diagram:t}},j_={id:El,detector:W_,loader:H_},Ol="quadrantChart",U_=t=>/^\s*quadrantChart/.test(t),Y_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/quadrantDiagram-c759a472.BkG1jmU1.js");return{diagram:e}},__vite__mapDeps([27,21,22,2,3]));return{id:Ol,diagram:t}},V_={id:Ol,detector:U_,loader:Y_},G_=V_,Ml="xychart",X_=t=>/^\s*xychart-beta/.test(t),K_=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/xychartDiagram-f11f50a6.BhHzclVa.js");return{diagram:e}},__vite__mapDeps([28,12,22,26,21,13,14,15,2,3]));return{id:Ml,diagram:t}},Z_={id:Ml,detector:X_,loader:K_},J_=Z_,Il="requirement",Q_=t=>/^\s*requirement(Diagram)?/.test(t),ty=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/requirementDiagram-87253d64.DrCA6Bm6.js");return{diagram:e}},__vite__mapDeps([29,6,7,13,14,15,2,3]));return{id:Il,diagram:t}},ey={id:Il,detector:Q_,loader:ty},iy=ey,$l="sequence",ry=t=>/^\s*sequenceDiagram/.test(t),ny=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/sequenceDiagram-6894f283.xdiF0jQs.js");return{diagram:e}},__vite__mapDeps([30,1,2,3]));return{id:$l,diagram:t}},oy={id:$l,detector:ry,loader:ny},ay=oy,Dl="class",sy=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},ly=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/classDiagram-fb54d2a0.Sd0OEb1c.js");return{diagram:e}},__vite__mapDeps([31,32,6,7,13,14,15,2,3]));return{id:Dl,diagram:t}},cy={id:Dl,detector:sy,loader:ly},hy=cy,Nl="classDiagram",uy=(t,e)=>{var i;return/^\s*classDiagram/.test(t)&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},fy=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/classDiagram-v2-a2b738ad.C40Ng1qw.js");return{diagram:e}},__vite__mapDeps([33,32,6,9,7,10,11,12,13,14,15,2,3]));return{id:Nl,diagram:t}},dy={id:Nl,detector:uy,loader:fy},py=dy,Rl="state",gy=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},my=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/stateDiagram-5dee940d.sTq1FYCv.js");return{diagram:e}},__vite__mapDeps([34,35,6,7,13,14,15,2,3]));return{id:Rl,diagram:t}},_y={id:Rl,detector:gy,loader:my},yy=_y,Pl="stateDiagram",Cy=(t,e)=>{var i;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper")},xy=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/stateDiagram-v2-1992cada.Dcs4V2uJ.js");return{diagram:e}},__vite__mapDeps([36,35,6,9,7,10,11,12,13,14,15,2,3]));return{id:Pl,diagram:t}},by={id:Pl,detector:Cy,loader:xy},Ty=by,ql="journey",vy=t=>/^\s*journey/.test(t),ky=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/journeyDiagram-6625b456.DTGNa8mU.js");return{diagram:e}},__vite__mapDeps([37,1,25,15,2,3]));return{id:ql,diagram:t}},Sy={id:ql,detector:vy,loader:ky},wy=Sy,By=function(t,e){for(let i of e)t.attr(i[0],i[1])},Ay=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r},zl=function(t,e,i,r){const n=Ay(e,i,r);By(t,n)},Ly=function(t,e,i,r){const n=e.node().getBBox(),o=n.width,a=n.height;E.info(`SVG bounds: ${o}x${a}`,n);let s=0,l=0;E.info(`Graph bounds: ${s}x${l}`,t),s=o+i*2,l=a+i*2,E.info(`Calculated bounds: ${s}x${l}`),zl(e,l,s,r);const c=`${n.x-i} ${n.y-i} ${n.width+2*i} ${n.height+2*i}`;e.attr("viewBox",c)},Vi={},Fy=(t,e,i)=>{let r="";return t in Vi&&Vi[t]?r=Vi[t](i):E.warn(`No theme found for ${t}`),` & { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + fill: ${i.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${i.errorBkgColor}; + } + & .error-text { + fill: ${i.errorTextColor}; + stroke: ${i.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + } + & .marker.cross { + stroke: ${i.lineColor}; + } + + & svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + ${r} + + ${e} +`},Ey=(t,e)=>{e!==void 0&&(Vi[t]=e)},Oy=Fy;let Kn="",Zn="",Jn="";const Qn=t=>Ci(t,Pt()),My=()=>{Kn="",Jn="",Zn=""},Iy=t=>{Kn=Qn(t).replace(/^\s+/g,"")},$y=()=>Kn,Dy=t=>{Jn=Qn(t).replace(/\n\s+/g,` +`)},Ny=()=>Jn,Ry=t=>{Zn=Qn(t)},Py=()=>Zn,qy=Object.freeze(Object.defineProperty({__proto__:null,clear:My,getAccDescription:Ny,getAccTitle:$y,getDiagramTitle:Py,setAccDescription:Dy,setAccTitle:Iy,setDiagramTitle:Ry},Symbol.toStringTag,{value:"Module"})),zy=E,Wy=Un,to=Pt,b1=bl,T1=Pe,Hy=t=>Ci(t,to()),jy=Ly,Uy=()=>qy,hr={},ur=(t,e,i)=>{var r;if(hr[t])throw new Error(`Diagram ${t} already registered.`);hr[t]=e,i&&pl(t,i),Ey(t,e.styles),(r=e.injectUtils)==null||r.call(e,zy,Wy,to,Hy,jy,Uy(),()=>{})},eo=t=>{if(t in hr)return hr[t];throw new Yy(t)};class Yy extends Error{constructor(e){super(`Diagram ${e} not found.`)}}const Vy=t=>{var e;const{securityLevel:i}=to();let r=vt("body");if(i==="sandbox"){const a=((e=vt(`#i${t}`).node())==null?void 0:e.contentDocument)??document;r=vt(a.body)}return r.select(`#${t}`)},Gy=(t,e,i)=>{E.debug(`rendering svg for syntax error +`);const r=Vy(e),n=r.append("g");r.attr("viewBox","0 0 2412 512"),zl(r,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${i}`)},Wl={draw:Gy},Xy=Wl,Ky={db:{},renderer:Wl,parser:{parser:{yy:{}},parse:()=>{}}},Zy=Ky,Hl="flowchart-elk",Jy=(t,e)=>{var i;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},Qy=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/flowchart-elk-definition-ae0efee6.COmkU_vM.js");return{diagram:e}},__vite__mapDeps([38,5,11,12,13,14,15,2,3]));return{id:Hl,diagram:t}},tC={id:Hl,detector:Jy,loader:Qy},eC=tC,jl="timeline",iC=t=>/^\s*timeline/.test(t),rC=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/timeline-definition-bf702344.CGThNUVg.js");return{diagram:e}},__vite__mapDeps([39,25,15,2,3]));return{id:jl,diagram:t}},nC={id:jl,detector:iC,loader:rC},oC=nC,Ul="mindmap",aC=t=>/^\s*mindmap/.test(t),sC=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/mindmap-definition-307c710a.QSQjGcB3.js");return{diagram:e}},__vite__mapDeps([40,12,2,3]));return{id:Ul,diagram:t}},lC={id:Ul,detector:aC,loader:sC},cC=lC,Yl="sankey",hC=t=>/^\s*sankey-beta/.test(t),uC=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/sankeyDiagram-707fac0f.B9hhT9kO.js");return{diagram:e}},__vite__mapDeps([41,26,22,42,2,3]));return{id:Yl,diagram:t}},fC={id:Yl,detector:hC,loader:uC},dC=fC,Vl="block",pC=t=>/^\s*block-beta/.test(t),gC=async()=>{const{diagram:t}=await K(async()=>{const{diagram:e}=await import("./chunks/blockDiagram-9f4a6865.Dt0yG6MA.js");return{diagram:e}},__vite__mapDeps([43,10,6,11,12,13,14,15,26,22,16,42,2,3]));return{id:Vl,diagram:t}},mC={id:Vl,detector:pC,loader:gC},_C=mC;let Ma=!1;const io=()=>{Ma||(Ma=!0,ur("error",Zy,t=>t.toLowerCase().trim()==="error"),ur("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),dl(y_,py,hy,F_,R_,z_,j_,iy,ay,eC,w_,T_,cC,oC,I_,Ty,yy,wy,G_,dC,J_,_C))};class Gl{constructor(e,i={}){this.text=e,this.metadata=i,this.type="graph",this.text=s_(e),this.text+=` +`;const r=Pt();try{this.type=Er(e,r)}catch(o){this.type="error",this.detectError=o}const n=eo(this.type);E.debug("Type "+this.type),this.db=n.db,this.renderer=n.renderer,this.parser=n.parser,this.parser.parser.yy=this.db,this.init=n.init,this.parse()}parse(){var e,i,r,n,o;if(this.detectError)throw this.detectError;(i=(e=this.db).clear)==null||i.call(e);const a=Pt();(r=this.init)==null||r.call(this,a),this.metadata.title&&((o=(n=this.db).setDiagramTitle)==null||o.call(n,this.metadata.title)),this.parser.parse(this.text)}async render(e,i){await this.renderer.draw(this.text,e,i,this)}getParser(){return this.parser}getType(){return this.type}}const yC=async(t,e={})=>{const i=Er(t,Pt());try{eo(i)}catch{const n=$0(i);if(!n)throw new fl(`Diagram ${i} not found.`);const{id:o,diagram:a}=await n();ur(o,a)}return new Gl(t,e)};let Ia=[];const CC=()=>{Ia.forEach(t=>{t()}),Ia=[]},xC="graphics-document document";function bC(t,e){t.attr("role",xC),e!==""&&t.attr("aria-roledescription",e)}function TC(t,e,i,r){if(t.insert!==void 0){if(i){const n=`chart-desc-${r}`;t.attr("aria-describedby",n),t.insert("desc",":first-child").attr("id",n).text(i)}if(e){const n=`chart-title-${r}`;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}const vC=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Xl(t){return typeof t>"u"||t===null}function kC(t){return typeof t=="object"&&t!==null}function SC(t){return Array.isArray(t)?t:Xl(t)?[]:[t]}function wC(t,e){var i,r,n,o;if(e)for(o=Object.keys(e),i=0,r=o.length;is&&(o=" ... ",e=r-s+o.length),i-r>s&&(a=" ...",i=r+s-a.length),{str:o+t.slice(e,i).replace(/\t/g,"→")+a,pos:r-e+o.length}}function tn(t,e){return ht.repeat(" ",e-t.length)+t}function $C(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var i=/\r?\n|\r|\0/g,r=[0],n=[],o,a=-1;o=i.exec(t.buffer);)n.push(o.index),r.push(o.index+o[0].length),t.position<=o.index&&a<0&&(a=r.length-2);a<0&&(a=r.length-1);var s="",l,c,u=Math.min(t.line+e.linesAfter,n.length).toString().length,f=e.maxLength-(e.indent+u+3);for(l=1;l<=e.linesBefore&&!(a-l<0);l++)c=Qr(t.buffer,r[a-l],n[a-l],t.position-(r[a]-r[a-l]),f),s=ht.repeat(" ",e.indent)+tn((t.line-l+1).toString(),u)+" | "+c.str+` +`+s;for(c=Qr(t.buffer,r[a],n[a],t.position,f),s+=ht.repeat(" ",e.indent)+tn((t.line+1).toString(),u)+" | "+c.str+` +`,s+=ht.repeat("-",e.indent+u+3+c.pos)+`^ +`,l=1;l<=e.linesAfter&&!(a+l>=n.length);l++)c=Qr(t.buffer,r[a+l],n[a+l],t.position-(r[a]-r[a+l]),f),s+=ht.repeat(" ",e.indent)+tn((t.line+l+1).toString(),u)+" | "+c.str+` +`;return s.replace(/\n$/,"")}var DC=$C,NC=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],RC=["scalar","sequence","mapping"];function PC(t){var e={};return t!==null&&Object.keys(t).forEach(function(i){t[i].forEach(function(r){e[String(r)]=i})}),e}function qC(t,e){if(e=e||{},Object.keys(e).forEach(function(i){if(NC.indexOf(i)===-1)throw new Gt('Unknown option "'+i+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(i){return i},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=PC(e.styleAliases||null),RC.indexOf(this.kind)===-1)throw new Gt('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var st=qC;function $a(t,e){var i=[];return t[e].forEach(function(r){var n=i.length;i.forEach(function(o,a){o.tag===r.tag&&o.kind===r.kind&&o.multi===r.multi&&(n=a)}),i[n]=r}),i}function zC(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,i;function r(n){n.multi?(t.multi[n.kind].push(n),t.multi.fallback.push(n)):t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,i=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),lx=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function cx(t){return!(t===null||!lx.test(t)||t[t.length-1]==="_")}function hx(t){var e,i;return e=t.replace(/_/g,"").toLowerCase(),i=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:i*parseFloat(e,10)}var ux=/^[-+]?[0-9]+e/;function fx(t,e){var i;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ht.isNegativeZero(t))return"-0.0";return i=t.toString(10),ux.test(i)?i.replace("e",".e"):i}function dx(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||ht.isNegativeZero(t))}var px=new st("tag:yaml.org,2002:float",{kind:"scalar",resolve:cx,construct:hx,predicate:dx,represent:fx,defaultStyle:"lowercase"}),Zl=YC.extend({implicit:[KC,tx,sx,px]}),gx=Zl,Jl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Ql=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function mx(t){return t===null?!1:Jl.exec(t)!==null||Ql.exec(t)!==null}function _x(t){var e,i,r,n,o,a,s,l=0,c=null,u,f,h;if(e=Jl.exec(t),e===null&&(e=Ql.exec(t)),e===null)throw new Error("Date resolve error");if(i=+e[1],r=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(i,r,n));if(o=+e[4],a=+e[5],s=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],f=+(e[11]||0),c=(u*60+f)*6e4,e[9]==="-"&&(c=-c)),h=new Date(Date.UTC(i,r,n,o,a,s,l)),c&&h.setTime(h.getTime()-c),h}function yx(t){return t.toISOString()}var Cx=new st("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:mx,construct:_x,instanceOf:Date,represent:yx});function xx(t){return t==="<<"||t===null}var bx=new st("tag:yaml.org,2002:merge",{kind:"scalar",resolve:xx}),ro=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function Tx(t){if(t===null)return!1;var e,i,r=0,n=t.length,o=ro;for(i=0;i64)){if(e<0)return!1;r+=6}return r%8===0}function vx(t){var e,i,r=t.replace(/[\r\n=]/g,""),n=r.length,o=ro,a=0,s=[];for(e=0;e>16&255),s.push(a>>8&255),s.push(a&255)),a=a<<6|o.indexOf(r.charAt(e));return i=n%4*6,i===0?(s.push(a>>16&255),s.push(a>>8&255),s.push(a&255)):i===18?(s.push(a>>10&255),s.push(a>>2&255)):i===12&&s.push(a>>4&255),new Uint8Array(s)}function kx(t){var e="",i=0,r,n,o=t.length,a=ro;for(r=0;r>18&63],e+=a[i>>12&63],e+=a[i>>6&63],e+=a[i&63]),i=(i<<8)+t[r];return n=o%3,n===0?(e+=a[i>>18&63],e+=a[i>>12&63],e+=a[i>>6&63],e+=a[i&63]):n===2?(e+=a[i>>10&63],e+=a[i>>4&63],e+=a[i<<2&63],e+=a[64]):n===1&&(e+=a[i>>2&63],e+=a[i<<4&63],e+=a[64],e+=a[64]),e}function Sx(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}var wx=new st("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Tx,construct:vx,predicate:Sx,represent:kx}),Bx=Object.prototype.hasOwnProperty,Ax=Object.prototype.toString;function Lx(t){if(t===null)return!0;var e=[],i,r,n,o,a,s=t;for(i=0,r=s.length;i>10)+55296,(t-65536&1023)+56320)}var nc=new Array(256),oc=new Array(256);for(var Ae=0;Ae<256;Ae++)nc[Ae]=Ra(Ae)?1:0,oc[Ae]=Ra(Ae);function Xx(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||qx,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function ac(t,e){var i={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return i.snippet=DC(i),new Gt(e,i)}function L(t,e){throw ac(t,e)}function pr(t,e){t.onWarning&&t.onWarning.call(null,ac(t,e))}var Pa={YAML:function(e,i,r){var n,o,a;e.version!==null&&L(e,"duplication of %YAML directive"),r.length!==1&&L(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),n===null&&L(e,"ill-formed argument of the YAML directive"),o=parseInt(n[1],10),a=parseInt(n[2],10),o!==1&&L(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=a<2,a!==1&&a!==2&&pr(e,"unsupported YAML version of the document")},TAG:function(e,i,r){var n,o;r.length!==2&&L(e,"TAG directive accepts exactly two arguments"),n=r[0],o=r[1],ic.test(n)||L(e,"ill-formed tag handle (first argument) of the TAG directive"),se.call(e.tagMap,n)&&L(e,'there is a previously declared suffix for "'+n+'" tag handle'),rc.test(o)||L(e,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{L(e,"tag prefix is malformed: "+o)}e.tagMap[n]=o}};function oe(t,e,i,r){var n,o,a,s;if(e1&&(t.result+=ht.repeat(` +`,e-1))}function Kx(t,e,i){var r,n,o,a,s,l,c,u,f=t.kind,h=t.result,p;if(p=t.input.charCodeAt(t.position),mt(p)||Le(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(n=t.input.charCodeAt(t.position+1),mt(n)||i&&Le(n)))return!1;for(t.kind="scalar",t.result="",o=a=t.position,s=!1;p!==0;){if(p===58){if(n=t.input.charCodeAt(t.position+1),mt(n)||i&&Le(n))break}else if(p===35){if(r=t.input.charCodeAt(t.position-1),mt(r))break}else{if(t.position===t.lineStart&&Mr(t)||i&&Le(p))break;if(Nt(p))if(l=t.line,c=t.lineStart,u=t.lineIndent,Q(t,!1,-1),t.lineIndent>=e){s=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=a,t.line=l,t.lineStart=c,t.lineIndent=u;break}}s&&(oe(t,o,a,!1),oo(t,t.line-l),o=a=t.position,s=!1),me(p)||(a=t.position+1),p=t.input.charCodeAt(++t.position)}return oe(t,o,a,!1),t.result?!0:(t.kind=f,t.result=h,!1)}function Zx(t,e){var i,r,n;if(i=t.input.charCodeAt(t.position),i!==39)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(i=t.input.charCodeAt(t.position))!==0;)if(i===39)if(oe(t,r,t.position,!0),i=t.input.charCodeAt(++t.position),i===39)r=t.position,t.position++,n=t.position;else return!0;else Nt(i)?(oe(t,r,n,!0),oo(t,Q(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Mr(t)?L(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);L(t,"unexpected end of the stream within a single quoted scalar")}function Jx(t,e){var i,r,n,o,a,s;if(s=t.input.charCodeAt(t.position),s!==34)return!1;for(t.kind="scalar",t.result="",t.position++,i=r=t.position;(s=t.input.charCodeAt(t.position))!==0;){if(s===34)return oe(t,i,t.position,!0),t.position++,!0;if(s===92){if(oe(t,i,t.position,!0),s=t.input.charCodeAt(++t.position),Nt(s))Q(t,!1,e);else if(s<256&&nc[s])t.result+=oc[s],t.position++;else if((a=Yx(s))>0){for(n=a,o=0;n>0;n--)s=t.input.charCodeAt(++t.position),(a=Ux(s))>=0?o=(o<<4)+a:L(t,"expected hexadecimal character");t.result+=Gx(o),t.position++}else L(t,"unknown escape sequence");i=r=t.position}else Nt(s)?(oe(t,i,r,!0),oo(t,Q(t,!1,e)),i=r=t.position):t.position===t.lineStart&&Mr(t)?L(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}L(t,"unexpected end of the stream within a double quoted scalar")}function Qx(t,e){var i=!0,r,n,o,a=t.tag,s,l=t.anchor,c,u,f,h,p,m=Object.create(null),b,k,P,v;if(v=t.input.charCodeAt(t.position),v===91)u=93,p=!1,s=[];else if(v===123)u=125,p=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),v=t.input.charCodeAt(++t.position);v!==0;){if(Q(t,!0,e),v=t.input.charCodeAt(t.position),v===u)return t.position++,t.tag=a,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=s,!0;i?v===44&&L(t,"expected the node content, but found ','"):L(t,"missed comma between flow collection entries"),k=b=P=null,f=h=!1,v===63&&(c=t.input.charCodeAt(t.position+1),mt(c)&&(f=h=!0,t.position++,Q(t,!0,e))),r=t.line,n=t.lineStart,o=t.position,ze(t,e,fr,!1,!0),k=t.tag,b=t.result,Q(t,!0,e),v=t.input.charCodeAt(t.position),(h||t.line===r)&&v===58&&(f=!0,v=t.input.charCodeAt(++t.position),Q(t,!0,e),ze(t,e,fr,!1,!0),P=t.result),p?Fe(t,s,m,k,b,P,r,n,o):f?s.push(Fe(t,null,m,k,b,P,r,n,o)):s.push(b),Q(t,!0,e),v=t.input.charCodeAt(t.position),v===44?(i=!0,v=t.input.charCodeAt(++t.position)):i=!1}L(t,"unexpected end of the stream within a flow collection")}function tb(t,e){var i,r,n=en,o=!1,a=!1,s=e,l=0,c=!1,u,f;if(f=t.input.charCodeAt(t.position),f===124)r=!1;else if(f===62)r=!0;else return!1;for(t.kind="scalar",t.result="";f!==0;)if(f=t.input.charCodeAt(++t.position),f===43||f===45)en===n?n=f===43?Da:zx:L(t,"repeat of a chomping mode identifier");else if((u=Vx(f))>=0)u===0?L(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):a?L(t,"repeat of an indentation width identifier"):(s=e+u-1,a=!0);else break;if(me(f)){do f=t.input.charCodeAt(++t.position);while(me(f));if(f===35)do f=t.input.charCodeAt(++t.position);while(!Nt(f)&&f!==0)}for(;f!==0;){for(no(t),t.lineIndent=0,f=t.input.charCodeAt(t.position);(!a||t.lineIndents&&(s=t.lineIndent),Nt(f)){l++;continue}if(t.lineIndente)&&l!==0)L(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(k&&(a=t.line,s=t.lineStart,l=t.position),ze(t,e,dr,!0,n)&&(k?m=t.result:b=t.result),k||(Fe(t,f,h,p,m,b,a,s,l),p=m=b=null),Q(t,!0,-1),v=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&v!==0)L(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),f=0,h=t.implicitTypes.length;f"),t.result!==null&&m.kind!==t.kind&&L(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+m.kind+'", not "'+t.kind+'"'),m.resolve(t.result,t.tag)?(t.result=m.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):L(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function ob(t){var e=t.position,i,r,n,o=!1,a;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(a=t.input.charCodeAt(t.position))!==0&&(Q(t,!0,-1),a=t.input.charCodeAt(t.position),!(t.lineIndent>0||a!==37));){for(o=!0,a=t.input.charCodeAt(++t.position),i=t.position;a!==0&&!mt(a);)a=t.input.charCodeAt(++t.position);for(r=t.input.slice(i,t.position),n=[],r.length<1&&L(t,"directive name must not be less than one character in length");a!==0;){for(;me(a);)a=t.input.charCodeAt(++t.position);if(a===35){do a=t.input.charCodeAt(++t.position);while(a!==0&&!Nt(a));break}if(Nt(a))break;for(i=t.position;a!==0&&!mt(a);)a=t.input.charCodeAt(++t.position);n.push(t.input.slice(i,t.position))}a!==0&&no(t),se.call(Pa,r)?Pa[r](t,r,n):pr(t,'unknown document directive "'+r+'"')}if(Q(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Q(t,!0,-1)):o&&L(t,"directives end mark is expected"),ze(t,t.lineIndent-1,dr,!1,!0),Q(t,!0,-1),t.checkLineBreaks&&Hx.test(t.input.slice(e,t.position))&&pr(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Mr(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Q(t,!0,-1));return}if(t.position"u"&&(i=e,e=null);var r=sc(t,i);if(typeof e!="function")return r;for(var n=0,o=r.length;nt.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,i,r)=>"<"+i+r.replace(/="([^"]*)"/g,"='$1'")+">"),gb=t=>{const{text:e,metadata:i}=db(t),{displayMode:r,title:n,config:o={}}=i;return r&&(o.gantt||(o.gantt={}),o.gantt.displayMode=r),{title:n,config:o,text:e}},mb=t=>{const e=ci.detectInit(t)??{},i=ci.detectDirective(t,"wrap");return Array.isArray(i)?e.wrap=i.some(({type:r})=>{}):(i==null?void 0:i.type)==="wrap"&&(e.wrap=!0),{text:q0(t),directive:e}};function lc(t){const e=pb(t),i=gb(e),r=mb(i.text),n=yl(i.config,r.directive);return t=vC(r.text),{code:t,title:i.title,config:n}}const _b=5e4,yb="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Cb="sandbox",xb="loose",bb="http://www.w3.org/2000/svg",Tb="http://www.w3.org/1999/xlink",vb="http://www.w3.org/1999/xhtml",kb="100%",Sb="100%",wb="border:0;margin:0;",Bb="margin:0",Ab="allow-top-navigation-by-user-activation allow-popups",Lb='The "iframe" tag is not supported by your browser.',Fb=["foreignobject"],Eb=["dominant-baseline"];function cc(t){const e=lc(t);return cr(),f_(e.config??{}),e}async function Ob(t,e){io(),t=cc(t).code;try{await ao(t)}catch(i){if(e!=null&&e.suppressErrors)return!1;throw i}return!0}const Wa=(t,e,i=[])=>` +.${t} ${e} { ${i.join(" !important; ")} !important; }`,Mb=(t,e={})=>{var i;let r="";if(t.themeCSS!==void 0&&(r+=` +${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` +:root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!Jr(e)){const s=t.htmlLabels||((i=t.flowchart)==null?void 0:i.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const l in e){const c=e[l];Jr(c.styles)||s.forEach(u=>{r+=Wa(c.id,u,c.styles)}),Jr(c.textStyles)||(r+=Wa(c.id,"tspan",c.textStyles))}}return r},Ib=(t,e,i,r)=>{const n=Mb(t,i),o=Oy(e,n,t.themeVariables);return yn(Um(`${r}{${o}}`),Vm)},$b=(t="",e,i)=>{let r=t;return!i&&!e&&(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=l_(r),r=r.replace(/
/g,"
"),r},Db=(t="",e)=>{var i,r;const n=(r=(i=e==null?void 0:e.viewBox)==null?void 0:i.baseVal)!=null&&r.height?e.viewBox.baseVal.height+"px":Sb,o=btoa(''+t+"");return``},Ha=(t,e,i,r,n)=>{const o=t.append("div");o.attr("id",i),r&&o.attr("style",r);const a=o.append("svg").attr("id",e).attr("width","100%").attr("xmlns",bb);return n&&a.attr("xmlns:xlink",n),a.append("g"),t};function ja(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const Nb=(t,e,i,r)=>{var n,o,a;(n=t.getElementById(e))==null||n.remove(),(o=t.getElementById(i))==null||o.remove(),(a=t.getElementById(r))==null||a.remove()},Rb=async function(t,e,i){var r,n,o,a,s,l;io();const c=cc(e);e=c.code;const u=Pt();E.debug(u),e.length>((u==null?void 0:u.maxTextSize)??_b)&&(e=yb);const f="#"+t,h="i"+t,p="#"+h,m="d"+t,b="#"+m;let k=vt("body");const P=u.securityLevel===Cb,v=u.securityLevel===xb,U=u.fontFamily;if(i!==void 0){if(i&&(i.innerHTML=""),P){const F=ja(vt(i),h);k=vt(F.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=vt(i);Ha(k,t,m,`font-family: ${U}`,Tb)}else{if(Nb(document,t,m,h),P){const F=ja(vt("body"),h);k=vt(F.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=vt("body");Ha(k,t,m)}let N,j;try{N=await ao(e,{title:c.title})}catch(F){N=new Gl("error"),j=F}const G=k.select(b).node(),H=N.type,Jt=G.firstChild,Qt=Jt.firstChild,Z=(n=(r=N.renderer).getClasses)==null?void 0:n.call(r,e,N),R=Ib(u,H,Z,f),wt=document.createElement("style");wt.innerHTML=R,Jt.insertBefore(wt,Qt);try{await N.renderer.draw(e,t,Ea,N)}catch(F){throw Xy.draw(e,t,Ea),F}const te=k.select(`${b} svg`),M=(a=(o=N.db).getAccTitle)==null?void 0:a.call(o),T=(l=(s=N.db).getAccDescription)==null?void 0:l.call(s);qb(H,te,M,T),k.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",vb);let y=k.select(b).node().innerHTML;if(E.debug("config.arrowMarkerAbsolute",u.arrowMarkerAbsolute),y=$b(y,P,ll(u.arrowMarkerAbsolute)),P){const F=k.select(b+" svg").node();y=Db(y,F)}else v||(y=De.sanitize(y,{ADD_TAGS:Fb,ADD_ATTR:Eb}));if(CC(),j)throw j;const x=vt(P?p:b).node();return x&&"remove"in x&&x.remove(),{svg:y,bindFunctions:N.db.bindFunctions}};function Pb(t={}){var e;t!=null&&t.fontFamily&&!((e=t.themeVariables)!=null&&e.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),h_(t),t!=null&&t.theme&&t.theme in Xt?t.themeVariables=Xt[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Xt.default.getThemeVariables(t.themeVariables));const i=typeof t=="object"?c_(t):xl();Un(i.logLevel),io()}const ao=(t,e={})=>{const{code:i}=lc(t);return yC(i,e)};function qb(t,e,i,r){bC(e,t),TC(e,i,r,e.attr("id"))}const Ce=Object.freeze({render:Rb,parse:Ob,getDiagramFromText:ao,initialize:Pb,getConfig:Pt,setConfig:bl,getSiteConfig:xl,updateSiteConfig:u_,reset:()=>{cr()},globalReset:()=>{cr(Pe)},defaultConfig:Pe});Un(Pt().logLevel);cr(Pt());const zb=async()=>{E.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Re).map(async([i,{detector:r,loader:n}])=>{if(n)try{eo(i)}catch{try{const{diagram:a,id:s}=await n();ur(s,a,r)}catch(a){throw E.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete Re[i],a}}}))).filter(i=>i.status==="rejected");if(e.length>0){E.error(`Failed to load ${e.length} external diagrams`);for(const i of e)E.error(i);throw new Error(`Failed to load ${e.length} external diagrams`)}},Wb=(t,e,i)=>{E.warn(t),_l(t)?(i&&i(t.str,t.hash),e.push({...t,message:t.str,error:t})):(i&&i(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},hc=async function(t={querySelector:".mermaid"}){try{await Hb(t)}catch(e){if(_l(e)&&E.error(e.str),_t.parseError&&_t.parseError(e),!t.suppressErrors)throw E.error("Use the suppressErrors option to suppress these errors"),e}},Hb=async function({postRenderCallback:t,querySelector:e,nodes:i}={querySelector:".mermaid"}){const r=Ce.getConfig();E.debug(`${t?"":"No "}Callback function found`);let n;if(i)n=i;else if(e)n=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");E.debug(`Found ${n.length} diagrams`),(r==null?void 0:r.startOnLoad)!==void 0&&(E.debug("Start On Load: "+(r==null?void 0:r.startOnLoad)),Ce.updateSiteConfig({startOnLoad:r==null?void 0:r.startOnLoad}));const o=new ci.InitIDGenerator(r.deterministicIds,r.deterministicIDSeed);let a;const s=[];for(const l of Array.from(n)){E.info("Rendering diagram: "+l.id);/*! Check if previously processed */if(l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const c=`mermaid-${o.next()}`;a=l.innerHTML,a=Yc(ci.entityDecode(a)).trim().replace(//gi,"
");const u=ci.detectInit(a);u&&E.debug("Detected early reinit: ",u);try{const{svg:f,bindFunctions:h}=await pc(c,a,l);l.innerHTML=f,t&&await t(c),h&&h(l)}catch(f){Wb(f,s,_t.parseError)}}if(s.length>0)throw s[0]},uc=function(t){Ce.initialize(t)},jb=async function(t,e,i){E.warn("mermaid.init is deprecated. Please use run instead."),t&&uc(t);const r={postRenderCallback:i,querySelector:".mermaid"};typeof e=="string"?r.querySelector=e:e&&(e instanceof HTMLElement?r.nodes=[e]:r.nodes=e),await hc(r)},Ub=async(t,{lazyLoad:e=!0}={})=>{dl(...t),e===!1&&await zb()},fc=function(){if(_t.startOnLoad){const{startOnLoad:t}=Ce.getConfig();t&&_t.run().catch(e=>E.error("Mermaid failed to initialize",e))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",fc,!1)}const Yb=function(t){_t.parseError=t},gr=[];let rn=!1;const dc=async()=>{if(!rn){for(rn=!0;gr.length>0;){const t=gr.shift();if(t)try{await t()}catch(e){E.error("Error executing queue",e)}}rn=!1}},Vb=async(t,e)=>new Promise((i,r)=>{const n=()=>new Promise((o,a)=>{Ce.parse(t,e).then(s=>{o(s),i(s)},s=>{var l;E.error("Error parsing",s),(l=_t.parseError)==null||l.call(_t,s),a(s),r(s)})});gr.push(n),dc().catch(r)}),pc=(t,e,i)=>new Promise((r,n)=>{const o=()=>new Promise((a,s)=>{Ce.render(t,e,i).then(l=>{a(l),r(l)},l=>{var c;E.error("Error parsing",l),(c=_t.parseError)==null||c.call(_t,l),s(l),n(l)})});gr.push(o),dc().catch(n)}),_t={startOnLoad:!0,mermaidAPI:Ce,parse:Vb,render:pc,init:jb,run:hc,registerExternalDiagrams:Ub,initialize:uc,parseError:void 0,contentLoaded:fc,setParseErrorHandler:Yb,detectType:Er},Gb=async t=>{try{_t.registerExternalDiagrams&&await _t.registerExternalDiagrams(t)}catch(e){console.error(e)}},Xb=async(t,e,i)=>{_t.initialize(i);const{svg:r}=await _t.render(t,e);return r},Kb=["innerHTML"],Zb={__name:"Mermaid",props:{graph:{type:String,required:!0},id:{type:String,required:!0},class:{type:String,required:!1,default:"mermaid"}},setup(t){const e=Lo({securityLevel:"loose",startOnLoad:!1,externalDiagrams:[]}),{page:i}=Ua(),{frontmatter:r}=kc(i.value),n=r.mermaidTheme||"",o=t,a=Lo(null);let s=null;Ya(async()=>{var f;await Gb(e.value.externalDiagrams);let c=await K(()=>import("./chunks/virtual_mermaid-config.DDnGl6nM.js"),[]);c!=null&&c.default&&(e.value=c.default),s=new MutationObserver(async()=>await l()),s.observe(document.documentElement,{attributes:!0}),await l(),((f=//.exec(decodeURIComponent(o.graph)))==null?void 0:f.length)>0&&setTimeout(()=>{let h=document.getElementsByTagName("img"),p=Array.from(h);p.length&&Promise.all(p.filter(m=>!m.complete).map(m=>new Promise(b=>{m.onload=m.onerror=b}))).then(async()=>{await l()})},100)}),Sc(()=>s.disconnect());const l=async()=>{const c=document.documentElement.classList.contains("dark");let u={...e.value};n&&(u.theme=n),c&&(u.theme="dark");let f=await Xb(o.id,decodeURIComponent(o.graph),u);const h=Math.random().toString(36).substring(7);a.value=`${f} ${h}`};return(c,u)=>(wc(),Bc("div",{innerHTML:a.value,class:Ac(o.class)},null,10,Kb))}};function gc(t){if(t.extends){const e=gc(t.extends);return{...e,...t,async enhanceApp(i){e.enhanceApp&&await e.enhanceApp(i),t.enhanceApp&&await t.enhanceApp(i)}}}return t}const Me=gc(Uc),Jb=Pc({name:"VitePressApp",setup(){const{site:t,lang:e,dir:i}=Ua();return Ya(()=>{qc(()=>{document.documentElement.lang=e.value,document.documentElement.dir=i.value})}),t.value.router.prefetchLinks&&zc(),Wc(),Hc(),Me.setup&&Me.setup(),()=>jc(Me.Layout)}});async function Qb(){globalThis.__VITEPRESS__=!0;const t=e1(),e=t1();e.provide(Fc,t);const i=Ec(t.route);return e.provide(Oc,i),e.component("Mermaid",Zb),e.component("Content",Mc),e.component("ClientOnly",Ic),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}}),Me.enhanceApp&&await Me.enhanceApp({app:e,router:t,siteData:$c}),{app:e,router:t,data:i}}function t1(){return Dc(Jb)}function e1(){let t=nn,e;return Nc(i=>{let r=Rc(i),n=null;return r&&(t&&(e=r),(t||e===r)&&(r=r.replace(/\.js$/,".lean.js")),n=import(r)),nn&&(t=!1),n},Me.NotFound)}nn&&Qb().then(({app:t,router:e,data:i})=>{e.go().then(()=>{Lc(e.route,i.site),t.mount("#app")})});export{ua as $,My as A,Si as B,We as C,ar as D,wr as E,fm as F,Zm as G,ki as H,or as I,am as J,Zs as K,js as L,hg as M,ug as N,ue as O,ma as P,em as Q,xe as R,rr as S,fg as T,zn as U,cg as V,gg as W,He as X,om as Y,le as Z,Tr as _,Ny as a,m1 as a$,Wn as a0,Ys as a1,Ks as a2,Qs as a3,sg as a4,bn as a5,Am as a6,xg as a7,bm as a8,Pn as a9,n1 as aA,Kc as aB,Fn as aC,ne as aD,di as aE,qo as aF,Gu as aG,Vy as aH,f1 as aI,O0 as aJ,yl as aK,Xn as aL,In as aM,s1 as aN,h1 as aO,Vo as aP,Yo as aQ,u1 as aR,c1 as aS,o1 as aT,a1 as aU,p1 as aV,d1 as aW,l1 as aX,w0 as aY,Pt as aZ,Aa as a_,Jr as aa,yt as ab,ss as ac,nh as ad,Lg as ae,ai as af,Bm as ag,xm as ah,Lm as ai,qn as aj,Em as ak,I as al,Rt as am,l_ as an,gd as ao,Yc as ap,b1 as aq,g1 as ar,jy as as,J0 as at,Ln as au,ls as av,gt as aw,Ti as ax,zu as ay,us as az,Dy as b,D0 as b0,K0 as b1,Vc as b2,Gc as b3,qy as b4,vi as b5,A as b6,O as b7,to as c,Qb as createApp,Ci as d,at as e,lr as f,$y as g,vt as h,zl as i,Yn as j,r_ as k,E as l,Ga as m,wi as n,fd as o,X0 as p,ll as q,x0 as r,Iy as s,W0 as t,Ly as u,T1 as v,e_ as w,Ry as x,Py as y,ci as z}; diff --git a/assets/ban-add-in-ui.DHyGW49r.png b/assets/ban-add-in-ui.DHyGW49r.png new file mode 100644 index 000000000..f373a72e6 Binary files /dev/null and b/assets/ban-add-in-ui.DHyGW49r.png differ diff --git a/assets/ban-config.SLkrj0Hg.png b/assets/ban-config.SLkrj0Hg.png new file mode 100644 index 000000000..20e58d65b Binary files /dev/null and b/assets/ban-config.SLkrj0Hg.png differ diff --git a/assets/ban-ui.Dhue1cR0.png b/assets/ban-ui.Dhue1cR0.png new file mode 100644 index 000000000..1f4e7cb29 Binary files /dev/null and b/assets/ban-ui.Dhue1cR0.png differ diff --git a/assets/censor-config1.Bip8x8md.png b/assets/censor-config1.Bip8x8md.png new file mode 100644 index 000000000..7d66bf967 Binary files /dev/null and b/assets/censor-config1.Bip8x8md.png differ diff --git a/assets/censor-config2.DGoTrdv-.png b/assets/censor-config2.DGoTrdv-.png new file mode 100644 index 000000000..2e5185b40 Binary files /dev/null and b/assets/censor-config2.DGoTrdv-.png differ diff --git a/assets/censor-log.BUJg4eNS.png b/assets/censor-log.BUJg4eNS.png new file mode 100644 index 000000000..a0d69cbe2 Binary files /dev/null and b/assets/censor-log.BUJg4eNS.png differ diff --git a/assets/censor-ui.DLNYMxtg.png b/assets/censor-ui.DLNYMxtg.png new file mode 100644 index 000000000..434bc8ede Binary files /dev/null and b/assets/censor-ui.DLNYMxtg.png differ diff --git a/assets/censor-words.Dn7Hjhhz.png b/assets/censor-words.Dn7Hjhhz.png new file mode 100644 index 000000000..6ff1cd214 Binary files /dev/null and b/assets/censor-words.Dn7Hjhhz.png differ diff --git a/assets/chunks/@localSearchIndexroot.DCq8HKfW.js b/assets/chunks/@localSearchIndexroot.DCq8HKfW.js new file mode 100644 index 000000000..fe69ea499 --- /dev/null +++ b/assets/chunks/@localSearchIndexroot.DCq8HKfW.js @@ -0,0 +1 @@ +const e='{"documentCount":739,"nextId":739,"documentIds":{"0":"/sealdice-manual-next/about/about.html#关于","1":"/sealdice-manual-next/about/about.html#官方站点","2":"/sealdice-manual-next/about/about.html#投喂","3":"/sealdice-manual-next/about/about.html#手册贡献者","4":"/sealdice-manual-next/about/about.html#开源","5":"/sealdice-manual-next/about/archieve.html#归档","6":"/sealdice-manual-next/about/archieve.html#go-cqhttp-mirai","7":"/sealdice-manual-next/about/archieve.html#使用签名服务","8":"/sealdice-manual-next/about/archieve.html#怎么使用签名服务","9":"/sealdice-manual-next/about/archieve.html#如何搭建签名服务","10":"/sealdice-manual-next/about/archieve.html#手动抓取-ticket","11":"/sealdice-manual-next/about/archieve.html#前置工作","12":"/sealdice-manual-next/about/archieve.html#分离部署登录流程","13":"/sealdice-manual-next/about/archieve.html#gocqhttp-faq","14":"/sealdice-manual-next/about/archieve.html#_1-出现-code-1","15":"/sealdice-manual-next/about/archieve.html#_2-qsign-闪退","16":"/sealdice-manual-next/about/archieve.html#_3-出现-code-45","17":"/sealdice-manual-next/about/archieve.html#_4-出现-code-235","18":"/sealdice-manual-next/about/archieve.html#_5-出现-code-237","19":"/sealdice-manual-next/about/archieve.html#_5-如何启动多个-qsign-仅当需要备用签名或不同协议版本的时候有此需求","20":"/sealdice-manual-next/about/archieve.html#_6-什么是-go-cqhttp-通常简称-gocq","21":"/sealdice-manual-next/about/archieve.html#_7-什么是签名","22":"/sealdice-manual-next/about/archieve.html#_8-对于-signserver-即-start-qsign-bat-俗称签名服务器-崩溃闪退可能的一种情况","23":"/sealdice-manual-next/about/archieve.html#chronocat-red-协议","24":"/sealdice-manual-next/about/archieve.html#shamrock","25":"/sealdice-manual-next/about/archieve.html#准备模拟器","26":"/sealdice-manual-next/about/archieve.html#获取-root-权限","27":"/sealdice-manual-next/about/archieve.html#安装-lsposed-模块","28":"/sealdice-manual-next/about/archieve.html#安装-shamrock","29":"/sealdice-manual-next/about/archieve.html#开放模拟器端口供海豹对接","30":"/sealdice-manual-next/about/archieve.html#连接海豹","31":"/sealdice-manual-next/about/archieve.html#shamrock-lspatch","32":"/sealdice-manual-next/about/archieve.html#安装-shizuku","33":"/sealdice-manual-next/about/archieve.html#安装-lspatch","34":"/sealdice-manual-next/about/archieve.html#安装并激活-shamrock","35":"/sealdice-manual-next/about/archieve.html#对接海豹","36":"/sealdice-manual-next/about/develop.html#参与项目","37":"/sealdice-manual-next/about/develop.html#如何参与项目","38":"/sealdice-manual-next/about/develop.html#bug-反馈、功能建议","39":"/sealdice-manual-next/about/develop.html#提交修改","40":"/sealdice-manual-next/about/develop.html#贡献指南","41":"/sealdice-manual-next/about/develop.html#整体流程","42":"/sealdice-manual-next/about/develop.html#对目标仓库进行-fork","43":"/sealdice-manual-next/about/develop.html#切出工作分支","44":"/sealdice-manual-next/about/develop.html#发起-pull-request-请求","45":"/sealdice-manual-next/about/develop.html#保持-fork-仓库与上游同步-可选","46":"/sealdice-manual-next/about/license.html#许可协议","47":"/sealdice-manual-next/about/start-from-zero.html#从零开始","48":"/sealdice-manual-next/about/start-from-zero.html#_0-背景知识","49":"/sealdice-manual-next/about/start-from-zero.html#_1-部署海豹","50":"/sealdice-manual-next/about/start-from-zero.html#_2-连接平台","51":"/sealdice-manual-next/about/start-from-zero.html#_3-熟悉海豹核心的功能","52":"/sealdice-manual-next/about/start-from-zero.html#_4-熟悉指令","53":"/sealdice-manual-next/about/start-from-zero.html#_5-进阶自定义","54":"/sealdice-manual-next/advanced/edit_complex_custom_text.html#编写复杂文案","55":"/sealdice-manual-next/advanced/edit_complex_custom_text.html#示例","56":"/sealdice-manual-next/advanced/edit_complex_custom_text.html#根据骰点结果展示不同文案","57":"/sealdice-manual-next/advanced/edit_complex_custom_text.html#多套文案的实现","58":"/sealdice-manual-next/advanced/edit_complex_custom_text.html#切换命令实现","59":"/sealdice-manual-next/advanced/edit_complex_custom_text.html#文案调整","60":"/sealdice-manual-next/advanced/edit_complex_custom_text.html#展示","61":"/sealdice-manual-next/advanced/edit_deck.html#编写牌堆","62":"/sealdice-manual-next/advanced/edit_deck.html#概览","63":"/sealdice-manual-next/advanced/edit_deck.html#语法快速入门","64":"/sealdice-manual-next/advanced/edit_deck.html#toml-注释","65":"/sealdice-manual-next/advanced/edit_deck.html#toml-键值对","66":"/sealdice-manual-next/advanced/edit_deck.html#toml-键名","67":"/sealdice-manual-next/advanced/edit_deck.html#toml-字符串","68":"/sealdice-manual-next/advanced/edit_deck.html#toml-表","69":"/sealdice-manual-next/advanced/edit_deck.html#toml-数组","70":"/sealdice-manual-next/advanced/edit_deck.html#json-键值","71":"/sealdice-manual-next/advanced/edit_deck.html#json-数组","72":"/sealdice-manual-next/advanced/edit_deck.html#json-对象","73":"/sealdice-manual-next/advanced/edit_deck.html#注释","74":"/sealdice-manual-next/advanced/edit_deck.html#_1-行内注释","75":"/sealdice-manual-next/advanced/edit_deck.html#_2-注释块","76":"/sealdice-manual-next/advanced/edit_deck.html#yaml-注释","77":"/sealdice-manual-next/advanced/edit_deck.html#yaml-键值","78":"/sealdice-manual-next/advanced/edit_deck.html#yaml-对象","79":"/sealdice-manual-next/advanced/edit_deck.html#yaml-数组","80":"/sealdice-manual-next/advanced/edit_deck.html#基础牌堆编写","81":"/sealdice-manual-next/advanced/edit_deck.html#牌堆语法","82":"/sealdice-manual-next/advanced/edit_deck.html#一个项中抽取其他项","83":"/sealdice-manual-next/advanced/edit_deck.html#放回抽取与不放回抽取","84":"/sealdice-manual-next/advanced/edit_deck.html#插入掷骰表达式","85":"/sealdice-manual-next/advanced/edit_deck.html#权重","86":"/sealdice-manual-next/advanced/edit_deck.html#权重与不放回抽取","87":"/sealdice-manual-next/advanced/edit_deck.html#发送图片等","88":"/sealdice-manual-next/advanced/edit_deck.html#牌堆打包","89":"/sealdice-manual-next/advanced/edit_deck.html#牌组的隐藏和导出控制","90":"/sealdice-manual-next/advanced/edit_deck.html#配置牌堆更新","91":"/sealdice-manual-next/advanced/edit_deck.html#插入海豹内置脚本语言","92":"/sealdice-manual-next/advanced/edit_deck.html#toml-牌堆的更多功能","93":"/sealdice-manual-next/advanced/edit_deck.html#更多牌组设置","94":"/sealdice-manual-next/advanced/edit_deck.html#云端内容","95":"/sealdice-manual-next/advanced/edit_deck.html#api-接口要求","96":"/sealdice-manual-next/advanced/edit_deck.html#牌堆配置云端内容","97":"/sealdice-manual-next/advanced/edit_helpdoc.html#编写帮助文档","98":"/sealdice-manual-next/advanced/edit_helpdoc.html#创建-json-格式的帮助文档","99":"/sealdice-manual-next/advanced/edit_helpdoc.html#示例文档-塔罗牌-节选","100":"/sealdice-manual-next/advanced/edit_helpdoc.html#创建-excel-格式的帮助文档","101":"/sealdice-manual-next/advanced/edit_reply.html#编写自定义回复","102":"/sealdice-manual-next/advanced/edit_reply.html#第一个自定义回复","103":"/sealdice-manual-next/advanced/edit_reply.html#触发条件","104":"/sealdice-manual-next/advanced/edit_reply.html#文本匹配-模糊匹配","105":"/sealdice-manual-next/advanced/edit_reply.html#文本匹配-正则匹配","106":"/sealdice-manual-next/advanced/edit_reply.html#表达式为真","107":"/sealdice-manual-next/advanced/edit_reply.html#回复结果","108":"/sealdice-manual-next/advanced/edit_reply.html#嵌入脚本语言","109":"/sealdice-manual-next/advanced/edit_reply.html#执行块","110":"/sealdice-manual-next/advanced/edit_reply.html#示例-使用-if","111":"/sealdice-manual-next/advanced/edit_reply.html#示例-变量运算","112":"/sealdice-manual-next/advanced/edit_reply.html#更多示例片段","113":"/sealdice-manual-next/advanced/edit_reply.html#牌堆与自定义回复的结合","114":"/sealdice-manual-next/advanced/edit_reply.html#多行回复的错误使用","115":"/sealdice-manual-next/advanced/edit_reply.html#限定每人-每群每天一次","116":"/sealdice-manual-next/advanced/edit_reply.html#条件语句嵌套条件算符-多条件条件语句","117":"/sealdice-manual-next/advanced/edit_reply.html#同时使用前缀和后缀匹配-以匹配-axxxxxxxb-型文本","118":"/sealdice-manual-next/advanced/edit_reply.html#随机看图","119":"/sealdice-manual-next/advanced/edit_reply.html#单人模组","120":"/sealdice-manual-next/advanced/edit_sensitive_words.html#编写敏感词库","121":"/sealdice-manual-next/advanced/edit_sensitive_words.html#创建文本格式的敏感词库","122":"/sealdice-manual-next/advanced/edit_sensitive_words.html#创建-toml-格式的敏感词库","123":"/sealdice-manual-next/advanced/introduce.html#进阶介绍","124":"/sealdice-manual-next/advanced/introduce.html#了解海豹语","125":"/sealdice-manual-next/advanced/introduce.html#用什么编写","126":"/sealdice-manual-next/advanced/js_api_list.html#api-列表","127":"/sealdice-manual-next/advanced/js_api_list.html#replygroup-replyperson-replytosender","128":"/sealdice-manual-next/advanced/js_api_list.html#memberban-memberkick","129":"/sealdice-manual-next/advanced/js_api_list.html#format-formattmpl","130":"/sealdice-manual-next/advanced/js_api_list.html#getctxproxyfirst-getctxproxyatpos","131":"/sealdice-manual-next/advanced/js_api_list.html#vars","132":"/sealdice-manual-next/advanced/js_api_list.html#ext","133":"/sealdice-manual-next/advanced/js_api_list.html#coc","134":"/sealdice-manual-next/advanced/js_api_list.html#deck","135":"/sealdice-manual-next/advanced/js_api_list.html#自定义-trpg-规则相关","136":"/sealdice-manual-next/advanced/js_api_list.html#其他","137":"/sealdice-manual-next/advanced/js_api_list.html#ctx-的内容","138":"/sealdice-manual-next/advanced/js_api_list.html#ctx-group-的内容","139":"/sealdice-manual-next/advanced/js_api_list.html#ctx-player-的内容","140":"/sealdice-manual-next/advanced/js_api_list.html#ctx-endpoint-的内容","141":"/sealdice-manual-next/advanced/js_api_list.html#msg-的内容","142":"/sealdice-manual-next/advanced/js_api_list.html#cmdargs-的内容","143":"/sealdice-manual-next/advanced/js_example.html#常见用法示例","144":"/sealdice-manual-next/advanced/js_example.html#创建和注册扩展","145":"/sealdice-manual-next/advanced/js_example.html#自定义指令","146":"/sealdice-manual-next/advanced/js_example.html#创建指令","147":"/sealdice-manual-next/advanced/js_example.html#指令参数与返回值","148":"/sealdice-manual-next/advanced/js_example.html#指令核心执行流程","149":"/sealdice-manual-next/advanced/js_example.html#注册指令","150":"/sealdice-manual-next/advanced/js_example.html#抽取牌堆","151":"/sealdice-manual-next/advanced/js_example.html#示例代码-抽取牌堆","152":"/sealdice-manual-next/advanced/js_example.html#权限识别","153":"/sealdice-manual-next/advanced/js_example.html#示例代码-权限识别","154":"/sealdice-manual-next/advanced/js_example.html#黑名单-信任名单操作","155":"/sealdice-manual-next/advanced/js_example.html#黑名单操作的函数","156":"/sealdice-manual-next/advanced/js_example.html#信任用户名单","157":"/sealdice-manual-next/advanced/js_example.html#获取黑名单-信任名单列表","158":"/sealdice-manual-next/advanced/js_example.html#获取用户在黑名单-信任名单中的信息","159":"/sealdice-manual-next/advanced/js_example.html#示例代码-黑名单-信任名单操作","160":"/sealdice-manual-next/advanced/js_example.html#存取数据","161":"/sealdice-manual-next/advanced/js_example.html#示例代码-投喂插件","162":"/sealdice-manual-next/advanced/js_example.html#示例代码-群内安价收集","163":"/sealdice-manual-next/advanced/js_example.html#数据处理模板","164":"/sealdice-manual-next/advanced/js_example.html#读取玩家或群组数据","165":"/sealdice-manual-next/advanced/js_example.html#编写暗骰指令","166":"/sealdice-manual-next/advanced/js_example.html#编写代骰指令","167":"/sealdice-manual-next/advanced/js_example.html#网络请求","168":"/sealdice-manual-next/advanced/js_example.html#自定义-coc-规则","169":"/sealdice-manual-next/advanced/js_example.html#补充-使用非指令关键词","170":"/sealdice-manual-next/advanced/js_example.html#注册插件配置项","171":"/sealdice-manual-next/advanced/js_example.html#示例代码-注册配置项","172":"/sealdice-manual-next/advanced/js_gamesystem.html#编写新的-trpg-规则","173":"/sealdice-manual-next/advanced/js_gamesystem.html#角色属性","174":"/sealdice-manual-next/advanced/js_gamesystem.html#游戏规则","175":"/sealdice-manual-next/advanced/js_gamesystem.html#规则模板是什么-有什么功能","176":"/sealdice-manual-next/advanced/js_gamesystem.html#那么-要怎么做","177":"/sealdice-manual-next/advanced/js_project.html#插件的工程化编写","178":"/sealdice-manual-next/advanced/js_project.html#clone-或下载模板项目","179":"/sealdice-manual-next/advanced/js_project.html#补全信息","180":"/sealdice-manual-next/advanced/js_project.html#使用和编译","181":"/sealdice-manual-next/advanced/js_project.html#目录结构","182":"/sealdice-manual-next/advanced/js_project.html#其他问题","183":"/sealdice-manual-next/advanced/js_project.html#我能在项目中引用-npm-包吗","184":"/sealdice-manual-next/advanced/js_project.html#我想使用的-api-没有被自动提示-直接使用被提示错误-如何解决","185":"/sealdice-manual-next/advanced/js_project.html#默认输出的插件代码是压缩过的-如何尽量保持产物的可读性","186":"/sealdice-manual-next/advanced/js_start.html#前言","187":"/sealdice-manual-next/advanced/js_start.html#快速开始","188":"/sealdice-manual-next/advanced/js_start.html#插件元数据","189":"/sealdice-manual-next/advanced/js_start.html#插件编写","190":"/sealdice-manual-next/advanced/js_start.html#单-js-文件编写插件","191":"/sealdice-manual-next/advanced/js_start.html#插件的工程化编写","192":"/sealdice-manual-next/advanced/js_start.html#扩展依赖","193":"/sealdice-manual-next/advanced/js_start.html#依赖其他扩展","194":"/sealdice-manual-next/advanced/js_start.html#指定依赖的格式","195":"/sealdice-manual-next/advanced/js_start.html#依赖多个扩展","196":"/sealdice-manual-next/advanced/js_start.html#目标海豹版本","197":"/sealdice-manual-next/advanced/js_start.html#一些有帮助的资源","198":"/sealdice-manual-next/advanced/js_start.html#其他问题","199":"/sealdice-manual-next/advanced/js_start.html#我不会-javascript-海豹支持其他编程语言编写插件吗","200":"/sealdice-manual-next/advanced/script.html#内置脚本语言","201":"/sealdice-manual-next/advanced/script.html#变量","202":"/sealdice-manual-next/advanced/script.html#数据类型和赋值","203":"/sealdice-manual-next/advanced/script.html#语句","204":"/sealdice-manual-next/advanced/script.html#运算符","205":"/sealdice-manual-next/advanced/script.html#数学运算","206":"/sealdice-manual-next/advanced/script.html#逻辑运算","207":"/sealdice-manual-next/advanced/script.html#骰子算符","208":"/sealdice-manual-next/advanced/script.html#条件算符","209":"/sealdice-manual-next/advanced/script.html#条件算符-1","210":"/sealdice-manual-next/advanced/script.html#多重条件算符","211":"/sealdice-manual-next/advanced/script.html#三目运算符","212":"/sealdice-manual-next/advanced/script.html#条件语句","213":"/sealdice-manual-next/config/backup.html#备份","214":"/sealdice-manual-next/config/backup.html#关于备份","215":"/sealdice-manual-next/config/backup.html#手动备份","216":"/sealdice-manual-next/config/backup.html#自动备份","217":"/sealdice-manual-next/config/backup.html#自动清理","218":"/sealdice-manual-next/config/backup.html#配置清理范围","219":"/sealdice-manual-next/config/backup.html#配置清理时机","220":"/sealdice-manual-next/config/backup.html#备份列表","221":"/sealdice-manual-next/config/ban.html#黑白名单","222":"/sealdice-manual-next/config/ban.html#如何设置黑白名单","223":"/sealdice-manual-next/config/ban.html#添加黑白名单","224":"/sealdice-manual-next/config/ban.html#ui-手动添加","225":"/sealdice-manual-next/config/ban.html#指令添加","226":"/sealdice-manual-next/config/ban.html#自动添加","227":"/sealdice-manual-next/config/ban.html#黑白名单设置","228":"/sealdice-manual-next/config/basic.html#基础设置","229":"/sealdice-manual-next/config/basic.html#master-管理","230":"/sealdice-manual-next/config/basic.html#master-解锁码","231":"/sealdice-manual-next/config/basic.html#master-列表","232":"/sealdice-manual-next/config/basic.html#消息通知列表","233":"/sealdice-manual-next/config/basic.html#邮箱通知","234":"/sealdice-manual-next/config/basic.html#发件邮箱","235":"/sealdice-manual-next/config/basic.html#邮箱密钥","236":"/sealdice-manual-next/config/basic.html#smtp-地址","237":"/sealdice-manual-next/config/basic.html#私骰模式","238":"/sealdice-manual-next/config/basic.html#允许自由开关","239":"/sealdice-manual-next/config/basic.html#启用戳一戳","240":"/sealdice-manual-next/config/basic.html#限制-text-指令","241":"/sealdice-manual-next/config/basic.html#忽略-bot-裸指令","242":"/sealdice-manual-next/config/basic.html#存活确认","243":"/sealdice-manual-next/config/basic.html#日志记录提示","244":"/sealdice-manual-next/config/basic.html#刷屏警告","245":"/sealdice-manual-next/config/basic.html#访问控制","246":"/sealdice-manual-next/config/basic.html#qq-频道设置","247":"/sealdice-manual-next/config/basic.html#加好友验证","248":"/sealdice-manual-next/config/basic.html#自动退出不活跃群组","249":"/sealdice-manual-next/config/censor.html#拦截","250":"/sealdice-manual-next/config/censor.html#什么是拦截功能","251":"/sealdice-manual-next/config/censor.html#配置拦截","252":"/sealdice-manual-next/config/censor.html#匹配选项","253":"/sealdice-manual-next/config/censor.html#响应设置","254":"/sealdice-manual-next/config/censor.html#敏感词管理","255":"/sealdice-manual-next/config/censor.html#查看拦截日志","256":"/sealdice-manual-next/config/censor.html#如何让用户-群豁免检查","257":"/sealdice-manual-next/config/censor.html#如何编写敏感词库","258":"/sealdice-manual-next/config/deck.html#牌堆","259":"/sealdice-manual-next/config/deck.html#牌堆是什么","260":"/sealdice-manual-next/config/deck.html#获取牌堆","261":"/sealdice-manual-next/config/deck.html#怎么上传牌堆到骰子-怎么管理牌堆","262":"/sealdice-manual-next/config/deck.html#怎么使用牌堆","263":"/sealdice-manual-next/config/deck.html#牌堆更新与云牌堆","264":"/sealdice-manual-next/config/deck.html#牌堆更新","265":"/sealdice-manual-next/config/deck.html#牌堆云端内容","266":"/sealdice-manual-next/config/deck.html#如何编写牌堆","267":"/sealdice-manual-next/config/custom_text.html#自定义文案","268":"/sealdice-manual-next/config/custom_text.html#什么是自定义文案","269":"/sealdice-manual-next/config/custom_text.html#如何修改文案","270":"/sealdice-manual-next/config/custom_text.html#文案列表","271":"/sealdice-manual-next/config/custom_text.html#筛选文案","272":"/sealdice-manual-next/config/custom_text.html#文案的导入-导出","273":"/sealdice-manual-next/config/custom_text.html#自定义文案组合","274":"/sealdice-manual-next/config/custom_text.html#coc","275":"/sealdice-manual-next/config/custom_text.html#ra-rc-检定","276":"/sealdice-manual-next/config/custom_text.html#st-属性设置","277":"/sealdice-manual-next/config/custom_text.html#sc-理智检定","278":"/sealdice-manual-next/config/custom_text.html#en-技能成长","279":"/sealdice-manual-next/config/custom_text.html#核心","280":"/sealdice-manual-next/config/custom_text.html#r-骰点","281":"/sealdice-manual-next/config/custom_text.html#alias-快捷指令","282":"/sealdice-manual-next/config/custom_text.html#文案插入图片和-cq-码","283":"/sealdice-manual-next/config/custom_text.html#文案变量标签","284":"/sealdice-manual-next/config/custom_text.html#在一个文案中使用另一个文案","285":"/sealdice-manual-next/config/custom_text.html#文案常见问题","286":"/sealdice-manual-next/config/custom_text.html#骰子进群和成为好友的问候语是哪个","287":"/sealdice-manual-next/config/custom_text.html#更复杂的文案设置","288":"/sealdice-manual-next/config/helpdoc.html#帮助文档","289":"/sealdice-manual-next/config/helpdoc.html#什么是帮助文档","290":"/sealdice-manual-next/config/helpdoc.html#获取帮助文档","291":"/sealdice-manual-next/config/helpdoc.html#如何使用帮助文档","292":"/sealdice-manual-next/config/helpdoc.html#如何管理帮助文档","293":"/sealdice-manual-next/config/helpdoc.html#上传帮助文档","294":"/sealdice-manual-next/config/helpdoc.html#为分组添加别名","295":"/sealdice-manual-next/config/helpdoc.html#删除帮助文档","296":"/sealdice-manual-next/config/helpdoc.html#查看帮助文档词条","297":"/sealdice-manual-next/config/helpdoc.html#如何编写帮助文档","298":"/sealdice-manual-next/config/jsscript.html#javascript-插件","299":"/sealdice-manual-next/config/jsscript.html#javascript-插件是什么","300":"/sealdice-manual-next/config/jsscript.html#获取-js-插件","301":"/sealdice-manual-next/config/jsscript.html#如何安装和管理-js-插件","302":"/sealdice-manual-next/config/jsscript.html#插件列表","303":"/sealdice-manual-next/config/jsscript.html#插件的更新","304":"/sealdice-manual-next/config/jsscript.html#控制台","305":"/sealdice-manual-next/config/jsscript.html#插件设置","306":"/sealdice-manual-next/config/jsscript.html#如何使用-js-插件","307":"/sealdice-manual-next/config/jsscript.html#如何编写-js-插件","308":"/sealdice-manual-next/config/reply.html#自定义回复","309":"/sealdice-manual-next/config/reply.html#什么是自定义回复","310":"/sealdice-manual-next/config/reply.html#在哪编写自定义回复","311":"/sealdice-manual-next/config/reply.html#当前回复文件","312":"/sealdice-manual-next/config/reply.html#新建-导入自定义回复文件","313":"/sealdice-manual-next/config/reply.html#获取自定义回复文件","314":"/sealdice-manual-next/config/reply.html#公共条件","315":"/sealdice-manual-next/config/reply.html#设置回复项","316":"/sealdice-manual-next/config/reply.html#回复项的条件","317":"/sealdice-manual-next/config/reply.html#文本匹配","318":"/sealdice-manual-next/config/reply.html#文本长度","319":"/sealdice-manual-next/config/reply.html#回复项的结果","320":"/sealdice-manual-next/config/reply.html#回复结果延迟","321":"/sealdice-manual-next/config/reply.html#更复杂的回复","322":"/sealdice-manual-next/config/utilities.html#辅助工具","323":"/sealdice-manual-next/config/utilities.html#指令测试","324":"/sealdice-manual-next/config/utilities.html#资源管理","325":"/sealdice-manual-next/deploy/about_file.html#海豹的本地文件","326":"/sealdice-manual-next/deploy/about_file.html#sealdice-文件目录树","327":"/sealdice-manual-next/deploy/about_file.html#常用文件","328":"/sealdice-manual-next/deploy/about_file.html#安卓端文件路径","329":"/sealdice-manual-next/deploy/about_file.html#数据库检查和修复","330":"/sealdice-manual-next/deploy/about_file.html#数据迁移","331":"/sealdice-manual-next/deploy/android.html#安卓海豹常见问题","332":"/sealdice-manual-next/deploy/android.html#安卓端登录","333":"/sealdice-manual-next/deploy/android.html#只有一个设备-但登录需要扫码","334":"/sealdice-manual-next/deploy/android.html#经常掉线","335":"/sealdice-manual-next/deploy/android.html#同时开启两个海豹实例","336":"/sealdice-manual-next/deploy/android.html#方法一-使用系统的双开功能","337":"/sealdice-manual-next/deploy/android.html#方法二-使用-np-管理器等软件","338":"/sealdice-manual-next/deploy/android.html#海豹文件路径","339":"/sealdice-manual-next/deploy/android.html#发送图片","340":"/sealdice-manual-next/deploy/android.html#如何更新","341":"/sealdice-manual-next/deploy/android.html#电脑海豹转安卓端海豹","342":"/sealdice-manual-next/deploy/android_keepalive.html#配置安卓端保活","343":"/sealdice-manual-next/deploy/android_keepalive.html#授予海豹核心必要权限","344":"/sealdice-manual-next/deploy/android_keepalive.html#hyperos","345":"/sealdice-manual-next/deploy/android_keepalive.html#miui","346":"/sealdice-manual-next/deploy/android_keepalive.html#鸿蒙系统","347":"/sealdice-manual-next/deploy/android_keepalive.html#coloros","348":"/sealdice-manual-next/deploy/android_keepalive.html#通用设置","349":"/sealdice-manual-next/deploy/android_keepalive.html#存储权限","350":"/sealdice-manual-next/deploy/android_keepalive.html#通知权限","351":"/sealdice-manual-next/deploy/android_keepalive.html#应用内设置","352":"/sealdice-manual-next/deploy/db-repair.html#数据库检查和修复","353":"/sealdice-manual-next/deploy/db-repair.html#确定问题","354":"/sealdice-manual-next/deploy/db-repair.html#无法使用命令行","355":"/sealdice-manual-next/deploy/db-repair.html#修复数据库-通过回滚备份","356":"/sealdice-manual-next/deploy/db-repair.html#修复数据库-通过数据库修复指令","357":"/sealdice-manual-next/deploy/newbie_faq.html#计算机小白常见问题","358":"/sealdice-manual-next/deploy/newbie_faq.html#部署海豹核心为什么要解压压缩包-怎么样解压压缩包","359":"/sealdice-manual-next/deploy/newbie_faq.html#内存不足到底指的是哪里的内存不足-如何解决内存不足","360":"/sealdice-manual-next/deploy/newbie_faq.html#对于海豹核心的日志界面中「there-is-not-enough-space-on-the-disk」的报错","361":"/sealdice-manual-next/deploy/newbie_faq.html#如果出现莫名其妙的程序中断","362":"/sealdice-manual-next/deploy/newbie_faq.html#什么是开源-什么是开源程序","363":"/sealdice-manual-next/deploy/newbie_faq.html#为什么我在-sealdice-用户群问问题会被要求发送截图-为什么不能拍屏","364":"/sealdice-manual-next/deploy/newbie_faq.html#什么是-github-怎么提-issue","365":"/sealdice-manual-next/deploy/newbie_learn.html#如何高效学习","366":"/sealdice-manual-next/deploy/newbie_learn.html#前言","367":"/sealdice-manual-next/deploy/newbie_learn.html#掌握语言","368":"/sealdice-manual-next/deploy/newbie_learn.html#寻求资源","369":"/sealdice-manual-next/deploy/newbie_learn.html#高效搜索","370":"/sealdice-manual-next/deploy/newbie_learn.html#实践学习","371":"/sealdice-manual-next/deploy/newbie_learn.html#深度优先学习","372":"/sealdice-manual-next/deploy/newbie_learn.html#广度优先学习","373":"/sealdice-manual-next/deploy/newbie_learn.html#所以","374":"/sealdice-manual-next/deploy/newbie_learn.html#结语","375":"/sealdice-manual-next/deploy/newbie_question.html#如何正确提问","376":"/sealdice-manual-next/deploy/newbie_question.html#前言","377":"/sealdice-manual-next/deploy/newbie_question.html#提问的智慧","378":"/sealdice-manual-next/deploy/newbie_question.html#提问前-你该这样做","379":"/sealdice-manual-next/deploy/newbie_question.html#尝试自行排查问题","380":"/sealdice-manual-next/deploy/newbie_question.html#尝试阅读本手册以找到答案","381":"/sealdice-manual-next/deploy/newbie_question.html#尝试浏览用户群内的信息以找到答案","382":"/sealdice-manual-next/deploy/newbie_question.html#尝试上网搜索以找到答案","383":"/sealdice-manual-next/deploy/newbie_question.html#记住你做了什么","384":"/sealdice-manual-next/deploy/newbie_question.html#提问时-你该这样做","385":"/sealdice-manual-next/deploy/newbie_question.html#清晰说明你的意图和-或困难","386":"/sealdice-manual-next/deploy/newbie_question.html#描述问题发生前-你做了什么","387":"/sealdice-manual-next/deploy/newbie_question.html#提供问题发生时-程序的日志","388":"/sealdice-manual-next/deploy/newbie_question.html#描述问题发生后-你尝试过的解决方案","389":"/sealdice-manual-next/deploy/newbie_question.html#提供其他有价值的背景信息","390":"/sealdice-manual-next/deploy/newbie_question.html#提问后-你该这样做","391":"/sealdice-manual-next/deploy/newbie_question.html#如果问题解决了","392":"/sealdice-manual-next/deploy/newbie_question.html#如果问题没能解决","393":"/sealdice-manual-next/deploy/newbie_question.html#其他事项","394":"/sealdice-manual-next/deploy/newbie_question.html#保持耐心-对回答问题者表现出友善和配合的态度","395":"/sealdice-manual-next/deploy/newbie_question.html#如果有需要-可以去-github-代码仓库上提交-issue","396":"/sealdice-manual-next/deploy/newbie_question.html#结语","397":"/sealdice-manual-next/deploy/newbie_terms.html#名词-术语速查表","398":"/sealdice-manual-next/deploy/newbie_terms.html#c","399":"/sealdice-manual-next/deploy/newbie_terms.html#cq-码","400":"/sealdice-manual-next/deploy/newbie_terms.html#d","401":"/sealdice-manual-next/deploy/newbie_terms.html#端口","402":"/sealdice-manual-next/deploy/newbie_terms.html#f","403":"/sealdice-manual-next/deploy/newbie_terms.html#服务器","404":"/sealdice-manual-next/deploy/newbie_terms.html#g","405":"/sealdice-manual-next/deploy/newbie_terms.html#工作目录","406":"/sealdice-manual-next/deploy/newbie_terms.html#h","407":"/sealdice-manual-next/deploy/newbie_terms.html#headless","408":"/sealdice-manual-next/deploy/newbie_terms.html#i","409":"/sealdice-manual-next/deploy/newbie_terms.html#ip-与端口","410":"/sealdice-manual-next/deploy/newbie_terms.html#issue","411":"/sealdice-manual-next/deploy/newbie_terms.html#j","412":"/sealdice-manual-next/deploy/newbie_terms.html#json","413":"/sealdice-manual-next/deploy/newbie_terms.html#k","414":"/sealdice-manual-next/deploy/newbie_terms.html#控制台","415":"/sealdice-manual-next/deploy/newbie_terms.html#l","416":"/sealdice-manual-next/deploy/newbie_terms.html#lagrange","417":"/sealdice-manual-next/deploy/newbie_terms.html#linux","418":"/sealdice-manual-next/deploy/newbie_terms.html#liteloader","419":"/sealdice-manual-next/deploy/newbie_terms.html#log","420":"/sealdice-manual-next/deploy/newbie_terms.html#m","421":"/sealdice-manual-next/deploy/newbie_terms.html#命令行","422":"/sealdice-manual-next/deploy/newbie_terms.html#命令行界面","423":"/sealdice-manual-next/deploy/newbie_terms.html#命令提示符","424":"/sealdice-manual-next/deploy/newbie_terms.html#n","425":"/sealdice-manual-next/deploy/newbie_terms.html#napcatqq","426":"/sealdice-manual-next/deploy/newbie_terms.html#ntqq","427":"/sealdice-manual-next/deploy/newbie_terms.html#q","428":"/sealdice-manual-next/deploy/newbie_terms.html#qqnt","429":"/sealdice-manual-next/deploy/newbie_terms.html#r","430":"/sealdice-manual-next/deploy/newbie_terms.html#日志","431":"/sealdice-manual-next/deploy/newbie_terms.html#s","432":"/sealdice-manual-next/deploy/newbie_terms.html#数据序列化语言","433":"/sealdice-manual-next/deploy/newbie_terms.html#shell","434":"/sealdice-manual-next/deploy/newbie_terms.html#t","435":"/sealdice-manual-next/deploy/newbie_terms.html#toml","436":"/sealdice-manual-next/deploy/newbie_terms.html#w","437":"/sealdice-manual-next/deploy/newbie_terms.html#无头","438":"/sealdice-manual-next/deploy/newbie_terms.html#webui","439":"/sealdice-manual-next/deploy/newbie_terms.html#windows-terminal","440":"/sealdice-manual-next/deploy/newbie_terms.html#windows-终端","441":"/sealdice-manual-next/deploy/newbie_terms.html#y","442":"/sealdice-manual-next/deploy/newbie_terms.html#yaml","443":"/sealdice-manual-next/deploy/newbie_terms.html#z","444":"/sealdice-manual-next/deploy/newbie_terms.html#终端","445":"/sealdice-manual-next/deploy/platform-dingtalk.html#钉钉","446":"/sealdice-manual-next/deploy/platform-dingtalk.html#钉钉支持","447":"/sealdice-manual-next/deploy/platform-discord.html#discord","448":"/sealdice-manual-next/deploy/platform-discord.html#获取-token","449":"/sealdice-manual-next/deploy/platform-discord.html#连接海豹","450":"/sealdice-manual-next/deploy/platform-discord.html#邀请海豹","451":"/sealdice-manual-next/deploy/platform-dodo.html#dodo","452":"/sealdice-manual-next/deploy/platform-dodo.html#建立应用","453":"/sealdice-manual-next/deploy/platform-dodo.html#获取-client-id-和-bot-token","454":"/sealdice-manual-next/deploy/platform-dodo.html#连接海豹","455":"/sealdice-manual-next/deploy/platform-dodo.html#邀请海豹","456":"/sealdice-manual-next/deploy/platform-kook.html#kook","457":"/sealdice-manual-next/deploy/platform-kook.html#获取-token","458":"/sealdice-manual-next/deploy/platform-kook.html#连接海豹","459":"/sealdice-manual-next/deploy/platform-kook.html#邀请海豹","460":"/sealdice-manual-next/deploy/platform-minecraft.html#minecraft","461":"/sealdice-manual-next/deploy/platform-minecraft.html#minecraft-支持","462":"/sealdice-manual-next/deploy/platform-minecraft.html#架设-minecraft-服务端","463":"/sealdice-manual-next/deploy/platform-minecraft.html#获取服务端核心","464":"/sealdice-manual-next/deploy/platform-minecraft.html#启动服务端","465":"/sealdice-manual-next/deploy/platform-minecraft.html#放入-sealdice-minecraft-插件","466":"/sealdice-manual-next/deploy/platform-minecraft.html#海豹核心与-minecraft-服务端连接","467":"/sealdice-manual-next/deploy/platform-minecraft.html#sealdice-minecraft-插件的使用","468":"/sealdice-manual-next/deploy/platform-minecraft.html#指令","469":"/sealdice-manual-next/deploy/platform-minecraft.html#sealdice-文本","470":"/sealdice-manual-next/deploy/platform-minecraft.html#sealport-端口","471":"/sealdice-manual-next/deploy/platform-minecraft.html#权限","472":"/sealdice-manual-next/deploy/platform-minecraft.html#sealdice-admin","473":"/sealdice-manual-next/deploy/platform-qq-docker.html#qq-docker-中的海豹","474":"/sealdice-manual-next/deploy/platform-qq-docker.html#通过-docker-compose-同时部署海豹与-lagrange","475":"/sealdice-manual-next/deploy/platform-qq-docker.html#创建-docker-compose-yml","476":"/sealdice-manual-next/deploy/platform-qq-docker.html#首次启动容器","477":"/sealdice-manual-next/deploy/platform-qq-docker.html#lagrange-容器配置","478":"/sealdice-manual-next/deploy/platform-qq-docker.html#海豹连接-lagrange","479":"/sealdice-manual-next/deploy/platform-qq-docker.html#更新海豹容器或-lagrange-容器","480":"/sealdice-manual-next/deploy/platform-qq-docker.html#连接到宿主机上的-qq-后端","481":"/sealdice-manual-next/deploy/platform-qq-docker.html#保持容器与宿主机网络隔离","482":"/sealdice-manual-next/deploy/platform-qq-docker.html#配置容器使用宿主机网络","483":"/sealdice-manual-next/deploy/platform-qq.html#qq","484":"/sealdice-manual-next/deploy/platform-qq.html#前言","485":"/sealdice-manual-next/deploy/platform-qq.html#有关-qq-平台机器人的说明","486":"/sealdice-manual-next/deploy/platform-qq.html#对接引导","487":"/sealdice-manual-next/deploy/platform-qq.html#内置客户端","488":"/sealdice-manual-next/deploy/platform-qq.html#lagrange","489":"/sealdice-manual-next/deploy/platform-qq.html#准备-lagrange","490":"/sealdice-manual-next/deploy/platform-qq.html#运行-lagrange","491":"/sealdice-manual-next/deploy/platform-qq.html#海豹连接-lagrange","492":"/sealdice-manual-next/deploy/platform-qq.html#lagrange-配置文件","493":"/sealdice-manual-next/deploy/platform-qq.html#llonebot","494":"/sealdice-manual-next/deploy/platform-qq.html#安装-llonebot","495":"/sealdice-manual-next/deploy/platform-qq.html#配置海豹","496":"/sealdice-manual-next/deploy/platform-qq.html#napcatqq","497":"/sealdice-manual-next/deploy/platform-qq.html#下载-napcatqq","498":"/sealdice-manual-next/deploy/platform-qq.html#启动-napcatqq","499":"/sealdice-manual-next/deploy/platform-qq.html#海豹连接","500":"/sealdice-manual-next/deploy/platform-qq.html#chronocat","501":"/sealdice-manual-next/deploy/platform-qq.html#chronocat-satori-协议","502":"/sealdice-manual-next/deploy/platform-qq.html#官方机器人","503":"/sealdice-manual-next/deploy/platform-qq.html#尝试一下","504":"/sealdice-manual-next/deploy/platform-qq.html#获取连接所需信息","505":"/sealdice-manual-next/deploy/platform-qq.html#连接海豹","506":"/sealdice-manual-next/deploy/platform-qq.html#使用海豹","507":"/sealdice-manual-next/deploy/platform-slack.html#slack","508":"/sealdice-manual-next/deploy/platform-slack.html#slack-支持","509":"/sealdice-manual-next/deploy/platform-slack.html#获取-token","510":"/sealdice-manual-next/deploy/platform-slack.html#app-token","511":"/sealdice-manual-next/deploy/platform-slack.html#bot-token","512":"/sealdice-manual-next/deploy/platform-slack.html#连接海豹","513":"/sealdice-manual-next/deploy/platform-telegram.html#telegram","514":"/sealdice-manual-next/deploy/platform-telegram.html#获取-token","515":"/sealdice-manual-next/deploy/platform-telegram.html#连接海豹","516":"/sealdice-manual-next/deploy/quick-start.html#快速开始","517":"/sealdice-manual-next/deploy/quick-start.html#获取海豹","518":"/sealdice-manual-next/deploy/quick-start.html#启动","519":"/sealdice-manual-next/deploy/quick-start.html#连接平台","520":"/sealdice-manual-next/deploy/quick-start.html#安装为系统服务-可选","521":"/sealdice-manual-next/deploy/special_feature.html#特色功能","522":"/sealdice-manual-next/deploy/special_feature.html#指令兼容性","523":"/sealdice-manual-next/deploy/special_feature.html#易于部署和使用","524":"/sealdice-manual-next/deploy/special_feature.html#极少的资源占用","525":"/sealdice-manual-next/deploy/special_feature.html#强自定义","526":"/sealdice-manual-next/deploy/special_feature.html#人工智能鸽子","527":"/sealdice-manual-next/deploy/special_feature.html#强大的查询功能","528":"/sealdice-manual-next/deploy/special_feature.html#通用特化支持","529":"/sealdice-manual-next/deploy/special_feature.html#代替他人检定-操作他人属性","530":"/sealdice-manual-next/deploy/special_feature.html#coc-特化支持","531":"/sealdice-manual-next/deploy/special_feature.html#属性同义词","532":"/sealdice-manual-next/deploy/special_feature.html#默认技能等级","533":"/sealdice-manual-next/deploy/special_feature.html#支持-scb-指令","534":"/sealdice-manual-next/deploy/special_feature.html#d-d-特化支持","535":"/sealdice-manual-next/deploy/special_feature.html#属性同义词-1","536":"/sealdice-manual-next/deploy/special_feature.html#优势骰劣势骰","537":"/sealdice-manual-next/deploy/special_feature.html#属性调整值和熟练自动计算","538":"/sealdice-manual-next/deploy/special_feature.html#临时属性","539":"/sealdice-manual-next/deploy/special_feature.html#法术位支持","540":"/sealdice-manual-next/deploy/special_feature.html#死亡豁免","541":"/sealdice-manual-next/deploy/special_feature.html#休息","542":"/sealdice-manual-next/deploy/special_feature.html#可以实时编辑的跑团日志","543":"/sealdice-manual-next/deploy/special_feature.html#是纯净骰-也是娱乐骰","544":"/sealdice-manual-next/deploy/special_feature.html#更强的指令支持","545":"/sealdice-manual-next/deploy/special_feature.html#跨平台","546":"/sealdice-manual-next/deploy/special_feature.html#trpg-规则支持列表","547":"/sealdice-manual-next/deploy/transfer.html#迁移","548":"/sealdice-manual-next/deploy/transfer.html#相同平台间迁移","549":"/sealdice-manual-next/deploy/transfer.html#跨平台迁移","550":"/sealdice-manual-next/deploy/transfer.html#linux-服务器间跨架构迁移-arm64-→-amd64","551":"/sealdice-manual-next/deploy/transfer.html#迁移数据到手机","552":"/sealdice-manual-next/#海豹核心","553":"/sealdice-manual-next/#开始使用","554":"/sealdice-manual-next/#更多","555":"/sealdice-manual-next/use/attribute_alias.html#属性同义词","556":"/sealdice-manual-next/use/attribute_alias.html#概念说明","557":"/sealdice-manual-next/use/attribute_alias.html#同义词表","558":"/sealdice-manual-next/use/coc7.html#克苏鲁的呼唤-7-版","559":"/sealdice-manual-next/use/coc7.html#st-操作人物卡","560":"/sealdice-manual-next/use/coc7.html#st-help-获取帮助信息","561":"/sealdice-manual-next/use/coc7.html#列出属性","562":"/sealdice-manual-next/use/coc7.html#删除属性","563":"/sealdice-manual-next/use/coc7.html#设定属性值","564":"/sealdice-manual-next/use/coc7.html#更新属性值","565":"/sealdice-manual-next/use/coc7.html#设定计算表达式","566":"/sealdice-manual-next/use/coc7.html#导出属性值","567":"/sealdice-manual-next/use/coc7.html#代骰","568":"/sealdice-manual-next/use/coc7.html#ra-rc-检定","569":"/sealdice-manual-next/use/coc7.html#进行检定","570":"/sealdice-manual-next/use/coc7.html#多轮检定","571":"/sealdice-manual-next/use/coc7.html#要求一定难度的检定","572":"/sealdice-manual-next/use/coc7.html#奖励骰和惩罚骰","573":"/sealdice-manual-next/use/coc7.html#代骰-1","574":"/sealdice-manual-next/use/coc7.html#以上功能可以组合使用","575":"/sealdice-manual-next/use/coc7.html#rah-rch-暗中检定","576":"/sealdice-manual-next/use/coc7.html#代骰-2","577":"/sealdice-manual-next/use/coc7.html#rav-rcv-对抗检定","578":"/sealdice-manual-next/use/coc7.html#使用相同技能对抗","579":"/sealdice-manual-next/use/coc7.html#使用不同技能对抗","580":"/sealdice-manual-next/use/coc7.html#指定两个其他人对抗","581":"/sealdice-manual-next/use/coc7.html#sc-理智检定","582":"/sealdice-manual-next/use/coc7.html#指定损失的理智","583":"/sealdice-manual-next/use/coc7.html#简略写法","584":"/sealdice-manual-next/use/coc7.html#奖励骰和惩罚骰-1","585":"/sealdice-manual-next/use/coc7.html#代骰-3","586":"/sealdice-manual-next/use/coc7.html#ti-li-疯狂发作症状","587":"/sealdice-manual-next/use/coc7.html#en-技能成长","588":"/sealdice-manual-next/use/coc7.html#进行技能成长","589":"/sealdice-manual-next/use/coc7.html#指定成长值","590":"/sealdice-manual-next/use/coc7.html#coc-生成随机属性-制卡","591":"/sealdice-manual-next/use/coc7.html#setcoc-设置房规","592":"/sealdice-manual-next/use/coc7.html#显示当前房规","593":"/sealdice-manual-next/use/coc7.html#列出可用房规","594":"/sealdice-manual-next/use/coc7.html#设定房规","595":"/sealdice-manual-next/use/core.html#核心指令","596":"/sealdice-manual-next/use/core.html#master-骰主指令","597":"/sealdice-manual-next/use/core.html#ban-黑白名单指令","598":"/sealdice-manual-next/use/core.html#bot-骰子管理","599":"/sealdice-manual-next/use/core.html#ext-扩展管理","600":"/sealdice-manual-next/use/core.html#set-骰子面数管理","601":"/sealdice-manual-next/use/core.html#r-骰点","602":"/sealdice-manual-next/use/core.html#常用示例","603":"/sealdice-manual-next/use/core.html#多轮骰点","604":"/sealdice-manual-next/use/core.html#在骰点中使用属性值","605":"/sealdice-manual-next/use/core.html#奖励骰与惩罚骰","606":"/sealdice-manual-next/use/core.html#优势骰与劣势骰","607":"/sealdice-manual-next/use/core.html#fvtt-骰点兼容","608":"/sealdice-manual-next/use/core.html#fate-命运骰","609":"/sealdice-manual-next/use/core.html#wod-骰点","610":"/sealdice-manual-next/use/core.html#双十字骰点","611":"/sealdice-manual-next/use/core.html#混合运算","612":"/sealdice-manual-next/use/core.html#rh-暗骰","613":"/sealdice-manual-next/use/core.html#rx-rxh-特殊骰点","614":"/sealdice-manual-next/use/core.html#nn-角色名设定","615":"/sealdice-manual-next/use/core.html#pc-角色卡管理","616":"/sealdice-manual-next/use/core.html#find-词条查询指令","617":"/sealdice-manual-next/use/core.html#指定默认查询分组","618":"/sealdice-manual-next/use/core.html#全文搜索","619":"/sealdice-manual-next/use/core.html#快速文档查找","620":"/sealdice-manual-next/use/core.html#致谢","621":"/sealdice-manual-next/use/core.html#help-帮助指令","622":"/sealdice-manual-next/use/core.html#set-设定默认骰子面数-设定游戏系统","623":"/sealdice-manual-next/use/core.html#botlist-机器人列表","624":"/sealdice-manual-next/use/deck_and_reply.html#牌堆-自定义回复","625":"/sealdice-manual-next/use/deck_and_reply.html#draw-抽牌-管理牌堆","626":"/sealdice-manual-next/use/deck_and_reply.html#信息查询","627":"/sealdice-manual-next/use/deck_and_reply.html#抽牌","628":"/sealdice-manual-next/use/deck_and_reply.html#牌堆管理","629":"/sealdice-manual-next/use/deck_and_reply.html#reply-管理自定义回复","630":"/sealdice-manual-next/use/dnd5e.html#龙与地下城-5e","631":"/sealdice-manual-next/use/dnd5e.html#dnd-dndx-生成随机属性-制卡","632":"/sealdice-manual-next/use/dnd5e.html#ri-先攻设置","633":"/sealdice-manual-next/use/dnd5e.html#init-先攻列表","634":"/sealdice-manual-next/use/dnd5e.html#st-操作角色卡","635":"/sealdice-manual-next/use/dnd5e.html#st-help-获取帮助信息","636":"/sealdice-manual-next/use/dnd5e.html#列出属性","637":"/sealdice-manual-next/use/dnd5e.html#删除属性","638":"/sealdice-manual-next/use/dnd5e.html#更新属性值","639":"/sealdice-manual-next/use/dnd5e.html#代骰","640":"/sealdice-manual-next/use/dnd5e.html#rc-检定","641":"/sealdice-manual-next/use/dnd5e.html#代骰-1","642":"/sealdice-manual-next/use/dnd5e.html#奇妙运用","643":"/sealdice-manual-next/use/dnd5e.html#buff-临时属性","644":"/sealdice-manual-next/use/dnd5e.html#代骰-2","645":"/sealdice-manual-next/use/dnd5e.html#ss-法术位-spell-slots","646":"/sealdice-manual-next/use/dnd5e.html#代骰-3","647":"/sealdice-manual-next/use/dnd5e.html#cast-使用法术位","648":"/sealdice-manual-next/use/dnd5e.html#代骰-4","649":"/sealdice-manual-next/use/dnd5e.html#longrest-长休","650":"/sealdice-manual-next/use/dnd5e.html#代骰-5","651":"/sealdice-manual-next/use/dnd5e.html#ds-死亡豁免","652":"/sealdice-manual-next/use/dnd5e.html#代骰-6","653":"/sealdice-manual-next/use/faq.html#常见问题","654":"/sealdice-manual-next/use/faq.html#为啥海豹不理我","655":"/sealdice-manual-next/use/faq.html#可以关闭暗骰吗","656":"/sealdice-manual-next/use/faq.html#退群指令","657":"/sealdice-manual-next/use/faq.html#登录服务器开浏览器使用好麻烦-能远程直接访问-webui-吗","658":"/sealdice-manual-next/use/faq.html#在服务器上登录时说「需要在同一-wifi-下扫码」怎么办","659":"/sealdice-manual-next/use/faq.html#_1-首选-让手机跟服务器真的处于同一个网络","660":"/sealdice-manual-next/use/faq.html#_2-本机上完成扫码登录-然后将登录过的配置文件覆盖到服务器上","661":"/sealdice-manual-next/use/faq.html#at-其他骰子做检定的时候-海豹也会回应-怎么办","662":"/sealdice-manual-next/use/faq.html#为啥好像反应慢一拍","663":"/sealdice-manual-next/use/faq.html#我希望在我的骰子进群或者被踢出时通知我","664":"/sealdice-manual-next/use/faq.html#支持-qq-频道吗","665":"/sealdice-manual-next/use/faq.html#怎么同时运行多个海豹","666":"/sealdice-manual-next/use/faq.html#windows-系统","667":"/sealdice-manual-next/use/faq.html#如果你想在-windows-系统指定端口-需要一点操作","668":"/sealdice-manual-next/use/faq.html#除-android-外的其他系统","669":"/sealdice-manual-next/use/faq.html#我机器上启动非常慢-而且托盘点不出来右键菜单","670":"/sealdice-manual-next/use/faq.html#能在手机上搭建吗","671":"/sealdice-manual-next/use/faq.html#我是-master-怎么帮人取出-log","672":"/sealdice-manual-next/use/faq.html#我忘了-webui-密码","673":"/sealdice-manual-next/use/fun.html#功能","674":"/sealdice-manual-next/use/fun.html#jrrp-今日人品","675":"/sealdice-manual-next/use/fun.html#gugu-人工智能鸽子","676":"/sealdice-manual-next/use/fun.html#jsr-不重复骰点","677":"/sealdice-manual-next/use/fun.html#drl-骰池抽取","678":"/sealdice-manual-next/use/fun.html#text-文本模板测试","679":"/sealdice-manual-next/use/fun.html#send-向骰主发送消息-回复消息","680":"/sealdice-manual-next/use/fun.html#welcome-新人入群欢迎","681":"/sealdice-manual-next/use/fun.html#ping-指令响应测试","682":"/sealdice-manual-next/use/fun.html#alias-定义快捷指令-使用快捷指令","683":"/sealdice-manual-next/use/fun.html#额外-trpg-规则支持","684":"/sealdice-manual-next/use/fun.html#ww-wod-规则骰点","685":"/sealdice-manual-next/use/fun.html#dx-双重十字规则骰点","686":"/sealdice-manual-next/use/fun.html#ek-共鸣性怪异规则骰点","687":"/sealdice-manual-next/use/fun.html#ekgen-共鸣性怪异规则属性生成","688":"/sealdice-manual-next/use/fun.html#rsr-暗影狂奔规则骰点","689":"/sealdice-manual-next/use/introduce.html#基础概念","690":"/sealdice-manual-next/use/introduce.html#什么是骰子","691":"/sealdice-manual-next/use/introduce.html#获取和使用","692":"/sealdice-manual-next/use/introduce.html#指令回复","693":"/sealdice-manual-next/use/introduce.html#指令前缀","694":"/sealdice-manual-next/use/introduce.html#指令名","695":"/sealdice-manual-next/use/introduce.html#指令参数","696":"/sealdice-manual-next/use/introduce.html#指令标志","697":"/sealdice-manual-next/use/introduce.html#自定义回复","698":"/sealdice-manual-next/use/log.html#日志","699":"/sealdice-manual-next/use/log.html#log-跑团日志","700":"/sealdice-manual-next/use/log.html#记录日志","701":"/sealdice-manual-next/use/log.html#数据统计","702":"/sealdice-manual-next/use/log.html#管理日志","703":"/sealdice-manual-next/use/log.html#骰主代取-log","704":"/sealdice-manual-next/use/log.html#ob-旁观","705":"/sealdice-manual-next/use/log.html#sn-自动群名片","706":"/sealdice-manual-next/use/log.html#预设模板","707":"/sealdice-manual-next/use/log.html#扩展规则","708":"/sealdice-manual-next/use/log.html#自定义模板","709":"/sealdice-manual-next/use/log.html#关闭自动修改","710":"/sealdice-manual-next/use/log.html#hiy-数据统计","711":"/sealdice-manual-next/use/other_rules.html#其它规则支持","712":"/sealdice-manual-next/use/other_rules.html#绿色三角洲-delta-green","713":"/sealdice-manual-next/use/other_rules.html#黑暗世界-world-of-darkness","714":"/sealdice-manual-next/use/other_rules.html#双重十字-double-cross","715":"/sealdice-manual-next/use/other_rules.html#暗影狂奔-shadowrun","716":"/sealdice-manual-next/use/other_rules.html#共鸣性怪异-emoklore","717":"/sealdice-manual-next/use/other_rules.html#更多规则","718":"/sealdice-manual-next/use/quick-start.html#快速上手","719":"/sealdice-manual-next/use/quick-start.html#常用指令速查","720":"/sealdice-manual-next/use/quick-start.html#通常流程","721":"/sealdice-manual-next/use/quick-start.html#秘密团","722":"/sealdice-manual-next/use/quick-start.html#进行-coc-游戏","723":"/sealdice-manual-next/use/quick-start.html#创作角色卡","724":"/sealdice-manual-next/use/quick-start.html#理智检定-san-check","725":"/sealdice-manual-next/use/quick-start.html#抽取疯狂症状","726":"/sealdice-manual-next/use/quick-start.html#技能成长","727":"/sealdice-manual-next/use/quick-start.html#进行-d-d-游戏","728":"/sealdice-manual-next/use/quick-start.html#创作角色卡-1","729":"/sealdice-manual-next/use/quick-start.html#设定先攻值","730":"/sealdice-manual-next/use/quick-start.html#设定临时属性","731":"/sealdice-manual-next/use/quick-start.html#法术位","732":"/sealdice-manual-next/use/quick-start.html#长休","733":"/sealdice-manual-next/use/quick-start.html#死亡豁免","734":"/sealdice-manual-next/use/story.html#故事","735":"/sealdice-manual-next/use/story.html#name-随机名字","736":"/sealdice-manual-next/use/story.html#namednd-随机-dnd-名字","737":"/sealdice-manual-next/use/story.html#who-随机排列顺序","738":"/sealdice-manual-next/use/story.html#modu-魔都模组查询"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[1,1,11],"2":[1,1,9],"3":[1,1,11],"4":[1,1,8],"5":[1,1,3],"6":[4,1,36],"7":[1,5,14],"8":[2,6,52],"9":[1,6,62],"10":[2,5,8],"11":[1,7,39],"12":[1,7,85],"13":[2,5,1],"14":[4,7,3],"15":[4,7,16],"16":[5,7,13],"17":[5,7,14],"18":[5,7,8],"19":[5,7,6],"20":[7,7,8],"21":[3,7,13],"22":[10,7,34],"23":[3,1,32],"24":[1,1,114],"25":[1,2,13],"26":[3,2,48],"27":[3,2,39],"28":[2,2,42],"29":[1,2,54],"30":[1,2,7],"31":[2,1,41],"32":[2,3,119],"33":[2,3,23],"34":[2,3,23],"35":[1,3,27],"36":[1,1,40],"37":[2,1,1],"38":[3,3,19],"39":[1,3,9],"40":[1,1,9],"41":[1,2,26],"42":[2,2,24],"43":[1,2,30],"44":[4,2,28],"45":[5,2,12],"46":[1,1,76],"47":[1,1,13],"48":[3,1,12],"49":[3,1,10],"50":[3,1,17],"51":[3,1,16],"52":[3,1,13],"53":[3,1,7],"54":[1,1,5],"55":[1,1,1],"56":[1,2,26],"57":[1,2,12],"58":[1,3,34],"59":[1,3,15],"60":[1,3,5],"61":[1,1,5],"62":[1,1,27],"63":[1,1,31],"64":[2,2,10],"65":[2,2,45],"66":[2,2,28],"67":[2,2,32],"68":[2,2,29],"69":[2,2,51],"70":[2,2,29],"71":[2,2,13],"72":[2,2,19],"73":[1,2,7],"74":[3,3,4],"75":[3,3,6],"76":[2,2,3],"77":[2,2,32],"78":[2,2,28],"79":[2,2,28],"80":[1,1,99],"81":[1,1,1],"82":[1,2,23],"83":[1,3,38],"84":[1,2,31],"85":[1,2,19],"86":[1,3,30],"87":[1,2,10],"88":[1,3,49],"89":[1,2,84],"90":[1,2,35],"91":[1,2,23],"92":[2,1,1],"93":[1,3,54],"94":[1,3,25],"95":[2,4,22],"96":[1,4,79],"97":[1,1,12],"98":[3,1,66],"99":[4,4,56],"100":[3,1,65],"101":[1,1,38],"102":[1,1,40],"103":[1,1,1],"104":[2,2,44],"105":[2,2,57],"106":[1,2,10],"107":[1,1,6],"108":[1,2,14],"109":[1,2,27],"110":[3,3,61],"111":[2,3,19],"112":[1,1,1],"113":[1,2,55],"114":[1,2,41],"115":[2,2,39],"116":[2,2,74],"117":[4,2,8],"118":[1,2,1],"119":[1,2,23],"120":[1,1,5],"121":[1,1,17],"122":[3,1,72],"123":[1,1,15],"124":[1,1,12],"125":[2,1,43],"126":[2,1,291],"127":[3,2,14],"128":[2,2,19],"129":[2,2,29],"130":[2,2,34],"131":[1,2,23],"132":[1,2,6],"133":[1,2,8],"134":[1,2,16],"135":[3,2,20],"136":[1,2,30],"137":[2,2,62],"138":[3,2,24],"139":[3,2,9],"140":[3,2,19],"141":[2,2,37],"142":[2,2,53],"143":[1,1,1],"144":[1,1,58],"145":[1,1,7],"146":[1,2,79],"147":[1,2,53],"148":[1,2,80],"149":[1,2,134],"150":[1,1,32],"151":[2,2,93],"152":[1,1,61],"153":[2,2,74],"154":[3,1,1],"155":[1,4,27],"156":[1,4,17],"157":[3,4,39],"158":[3,4,13],"159":[4,4,127],"160":[1,1,37],"161":[2,2,98],"162":[2,2,158],"163":[1,1,44],"164":[1,1,3],"165":[1,1,89],"166":[1,1,95],"167":[1,1,127],"168":[3,1,83],"169":[2,1,43],"170":[1,1,65],"171":[2,2,119],"172":[3,1,22],"173":[1,3,15],"174":[1,3,43],"175":[3,3,38],"176":[3,3,40],"177":[1,1,28],"178":[2,1,26],"179":[1,1,29],"180":[1,1,20],"181":[1,1,38],"182":[1,1,1],"183":[4,2,34],"184":[6,2,19],"185":[3,2,13],"186":[1,1,29],"187":[1,1,114],"188":[1,1,82],"189":[1,1,1],"190":[3,2,30],"191":[1,2,23],"192":[1,1,1],"193":[1,2,20],"194":[1,2,61],"195":[1,2,26],"196":[1,1,32],"197":[1,1,9],"198":[1,1,1],"199":[4,2,22],"200":[1,1,12],"201":[1,1,162],"202":[1,1,38],"203":[1,1,23],"204":[1,1,1],"205":[1,2,11],"206":[1,2,7],"207":[1,2,24],"208":[1,2,1],"209":[2,3,14],"210":[2,3,30],"211":[2,3,8],"212":[1,1,24],"213":[1,1,27],"214":[1,1,40],"215":[1,1,8],"216":[1,1,14],"217":[1,1,8],"218":[1,2,8],"219":[1,2,15],"220":[1,1,11],"221":[1,1,5],"222":[2,1,13],"223":[1,1,1],"224":[2,2,7],"225":[1,2,4],"226":[1,2,9],"227":[1,1,20],"228":[1,1,3],"229":[2,1,4],"230":[2,3,9],"231":[2,3,12],"232":[1,3,17],"233":[1,1,7],"234":[1,2,8],"235":[1,2,9],"236":[2,2,10],"237":[1,1,5],"238":[1,1,11],"239":[1,1,18],"240":[4,1,9],"241":[4,1,7],"242":[1,1,18],"243":[1,1,9],"244":[1,1,23],"245":[1,1,29],"246":[2,1,7],"247":[1,1,24],"248":[1,1,29],"249":[1,1,5],"250":[2,1,16],"251":[1,1,7],"252":[1,2,26],"253":[1,2,28],"254":[1,1,32],"255":[1,1,8],"256":[3,1,6],"257":[2,1,8],"258":[1,1,5],"259":[2,1,18],"260":[1,1,9],"261":[3,1,30],"262":[2,1,18],"263":[1,1,3],"264":[1,2,14],"265":[1,2,15],"266":[2,1,4],"267":[1,1,5],"268":[2,1,17],"269":[2,1,33],"270":[1,3,58],"271":[1,3,25],"272":[2,3,20],"273":[1,1,5],"274":[1,2,4],"275":[4,3,34],"276":[3,3,10],"277":[3,3,16],"278":[3,3,34],"279":[1,2,1],"280":[3,3,22],"281":[3,3,20],"282":[3,1,25],"283":[1,1,15],"284":[1,1,13],"285":[1,1,1],"286":[2,2,4],"287":[1,1,9],"288":[1,1,5],"289":[2,1,5],"290":[1,1,23],"291":[2,1,14],"292":[2,1,38],"293":[1,3,19],"294":[1,3,9],"295":[1,3,5],"296":[1,3,5],"297":[2,1,4],"298":[2,1,7],"299":[2,2,13],"300":[3,2,11],"301":[4,2,16],"302":[1,5,20],"303":[1,5,14],"304":[1,5,10],"305":[1,5,7],"306":[4,2,7],"307":[4,2,6],"308":[1,1,5],"309":[2,1,24],"310":[2,1,20],"311":[1,3,38],"312":[2,3,13],"313":[1,3,12],"314":[1,3,19],"315":[1,1,20],"316":[1,2,34],"317":[1,3,48],"318":[1,3,16],"319":[1,2,23],"320":[1,3,10],"321":[1,1,25],"322":[1,1,20],"323":[1,1,27],"324":[1,1,16],"325":[1,1,4],"326":[2,1,52],"327":[1,1,34],"328":[1,1,2],"329":[1,1,2],"330":[1,1,2],"331":[1,1,3],"332":[1,1,5],"333":[2,1,4],"334":[1,1,4],"335":[1,1,1],"336":[2,2,8],"337":[4,2,30],"338":[1,1,30],"339":[1,1,20],"340":[1,1,9],"341":[1,1,3],"342":[1,1,27],"343":[1,1,32],"344":[1,1,22],"345":[1,1,12],"346":[1,1,31],"347":[1,1,14],"348":[1,1,1],"349":[1,2,16],"350":[1,2,12],"351":[1,2,9],"352":[1,1,9],"353":[1,1,53],"354":[1,2,18],"355":[3,1,26],"356":[3,1,70],"357":[1,1,14],"358":[3,1,42],"359":[3,1,3],"360":[10,4,7],"361":[2,4,37],"362":[3,1,17],"363":[5,1,39],"364":[5,1,28],"365":[1,1,15],"366":[1,1,12],"367":[1,1,17],"368":[1,1,84],"369":[1,1,59],"370":[1,1,1],"371":[1,2,42],"372":[1,2,42],"373":[2,2,19],"374":[1,1,9],"375":[1,1,14],"376":[1,1,16],"377":[1,1,12],"378":[2,1,1],"379":[1,3,23],"380":[1,3,8],"381":[1,3,4],"382":[1,3,6],"383":[1,3,9],"384":[2,1,8],"385":[2,3,24],"386":[2,3,51],"387":[2,3,50],"388":[2,3,23],"389":[1,3,27],"390":[2,1,1],"391":[2,3,10],"392":[2,3,18],"393":[1,1,1],"394":[2,2,15],"395":[5,2,20],"396":[1,1,10],"397":[2,1,14],"398":[1,2,1],"399":[2,3,12],"400":[1,2,1],"401":[1,3,4],"402":[1,2,1],"403":[1,3,41],"404":[1,2,1],"405":[1,3,23],"406":[1,2,1],"407":[1,3,3],"408":[1,2,1],"409":[2,3,91],"410":[1,3,21],"411":[1,2,1],"412":[1,3,6],"413":[1,2,1],"414":[1,3,17],"415":[1,2,1],"416":[1,3,33],"417":[1,3,17],"418":[1,3,17],"419":[1,3,3],"420":[1,2,1],"421":[1,3,26],"422":[1,3,6],"423":[1,3,36],"424":[1,2,1],"425":[1,3,18],"426":[1,3,18],"427":[1,2,1],"428":[1,3,3],"429":[1,2,1],"430":[1,3,33],"431":[1,2,1],"432":[1,3,13],"433":[1,3,42],"434":[1,2,1],"435":[1,3,6],"436":[1,2,1],"437":[1,3,7],"438":[1,3,23],"439":[2,3,4],"440":[2,3,30],"441":[1,2,1],"442":[1,3,6],"443":[1,2,1],"444":[1,3,22],"445":[1,1,3],"446":[1,1,5],"447":[1,1,5],"448":[2,1,34],"449":[1,1,18],"450":[1,1,36],"451":[1,1,5],"452":[1,1,6],"453":[6,1,18],"454":[1,1,15],"455":[1,1,27],"456":[1,1,6],"457":[2,1,16],"458":[1,1,21],"459":[1,1,18],"460":[1,1,5],"461":[2,1,11],"462":[3,1,44],"463":[1,3,32],"464":[1,3,94],"465":[4,3,44],"466":[3,1,41],"467":[3,1,1],"468":[1,4,2],"469":[3,5,3],"470":[3,5,5],"471":[1,4,2],"472":[2,5,5],"473":[4,1,15],"474":[5,4,11],"475":[4,9,88],"476":[1,9,15],"477":[2,9,47],"478":[2,9,25],"479":[3,9,10],"480":[3,4,23],"481":[1,6,74],"482":[1,6,28],"483":[1,1,5],"484":[1,1,1],"485":[3,2,70],"486":[1,2,71],"487":[1,1,69],"488":[1,1,31],"489":[2,2,50],"490":[2,2,157],"491":[2,2,24],"492":[2,2,71],"493":[1,1,23],"494":[2,2,4],"495":[1,2,42],"496":[1,1,23],"497":[2,2,5],"498":[2,2,107],"499":[1,2,21],"500":[1,1,31],"501":[3,2,6],"502":[1,1,30],"503":[1,2,3],"504":[1,2,22],"505":[1,2,7],"506":[1,2,5],"507":[1,1,5],"508":[2,1,4],"509":[2,1,24],"510":[2,3,36],"511":[2,3,42],"512":[1,1,12],"513":[1,1,5],"514":[2,1,27],"515":[1,1,18],"516":[1,1,17],"517":[1,1,83],"518":[1,1,125],"519":[1,1,16],"520":[3,1,61],"521":[1,1,3],"522":[1,1,20],"523":[1,1,26],"524":[1,1,27],"525":[1,1,8],"526":[1,1,10],"527":[1,1,13],"528":[1,1,1],"529":[3,2,1],"530":[2,1,1],"531":[1,3,4],"532":[1,3,6],"533":[4,3,5],"534":[3,1,1],"535":[1,4,4],"536":[1,4,18],"537":[1,4,1],"538":[1,4,1],"539":[1,4,1],"540":[1,4,1],"541":[1,4,1],"542":[1,1,13],"543":[2,1,50],"544":[1,1,51],"545":[1,1,8],"546":[2,1,34],"547":[1,1,11],"548":[1,1,7],"549":[1,1,14],"550":[6,2,15],"551":[1,1,43],"552":[1,1,9],"553":[1,1,16],"554":[2,1,25],"555":[1,1,8],"556":[1,1,103],"557":[1,1,39],"558":[3,1,30],"559":[3,3,18],"560":[4,6,3],"561":[1,6,8],"562":[1,6,9],"563":[1,6,19],"564":[1,6,12],"565":[1,6,27],"566":[1,6,6],"567":[1,6,26],"568":[4,3,22],"569":[1,7,31],"570":[1,7,21],"571":[1,7,25],"572":[1,7,29],"573":[1,7,17],"574":[1,7,22],"575":[4,3,12],"576":[1,7,23],"577":[4,3,24],"578":[1,7,25],"579":[1,7,32],"580":[1,7,16],"581":[3,3,6],"582":[1,6,18],"583":[1,6,9],"584":[1,6,9],"585":[1,6,15],"586":[4,3,23],"587":[3,3,9],"588":[1,6,19],"589":[1,6,20],"590":[4,3,52],"591":[3,3,2],"592":[1,6,4],"593":[1,6,41],"594":[1,6,6],"595":[1,1,6],"596":[3,1,62],"597":[3,1,43],"598":[3,1,22],"599":[3,1,57],"600":[3,1,20],"601":[3,1,8],"602":[1,4,45],"603":[1,4,9],"604":[1,4,11],"605":[1,4,34],"606":[1,4,34],"607":[2,4,24],"608":[2,4,20],"609":[2,4,84],"610":[1,4,54],"611":[1,4,65],"612":[3,1,24],"613":[4,1,38],"614":[3,1,29],"615":[3,1,45],"616":[3,1,65],"617":[1,4,16],"618":[1,4,15],"619":[1,4,2],"620":[1,4,26],"621":[3,1,11],"622":[4,1,37],"623":[3,1,29],"624":[2,1,12],"625":[4,2,8],"626":[1,6,60],"627":[1,6,38],"628":[1,6,7],"629":[3,2,11],"630":[2,1,23],"631":[5,2,50],"632":[3,2,55],"633":[3,2,42],"634":[3,2,1],"635":[4,5,1],"636":[1,5,13],"637":[1,5,10],"638":[1,5,105],"639":[1,5,4],"640":[3,2,42],"641":[1,5,4],"642":[1,5,22],"643":[3,2,55],"644":[1,5,5],"645":[5,2,49],"646":[1,7,4],"647":[3,2,15],"648":[1,5,4],"649":[3,2,17],"650":[1,5,4],"651":[3,2,59],"652":[1,5,4],"653":[1,1,6],"654":[2,1,30],"655":[2,1,5],"656":[2,1,10],"657":[5,1,47],"658":[5,1,6],"659":[4,6,126],"660":[4,6,15],"661":[4,1,14],"662":[1,1,15],"663":[1,1,22],"664":[4,1,18],"665":[2,1,1],"666":[2,3,18],"667":[4,5,22],"668":[3,3,19],"669":[3,1,12],"670":[2,1,5],"671":[5,1,6],"672":[3,1,10],"673":[1,1,15],"674":[3,1,9],"675":[3,1,13],"676":[3,1,21],"677":[3,1,32],"678":[3,1,8],"679":[4,1,38],"680":[3,1,17],"681":[3,1,40],"682":[5,1,52],"683":[3,1,1],"684":[4,4,53],"685":[3,4,9],"686":[3,4,8],"687":[3,4,6],"688":[3,4,21],"689":[1,1,11],"690":[2,1,24],"691":[1,1,50],"692":[1,2,6],"693":[1,3,20],"694":[1,3,32],"695":[1,3,70],"696":[1,3,23],"697":[1,2,12],"698":[1,1,5],"699":[3,1,1],"700":[1,4,46],"701":[1,4,11],"702":[1,4,37],"703":[2,4,29],"704":[3,1,11],"705":[3,1,9],"706":[1,4,22],"707":[1,4,9],"708":[1,4,19],"709":[1,4,3],"710":[3,1,2],"711":[1,1,8],"712":[3,1,28],"713":[4,1,19],"714":[3,1,17],"715":[2,1,12],"716":[2,1,12],"717":[1,1,9],"718":[1,1,7],"719":[1,1,134],"720":[1,1,47],"721":[1,2,15],"722":[3,2,1],"723":[1,5,6],"724":[3,5,12],"725":[1,5,7],"726":[1,5,6],"727":[4,2,1],"728":[1,6,6],"729":[1,6,15],"730":[1,6,9],"731":[1,6,8],"732":[1,6,3],"733":[1,6,6],"734":[1,1,5],"735":[3,1,17],"736":[5,1,22],"737":[3,1,7],"738":[3,1,22]},"averageFieldLength":[1.7686062246278749,2.317997293640052,23.97699594046006],"storedFields":{"0":{"title":"关于","titles":[]},"1":{"title":"官方站点","titles":["关于"]},"2":{"title":"投喂","titles":["关于"]},"3":{"title":"手册贡献者","titles":["关于"]},"4":{"title":"开源","titles":["关于"]},"5":{"title":"归档","titles":[]},"6":{"title":"Go-cqhttp / Mirai","titles":["归档"]},"7":{"title":"使用签名服务","titles":["归档","Go-cqhttp / Mirai"]},"8":{"title":"怎么使用签名服务?","titles":["归档","Go-cqhttp / Mirai","使用签名服务"]},"9":{"title":"如何搭建签名服务","titles":["归档","Go-cqhttp / Mirai","使用签名服务"]},"10":{"title":"手动抓取 ticket","titles":["归档","Go-cqhttp / Mirai"]},"11":{"title":"前置工作","titles":["归档","Go-cqhttp / Mirai","手动抓取 ticket"]},"12":{"title":"分离部署登录流程","titles":["归档","Go-cqhttp / Mirai","手动抓取 ticket"]},"13":{"title":"GoCqhttp FAQ","titles":["归档","Go-cqhttp / Mirai"]},"14":{"title":"1. 出现 Code 1","titles":["归档","Go-cqhttp / Mirai","GoCqhttp FAQ"]},"15":{"title":"2. QSign 闪退","titles":["归档","Go-cqhttp / Mirai","GoCqhttp FAQ"]},"16":{"title":"3. 出现 Code 45","titles":["归档","Go-cqhttp / Mirai","GoCqhttp FAQ"]},"17":{"title":"4. 出现 Code 235","titles":["归档","Go-cqhttp / Mirai","GoCqhttp FAQ"]},"18":{"title":"5. 出现 Code 237","titles":["归档","Go-cqhttp / Mirai","GoCqhttp FAQ"]},"19":{"title":"5. 如何启动多个 qsign?(仅当需要备用签名或不同协议版本的时候有此需求)","titles":["归档","Go-cqhttp / Mirai","GoCqhttp FAQ"]},"20":{"title":"6. 什么是 go-cqhttp?(通常简称 gocq)","titles":["归档","Go-cqhttp / Mirai","GoCqhttp FAQ"]},"21":{"title":"7. 什么是签名?","titles":["归档","Go-cqhttp / Mirai","GoCqhttp FAQ"]},"22":{"title":"8. 对于 SignServer(即 Start_Qsign.bat,俗称签名服务器)崩溃闪退可能的一种情况","titles":["归档","Go-cqhttp / Mirai","GoCqhttp FAQ"]},"23":{"title":"Chronocat Red 协议","titles":["归档"]},"24":{"title":"Shamrock","titles":["归档"]},"25":{"title":"准备模拟器","titles":["归档","Shamrock"]},"26":{"title":"获取 Root 权限","titles":["归档","Shamrock"]},"27":{"title":"安装 LSPosed 模块","titles":["归档","Shamrock"]},"28":{"title":"安装 Shamrock","titles":["归档","Shamrock"]},"29":{"title":"开放模拟器端口供海豹对接","titles":["归档","Shamrock"]},"30":{"title":"连接海豹","titles":["归档","Shamrock"]},"31":{"title":"Shamrock LSPatch","titles":["归档"]},"32":{"title":"安装 Shizuku","titles":["归档","Shamrock LSPatch"]},"33":{"title":"安装 LSPatch","titles":["归档","Shamrock LSPatch"]},"34":{"title":"安装并激活 Shamrock","titles":["归档","Shamrock LSPatch"]},"35":{"title":"对接海豹","titles":["归档","Shamrock LSPatch"]},"36":{"title":"参与项目","titles":[]},"37":{"title":"如何参与项目?","titles":["参与项目"]},"38":{"title":"Bug 反馈、功能建议","titles":["参与项目","如何参与项目?"]},"39":{"title":"提交修改","titles":["参与项目","如何参与项目?"]},"40":{"title":"贡献指南","titles":["参与项目"]},"41":{"title":"整体流程","titles":["参与项目","贡献指南"]},"42":{"title":"对目标仓库进行 fork","titles":["参与项目","贡献指南"]},"43":{"title":"切出工作分支","titles":["参与项目","贡献指南"]},"44":{"title":"发起 Pull Request 请求","titles":["参与项目","贡献指南"]},"45":{"title":"保持 fork 仓库与上游同步(可选)","titles":["参与项目","贡献指南"]},"46":{"title":"许可协议","titles":[]},"47":{"title":"从零开始","titles":[]},"48":{"title":"0. 背景知识","titles":["从零开始"]},"49":{"title":"1. 部署海豹","titles":["从零开始"]},"50":{"title":"2. 连接平台","titles":["从零开始"]},"51":{"title":"3. 熟悉海豹核心的功能","titles":["从零开始"]},"52":{"title":"4. 熟悉指令","titles":["从零开始"]},"53":{"title":"5. 进阶自定义","titles":["从零开始"]},"54":{"title":"编写复杂文案","titles":[]},"55":{"title":"示例","titles":["编写复杂文案"]},"56":{"title":"根据骰点结果展示不同文案","titles":["编写复杂文案","示例"]},"57":{"title":"多套文案的实现","titles":["编写复杂文案","示例"]},"58":{"title":"切换命令实现","titles":["编写复杂文案","示例","多套文案的实现"]},"59":{"title":"文案调整","titles":["编写复杂文案","示例","多套文案的实现"]},"60":{"title":"展示","titles":["编写复杂文案","示例","多套文案的实现"]},"61":{"title":"编写牌堆","titles":[]},"62":{"title":"概览","titles":["编写牌堆"]},"63":{"title":"语法快速入门","titles":["编写牌堆"]},"64":{"title":"TOML 注释","titles":["编写牌堆","语法快速入门"]},"65":{"title":"TOML 键值对","titles":["编写牌堆","语法快速入门"]},"66":{"title":"TOML 键名","titles":["编写牌堆","语法快速入门"]},"67":{"title":"TOML 字符串","titles":["编写牌堆","语法快速入门"]},"68":{"title":"TOML 表","titles":["编写牌堆","语法快速入门"]},"69":{"title":"TOML 数组","titles":["编写牌堆","语法快速入门"]},"70":{"title":"JSON 键值","titles":["编写牌堆","语法快速入门"]},"71":{"title":"JSON 数组","titles":["编写牌堆","语法快速入门"]},"72":{"title":"JSON 对象","titles":["编写牌堆","语法快速入门"]},"73":{"title":"注释","titles":["编写牌堆","语法快速入门"]},"74":{"title":"1. 行内注释","titles":["编写牌堆","语法快速入门","注释"]},"75":{"title":"2. 注释块","titles":["编写牌堆","语法快速入门","注释"]},"76":{"title":"YAML 注释","titles":["编写牌堆","语法快速入门"]},"77":{"title":"YAML 键值","titles":["编写牌堆","语法快速入门"]},"78":{"title":"YAML 对象","titles":["编写牌堆","语法快速入门"]},"79":{"title":"YAML 数组","titles":["编写牌堆","语法快速入门"]},"80":{"title":"基础牌堆编写","titles":["编写牌堆"]},"81":{"title":"牌堆语法","titles":["编写牌堆"]},"82":{"title":"一个项中抽取其他项","titles":["编写牌堆","牌堆语法"]},"83":{"title":"放回抽取与不放回抽取","titles":["编写牌堆","牌堆语法","一个项中抽取其他项"]},"84":{"title":"插入掷骰表达式","titles":["编写牌堆","牌堆语法"]},"85":{"title":"权重","titles":["编写牌堆","牌堆语法"]},"86":{"title":"权重与不放回抽取","titles":["编写牌堆","牌堆语法","权重"]},"87":{"title":"发送图片等","titles":["编写牌堆","牌堆语法"]},"88":{"title":"牌堆打包","titles":["编写牌堆","牌堆语法","发送图片等"]},"89":{"title":"牌组的隐藏和导出控制","titles":["编写牌堆","牌堆语法"]},"90":{"title":"配置牌堆更新","titles":["编写牌堆","牌堆语法"]},"91":{"title":"插入海豹内置脚本语言","titles":["编写牌堆","牌堆语法"]},"92":{"title":"TOML 牌堆的更多功能","titles":["编写牌堆"]},"93":{"title":"更多牌组设置","titles":["编写牌堆","TOML 牌堆的更多功能"]},"94":{"title":"云端内容","titles":["编写牌堆","TOML 牌堆的更多功能"]},"95":{"title":"API 接口要求","titles":["编写牌堆","TOML 牌堆的更多功能","云端内容"]},"96":{"title":"牌堆配置云端内容","titles":["编写牌堆","TOML 牌堆的更多功能","云端内容"]},"97":{"title":"编写帮助文档","titles":[]},"98":{"title":"创建 JSON 格式的帮助文档","titles":["编写帮助文档"]},"99":{"title":"示例文档:塔罗牌(节选)","titles":["编写帮助文档","创建 JSON 格式的帮助文档"]},"100":{"title":"创建 EXCEL 格式的帮助文档","titles":["编写帮助文档"]},"101":{"title":"编写自定义回复","titles":[]},"102":{"title":"第一个自定义回复","titles":["编写自定义回复"]},"103":{"title":"触发条件","titles":["编写自定义回复"]},"104":{"title":"文本匹配:模糊匹配","titles":["编写自定义回复","触发条件"]},"105":{"title":"文本匹配:正则匹配","titles":["编写自定义回复","触发条件"]},"106":{"title":"表达式为真","titles":["编写自定义回复","触发条件"]},"107":{"title":"回复结果","titles":["编写自定义回复"]},"108":{"title":"嵌入脚本语言","titles":["编写自定义回复","回复结果"]},"109":{"title":"执行块","titles":["编写自定义回复","回复结果"]},"110":{"title":"示例:使用 if","titles":["编写自定义回复","回复结果","执行块"]},"111":{"title":"示例:变量运算","titles":["编写自定义回复","回复结果","执行块"]},"112":{"title":"更多示例片段","titles":["编写自定义回复"]},"113":{"title":"牌堆与自定义回复的结合","titles":["编写自定义回复","更多示例片段"]},"114":{"title":"多行回复的错误使用","titles":["编写自定义回复","更多示例片段"]},"115":{"title":"限定每人/每群每天一次","titles":["编写自定义回复","更多示例片段"]},"116":{"title":"条件语句嵌套条件算符,多条件条件语句","titles":["编写自定义回复","更多示例片段"]},"117":{"title":"同时使用前缀和后缀匹配,以匹配 AxxxxxxxB 型文本","titles":["编写自定义回复","更多示例片段"]},"118":{"title":"随机看图","titles":["编写自定义回复","更多示例片段"]},"119":{"title":"单人模组","titles":["编写自定义回复","更多示例片段"]},"120":{"title":"编写敏感词库","titles":[]},"121":{"title":"创建文本格式的敏感词库","titles":["编写敏感词库"]},"122":{"title":"创建 TOML 格式的敏感词库","titles":["编写敏感词库"]},"123":{"title":"进阶介绍","titles":[]},"124":{"title":"了解海豹语","titles":["进阶介绍"]},"125":{"title":"用什么编写?","titles":["进阶介绍"]},"126":{"title":"API 列表","titles":[]},"127":{"title":"replyGroup replyPerson replyToSender","titles":["API 列表"]},"128":{"title":"memberBan memberKick","titles":["API 列表"]},"129":{"title":"format formatTmpl","titles":["API 列表"]},"130":{"title":"getCtxProxyFirst getCtxProxyAtPos","titles":["API 列表"]},"131":{"title":"vars","titles":["API 列表"]},"132":{"title":"ext","titles":["API 列表"]},"133":{"title":"coc","titles":["API 列表"]},"134":{"title":"deck","titles":["API 列表"]},"135":{"title":"自定义 TRPG 规则相关","titles":["API 列表"]},"136":{"title":"其他","titles":["API 列表"]},"137":{"title":"ctx 的内容","titles":["API 列表"]},"138":{"title":"ctx.group 的内容","titles":["API 列表"]},"139":{"title":"ctx.player 的内容","titles":["API 列表"]},"140":{"title":"ctx.endPoint 的内容","titles":["API 列表"]},"141":{"title":"msg 的内容","titles":["API 列表"]},"142":{"title":"cmdArgs 的内容","titles":["API 列表"]},"143":{"title":"常见用法示例","titles":[]},"144":{"title":"创建和注册扩展","titles":["常见用法示例"]},"145":{"title":"自定义指令","titles":["常见用法示例"]},"146":{"title":"创建指令","titles":["常见用法示例","自定义指令"]},"147":{"title":"指令参数与返回值","titles":["常见用法示例","自定义指令"]},"148":{"title":"指令核心执行流程","titles":["常见用法示例","自定义指令"]},"149":{"title":"注册指令","titles":["常见用法示例","自定义指令"]},"150":{"title":"抽取牌堆","titles":["常见用法示例"]},"151":{"title":"示例代码:抽取牌堆","titles":["常见用法示例","抽取牌堆"]},"152":{"title":"权限识别","titles":["常见用法示例"]},"153":{"title":"示例代码:权限识别","titles":["常见用法示例","权限识别"]},"154":{"title":"黑名单 / 信任名单操作","titles":["常见用法示例"]},"155":{"title":"黑名单操作的函数","titles":["常见用法示例","黑名单 / 信任名单操作"]},"156":{"title":"信任用户名单","titles":["常见用法示例","黑名单 / 信任名单操作"]},"157":{"title":"获取黑名单 / 信任名单列表","titles":["常见用法示例","黑名单 / 信任名单操作"]},"158":{"title":"获取用户在黑名单 / 信任名单中的信息","titles":["常见用法示例","黑名单 / 信任名单操作"]},"159":{"title":"示例代码:黑名单 / 信任名单操作","titles":["常见用法示例","黑名单 / 信任名单操作"]},"160":{"title":"存取数据","titles":["常见用法示例"]},"161":{"title":"示例代码:投喂插件","titles":["常见用法示例","存取数据"]},"162":{"title":"示例代码:群内安价收集","titles":["常见用法示例","存取数据"]},"163":{"title":"数据处理模板","titles":["常见用法示例"]},"164":{"title":"读取玩家或群组数据","titles":["常见用法示例"]},"165":{"title":"编写暗骰指令","titles":["常见用法示例"]},"166":{"title":"编写代骰指令","titles":["常见用法示例"]},"167":{"title":"网络请求","titles":["常见用法示例"]},"168":{"title":"自定义 COC 规则","titles":["常见用法示例"]},"169":{"title":"补充:使用非指令关键词","titles":["常见用法示例"]},"170":{"title":"注册插件配置项","titles":["常见用法示例"]},"171":{"title":"示例代码:注册配置项","titles":["常见用法示例","注册插件配置项"]},"172":{"title":"编写新的 TRPG 规则","titles":[]},"173":{"title":"角色属性","titles":["编写新的 TRPG 规则"]},"174":{"title":"游戏规则","titles":["编写新的 TRPG 规则"]},"175":{"title":"规则模板是什么?有什么功能?","titles":["编写新的 TRPG 规则"]},"176":{"title":"那么,要怎么做?","titles":["编写新的 TRPG 规则"]},"177":{"title":"插件的工程化编写","titles":[]},"178":{"title":"Clone 或下载模板项目","titles":["插件的工程化编写"]},"179":{"title":"补全信息","titles":["插件的工程化编写"]},"180":{"title":"使用和编译","titles":["插件的工程化编写"]},"181":{"title":"目录结构","titles":["插件的工程化编写"]},"182":{"title":"其他问题","titles":["插件的工程化编写"]},"183":{"title":"我能在项目中引用 npm 包吗?","titles":["插件的工程化编写","其他问题"]},"184":{"title":"我想使用的 API 没有被自动提示,直接使用被提示错误,如何解决?","titles":["插件的工程化编写","其他问题"]},"185":{"title":"默认输出的插件代码是压缩过的,如何尽量保持产物的可读性?","titles":["插件的工程化编写","其他问题"]},"186":{"title":"前言","titles":[]},"187":{"title":"快速开始","titles":["前言"]},"188":{"title":"插件元数据","titles":["前言"]},"189":{"title":"插件编写","titles":["前言"]},"190":{"title":"单 JS 文件编写插件","titles":["前言","插件编写"]},"191":{"title":"插件的工程化编写","titles":["前言","插件编写"]},"192":{"title":"扩展依赖","titles":["前言"]},"193":{"title":"依赖其他扩展","titles":["前言","扩展依赖"]},"194":{"title":"指定依赖的格式","titles":["前言","扩展依赖"]},"195":{"title":"依赖多个扩展","titles":["前言","扩展依赖"]},"196":{"title":"目标海豹版本","titles":["前言"]},"197":{"title":"一些有帮助的资源","titles":["前言"]},"198":{"title":"其他问题","titles":["前言"]},"199":{"title":"我不会 JavaScript,海豹支持其他编程语言编写插件吗?","titles":["前言","其他问题"]},"200":{"title":"内置脚本语言","titles":[]},"201":{"title":"变量","titles":["内置脚本语言"]},"202":{"title":"数据类型和赋值","titles":["内置脚本语言"]},"203":{"title":"语句","titles":["内置脚本语言"]},"204":{"title":"运算符","titles":["内置脚本语言"]},"205":{"title":"数学运算","titles":["内置脚本语言","运算符"]},"206":{"title":"逻辑运算","titles":["内置脚本语言","运算符"]},"207":{"title":"骰子算符","titles":["内置脚本语言","运算符"]},"208":{"title":"条件算符","titles":["内置脚本语言","运算符"]},"209":{"title":"条件算符 ?","titles":["内置脚本语言","运算符","条件算符"]},"210":{"title":"多重条件算符 ? ,","titles":["内置脚本语言","运算符","条件算符"]},"211":{"title":"三目运算符 ? :","titles":["内置脚本语言","运算符","条件算符"]},"212":{"title":"条件语句","titles":["内置脚本语言"]},"213":{"title":"备份","titles":[]},"214":{"title":"关于备份","titles":["备份"]},"215":{"title":"手动备份","titles":["备份"]},"216":{"title":"自动备份","titles":["备份"]},"217":{"title":"自动清理","titles":["备份"]},"218":{"title":"配置清理范围","titles":["备份","自动清理"]},"219":{"title":"配置清理时机","titles":["备份","自动清理"]},"220":{"title":"备份列表","titles":["备份"]},"221":{"title":"黑白名单","titles":[]},"222":{"title":"如何设置黑白名单?","titles":["黑白名单"]},"223":{"title":"添加黑白名单","titles":["黑白名单"]},"224":{"title":"UI 手动添加","titles":["黑白名单","添加黑白名单"]},"225":{"title":"指令添加","titles":["黑白名单","添加黑白名单"]},"226":{"title":"自动添加","titles":["黑白名单","添加黑白名单"]},"227":{"title":"黑白名单设置","titles":["黑白名单"]},"228":{"title":"基础设置","titles":[]},"229":{"title":"Master 管理","titles":["基础设置"]},"230":{"title":"Master 解锁码","titles":["基础设置","Master 管理"]},"231":{"title":"Master 列表","titles":["基础设置","Master 管理"]},"232":{"title":"消息通知列表","titles":["基础设置","Master 管理"]},"233":{"title":"邮箱通知","titles":["基础设置"]},"234":{"title":"发件邮箱","titles":["基础设置","邮箱通知"]},"235":{"title":"邮箱密钥","titles":["基础设置","邮箱通知"]},"236":{"title":"SMTP 地址","titles":["基础设置","邮箱通知"]},"237":{"title":"私骰模式","titles":["基础设置"]},"238":{"title":"允许自由开关","titles":["基础设置"]},"239":{"title":"启用戳一戳","titles":["基础设置"]},"240":{"title":"限制 .text 指令","titles":["基础设置"]},"241":{"title":"忽略 .bot 裸指令","titles":["基础设置"]},"242":{"title":"存活确认","titles":["基础设置"]},"243":{"title":"日志记录提示","titles":["基础设置"]},"244":{"title":"刷屏警告","titles":["基础设置"]},"245":{"title":"访问控制","titles":["基础设置"]},"246":{"title":"QQ 频道设置","titles":["基础设置"]},"247":{"title":"加好友验证","titles":["基础设置"]},"248":{"title":"自动退出不活跃群组","titles":["基础设置"]},"249":{"title":"拦截","titles":[]},"250":{"title":"什么是拦截功能?","titles":["拦截"]},"251":{"title":"配置拦截","titles":["拦截"]},"252":{"title":"匹配选项","titles":["拦截","配置拦截"]},"253":{"title":"响应设置","titles":["拦截","配置拦截"]},"254":{"title":"敏感词管理","titles":["拦截"]},"255":{"title":"查看拦截日志","titles":["拦截"]},"256":{"title":"如何让用户/群豁免检查?","titles":["拦截"]},"257":{"title":"如何编写敏感词库?","titles":["拦截"]},"258":{"title":"牌堆","titles":[]},"259":{"title":"牌堆是什么?","titles":["牌堆"]},"260":{"title":"获取牌堆","titles":["牌堆"]},"261":{"title":"怎么上传牌堆到骰子?怎么管理牌堆?","titles":["牌堆"]},"262":{"title":"怎么使用牌堆?","titles":["牌堆"]},"263":{"title":"牌堆更新与云牌堆","titles":["牌堆"]},"264":{"title":"牌堆更新","titles":["牌堆","牌堆更新与云牌堆"]},"265":{"title":"牌堆云端内容","titles":["牌堆","牌堆更新与云牌堆"]},"266":{"title":"如何编写牌堆?","titles":["牌堆"]},"267":{"title":"自定义文案","titles":[]},"268":{"title":"什么是自定义文案?","titles":["自定义文案"]},"269":{"title":"如何修改文案?","titles":["自定义文案"]},"270":{"title":"文案列表","titles":["自定义文案","如何修改文案?"]},"271":{"title":"筛选文案","titles":["自定义文案","如何修改文案?"]},"272":{"title":"文案的导入/导出","titles":["自定义文案","如何修改文案?"]},"273":{"title":"自定义文案组合","titles":["自定义文案"]},"274":{"title":"COC","titles":["自定义文案","自定义文案组合"]},"275":{"title":".ra/rc 检定","titles":["自定义文案","自定义文案组合","COC"]},"276":{"title":".st 属性设置","titles":["自定义文案","自定义文案组合","COC"]},"277":{"title":".sc 理智检定","titles":["自定义文案","自定义文案组合","COC"]},"278":{"title":".en 技能成长","titles":["自定义文案","自定义文案组合","COC"]},"279":{"title":"核心","titles":["自定义文案","自定义文案组合"]},"280":{"title":".r 骰点","titles":["自定义文案","自定义文案组合","核心"]},"281":{"title":".alias 快捷指令","titles":["自定义文案","自定义文案组合","核心"]},"282":{"title":"文案插入图片和 CQ 码","titles":["自定义文案"]},"283":{"title":"文案变量标签","titles":["自定义文案"]},"284":{"title":"在一个文案中使用另一个文案","titles":["自定义文案"]},"285":{"title":"文案常见问题","titles":["自定义文案"]},"286":{"title":"骰子进群和成为好友的问候语是哪个?","titles":["自定义文案","文案常见问题"]},"287":{"title":"更复杂的文案设置","titles":["自定义文案"]},"288":{"title":"帮助文档","titles":[]},"289":{"title":"什么是帮助文档?","titles":["帮助文档"]},"290":{"title":"获取帮助文档","titles":["帮助文档"]},"291":{"title":"如何使用帮助文档?","titles":["帮助文档"]},"292":{"title":"如何管理帮助文档?","titles":["帮助文档"]},"293":{"title":"上传帮助文档","titles":["帮助文档","如何管理帮助文档?"]},"294":{"title":"为分组添加别名","titles":["帮助文档","如何管理帮助文档?"]},"295":{"title":"删除帮助文档","titles":["帮助文档","如何管理帮助文档?"]},"296":{"title":"查看帮助文档词条","titles":["帮助文档","如何管理帮助文档?"]},"297":{"title":"如何编写帮助文档?","titles":["帮助文档"]},"298":{"title":"JavaScript 插件","titles":[]},"299":{"title":"JavaScript 插件是什么","titles":["JavaScript 插件"]},"300":{"title":"获取 JS 插件","titles":["JavaScript 插件"]},"301":{"title":"如何安装和管理 JS 插件?","titles":["JavaScript 插件"]},"302":{"title":"插件列表","titles":["JavaScript 插件","如何安装和管理 JS 插件?"]},"303":{"title":"插件的更新","titles":["JavaScript 插件","如何安装和管理 JS 插件?"]},"304":{"title":"控制台","titles":["JavaScript 插件","如何安装和管理 JS 插件?"]},"305":{"title":"插件设置","titles":["JavaScript 插件","如何安装和管理 JS 插件?"]},"306":{"title":"如何使用 JS 插件?","titles":["JavaScript 插件"]},"307":{"title":"如何编写 JS 插件?","titles":["JavaScript 插件"]},"308":{"title":"自定义回复","titles":[]},"309":{"title":"什么是自定义回复?","titles":["自定义回复"]},"310":{"title":"在哪编写自定义回复?","titles":["自定义回复"]},"311":{"title":"当前回复文件","titles":["自定义回复","在哪编写自定义回复?"]},"312":{"title":"新建/导入自定义回复文件","titles":["自定义回复","在哪编写自定义回复?"]},"313":{"title":"获取自定义回复文件","titles":["自定义回复","在哪编写自定义回复?"]},"314":{"title":"公共条件","titles":["自定义回复","在哪编写自定义回复?"]},"315":{"title":"设置回复项","titles":["自定义回复"]},"316":{"title":"回复项的条件","titles":["自定义回复","设置回复项"]},"317":{"title":"文本匹配","titles":["自定义回复","设置回复项","回复项的条件"]},"318":{"title":"文本长度","titles":["自定义回复","设置回复项","回复项的条件"]},"319":{"title":"回复项的结果","titles":["自定义回复","设置回复项"]},"320":{"title":"回复结果延迟","titles":["自定义回复","设置回复项","回复项的结果"]},"321":{"title":"更复杂的回复","titles":["自定义回复"]},"322":{"title":"辅助工具","titles":[]},"323":{"title":"指令测试","titles":["辅助工具"]},"324":{"title":"资源管理","titles":["辅助工具"]},"325":{"title":"海豹的本地文件","titles":[]},"326":{"title":"SealDice 文件目录树","titles":["海豹的本地文件"]},"327":{"title":"常用文件","titles":["海豹的本地文件"]},"328":{"title":"安卓端文件路径","titles":["海豹的本地文件"]},"329":{"title":"数据库检查和修复","titles":["海豹的本地文件"]},"330":{"title":"数据迁移","titles":["海豹的本地文件"]},"331":{"title":"安卓海豹常见问题","titles":[]},"332":{"title":"安卓端登录","titles":["安卓海豹常见问题"]},"333":{"title":"只有一个设备,但登录需要扫码","titles":["安卓海豹常见问题"]},"334":{"title":"经常掉线","titles":["安卓海豹常见问题"]},"335":{"title":"同时开启两个海豹实例","titles":["安卓海豹常见问题"]},"336":{"title":"方法一:使用系统的双开功能","titles":["安卓海豹常见问题","同时开启两个海豹实例"]},"337":{"title":"方法二:使用 NP 管理器等软件","titles":["安卓海豹常见问题","同时开启两个海豹实例"]},"338":{"title":"海豹文件路径","titles":["安卓海豹常见问题"]},"339":{"title":"发送图片","titles":["安卓海豹常见问题"]},"340":{"title":"如何更新","titles":["安卓海豹常见问题"]},"341":{"title":"电脑海豹转安卓端海豹","titles":["安卓海豹常见问题"]},"342":{"title":"配置安卓端保活","titles":[]},"343":{"title":"授予海豹核心必要权限","titles":["配置安卓端保活"]},"344":{"title":"HyperOS","titles":["配置安卓端保活"]},"345":{"title":"MIUI","titles":["配置安卓端保活"]},"346":{"title":"鸿蒙系统","titles":["配置安卓端保活"]},"347":{"title":"ColorOS","titles":["配置安卓端保活"]},"348":{"title":"通用设置","titles":["配置安卓端保活"]},"349":{"title":"存储权限","titles":["配置安卓端保活","通用设置"]},"350":{"title":"通知权限","titles":["配置安卓端保活","通用设置"]},"351":{"title":"应用内设置","titles":["配置安卓端保活","通用设置"]},"352":{"title":"数据库检查和修复","titles":[]},"353":{"title":"确定问题","titles":["数据库检查和修复"]},"354":{"title":"无法使用命令行","titles":["数据库检查和修复","确定问题"]},"355":{"title":"修复数据库 - 通过回滚备份","titles":["数据库检查和修复"]},"356":{"title":"修复数据库 - 通过数据库修复指令","titles":["数据库检查和修复"]},"357":{"title":"计算机小白常见问题","titles":[]},"358":{"title":"部署海豹核心为什么要解压压缩包?怎么样解压压缩包?","titles":["计算机小白常见问题"]},"359":{"title":"内存不足到底指的是哪里的内存不足?如何解决内存不足?","titles":["计算机小白常见问题"]},"360":{"title":"对于海豹核心的日志界面中「There is not enough space on the disk」的报错","titles":["计算机小白常见问题","内存不足到底指的是哪里的内存不足?如何解决内存不足?"]},"361":{"title":"如果出现莫名其妙的程序中断……","titles":["计算机小白常见问题","内存不足到底指的是哪里的内存不足?如何解决内存不足?"]},"362":{"title":"什么是开源,什么是开源程序?","titles":["计算机小白常见问题"]},"363":{"title":"为什么我在 SealDice 用户群问问题会被要求发送截图?为什么不能拍屏?","titles":["计算机小白常见问题"]},"364":{"title":"什么是 GitHub?怎么提 issue?","titles":["计算机小白常见问题"]},"365":{"title":"如何高效学习","titles":[]},"366":{"title":"前言","titles":["如何高效学习"]},"367":{"title":"掌握语言","titles":["如何高效学习"]},"368":{"title":"寻求资源","titles":["如何高效学习"]},"369":{"title":"高效搜索","titles":["如何高效学习"]},"370":{"title":"实践学习","titles":["如何高效学习"]},"371":{"title":"深度优先学习","titles":["如何高效学习","实践学习"]},"372":{"title":"广度优先学习","titles":["如何高效学习","实践学习"]},"373":{"title":"所以……","titles":["如何高效学习","实践学习"]},"374":{"title":"结语","titles":["如何高效学习"]},"375":{"title":"如何正确提问","titles":[]},"376":{"title":"前言","titles":["如何正确提问"]},"377":{"title":"提问的智慧","titles":["如何正确提问"]},"378":{"title":"提问前,你该这样做","titles":["如何正确提问"]},"379":{"title":"尝试自行排查问题","titles":["如何正确提问","提问前,你该这样做"]},"380":{"title":"尝试阅读本手册以找到答案","titles":["如何正确提问","提问前,你该这样做"]},"381":{"title":"尝试浏览用户群内的信息以找到答案","titles":["如何正确提问","提问前,你该这样做"]},"382":{"title":"尝试上网搜索以找到答案","titles":["如何正确提问","提问前,你该这样做"]},"383":{"title":"记住你做了什么","titles":["如何正确提问","提问前,你该这样做"]},"384":{"title":"提问时,你该这样做","titles":["如何正确提问"]},"385":{"title":"清晰说明你的意图和/或困难","titles":["如何正确提问","提问时,你该这样做"]},"386":{"title":"描述问题发生前,你做了什么","titles":["如何正确提问","提问时,你该这样做"]},"387":{"title":"提供问题发生时,程序的日志","titles":["如何正确提问","提问时,你该这样做"]},"388":{"title":"描述问题发生后,你尝试过的解决方案","titles":["如何正确提问","提问时,你该这样做"]},"389":{"title":"提供其他有价值的背景信息","titles":["如何正确提问","提问时,你该这样做"]},"390":{"title":"提问后,你该这样做","titles":["如何正确提问"]},"391":{"title":"如果问题解决了……","titles":["如何正确提问","提问后,你该这样做"]},"392":{"title":"如果问题没能解决……","titles":["如何正确提问","提问后,你该这样做"]},"393":{"title":"其他事项","titles":["如何正确提问"]},"394":{"title":"保持耐心,对回答问题者表现出友善和配合的态度","titles":["如何正确提问","其他事项"]},"395":{"title":"如果有需要,可以去 GitHub 代码仓库上提交 issue","titles":["如何正确提问","其他事项"]},"396":{"title":"结语","titles":["如何正确提问"]},"397":{"title":"名词/术语速查表","titles":[]},"398":{"title":"C","titles":["名词/术语速查表"]},"399":{"title":"CQ 码","titles":["名词/术语速查表","C"]},"400":{"title":"D","titles":["名词/术语速查表"]},"401":{"title":"端口","titles":["名词/术语速查表","D"]},"402":{"title":"F","titles":["名词/术语速查表"]},"403":{"title":"服务器","titles":["名词/术语速查表","F"]},"404":{"title":"G","titles":["名词/术语速查表"]},"405":{"title":"工作目录","titles":["名词/术语速查表","G"]},"406":{"title":"H","titles":["名词/术语速查表"]},"407":{"title":"Headless","titles":["名词/术语速查表","H"]},"408":{"title":"I","titles":["名词/术语速查表"]},"409":{"title":"IP 与端口","titles":["名词/术语速查表","I"]},"410":{"title":"Issue","titles":["名词/术语速查表","I"]},"411":{"title":"J","titles":["名词/术语速查表"]},"412":{"title":"JSON","titles":["名词/术语速查表","J"]},"413":{"title":"K","titles":["名词/术语速查表"]},"414":{"title":"控制台","titles":["名词/术语速查表","K"]},"415":{"title":"L","titles":["名词/术语速查表"]},"416":{"title":"Lagrange","titles":["名词/术语速查表","L"]},"417":{"title":"Linux","titles":["名词/术语速查表","L"]},"418":{"title":"LiteLoader","titles":["名词/术语速查表","L"]},"419":{"title":"Log","titles":["名词/术语速查表","L"]},"420":{"title":"M","titles":["名词/术语速查表"]},"421":{"title":"命令行","titles":["名词/术语速查表","M"]},"422":{"title":"命令行界面","titles":["名词/术语速查表","M"]},"423":{"title":"命令提示符","titles":["名词/术语速查表","M"]},"424":{"title":"N","titles":["名词/术语速查表"]},"425":{"title":"NapCatQQ","titles":["名词/术语速查表","N"]},"426":{"title":"NTQQ","titles":["名词/术语速查表","N"]},"427":{"title":"Q","titles":["名词/术语速查表"]},"428":{"title":"QQNT","titles":["名词/术语速查表","Q"]},"429":{"title":"R","titles":["名词/术语速查表"]},"430":{"title":"日志","titles":["名词/术语速查表","R"]},"431":{"title":"S","titles":["名词/术语速查表"]},"432":{"title":"数据序列化语言","titles":["名词/术语速查表","S"]},"433":{"title":"Shell","titles":["名词/术语速查表","S"]},"434":{"title":"T","titles":["名词/术语速查表"]},"435":{"title":"TOML","titles":["名词/术语速查表","T"]},"436":{"title":"W","titles":["名词/术语速查表"]},"437":{"title":"无头","titles":["名词/术语速查表","W"]},"438":{"title":"WebUI","titles":["名词/术语速查表","W"]},"439":{"title":"Windows Terminal","titles":["名词/术语速查表","W"]},"440":{"title":"Windows 终端","titles":["名词/术语速查表","W"]},"441":{"title":"Y","titles":["名词/术语速查表"]},"442":{"title":"YAML","titles":["名词/术语速查表","Y"]},"443":{"title":"Z","titles":["名词/术语速查表"]},"444":{"title":"终端","titles":["名词/术语速查表","Z"]},"445":{"title":"钉钉","titles":[]},"446":{"title":"钉钉支持","titles":["钉钉"]},"447":{"title":"Discord","titles":[]},"448":{"title":"获取 Token","titles":["Discord"]},"449":{"title":"连接海豹","titles":["Discord"]},"450":{"title":"邀请海豹","titles":["Discord"]},"451":{"title":"DoDo","titles":[]},"452":{"title":"建立应用","titles":["DoDo"]},"453":{"title":"获取 Client ID 和 Bot Token","titles":["DoDo"]},"454":{"title":"连接海豹","titles":["DoDo"]},"455":{"title":"邀请海豹","titles":["DoDo"]},"456":{"title":"KOOK","titles":[]},"457":{"title":"获取 Token","titles":["KOOK"]},"458":{"title":"连接海豹","titles":["KOOK"]},"459":{"title":"邀请海豹","titles":["KOOK"]},"460":{"title":"Minecraft","titles":[]},"461":{"title":"Minecraft 支持","titles":["Minecraft"]},"462":{"title":"架设 Minecraft 服务端","titles":["Minecraft"]},"463":{"title":"获取服务端核心","titles":["Minecraft","架设 Minecraft 服务端"]},"464":{"title":"启动服务端","titles":["Minecraft","架设 Minecraft 服务端"]},"465":{"title":"放入 sealdice-minecraft 插件","titles":["Minecraft","架设 Minecraft 服务端"]},"466":{"title":"海豹核心与 Minecraft 服务端连接","titles":["Minecraft"]},"467":{"title":"sealdice-minecraft 插件的使用","titles":["Minecraft"]},"468":{"title":"指令","titles":["Minecraft","sealdice-minecraft 插件的使用"]},"469":{"title":"sealdice [文本]","titles":["Minecraft","sealdice-minecraft 插件的使用","指令"]},"470":{"title":"sealport [端口]","titles":["Minecraft","sealdice-minecraft 插件的使用","指令"]},"471":{"title":"权限","titles":["Minecraft","sealdice-minecraft 插件的使用"]},"472":{"title":"sealdice.admin","titles":["Minecraft","sealdice-minecraft 插件的使用","权限"]},"473":{"title":"QQ - Docker 中的海豹","titles":[]},"474":{"title":"通过 docker compose 同时部署海豹与 Lagrange","titles":["QQ - Docker 中的海豹"]},"475":{"title":"创建 docker-compose.yml","titles":["QQ - Docker 中的海豹","通过 docker compose 同时部署海豹与 Lagrange"]},"476":{"title":"首次启动容器","titles":["QQ - Docker 中的海豹","通过 docker compose 同时部署海豹与 Lagrange"]},"477":{"title":"Lagrange 容器配置","titles":["QQ - Docker 中的海豹","通过 docker compose 同时部署海豹与 Lagrange"]},"478":{"title":"海豹连接 Lagrange","titles":["QQ - Docker 中的海豹","通过 docker compose 同时部署海豹与 Lagrange"]},"479":{"title":"更新海豹容器或 Lagrange 容器","titles":["QQ - Docker 中的海豹","通过 docker compose 同时部署海豹与 Lagrange"]},"480":{"title":"连接到宿主机上的 QQ 后端","titles":["QQ - Docker 中的海豹"]},"481":{"title":"保持容器与宿主机网络隔离","titles":["QQ - Docker 中的海豹","连接到宿主机上的 QQ 后端"]},"482":{"title":"配置容器使用宿主机网络","titles":["QQ - Docker 中的海豹","连接到宿主机上的 QQ 后端"]},"483":{"title":"QQ","titles":[]},"484":{"title":"前言","titles":["QQ"]},"485":{"title":"有关 QQ 平台机器人的说明","titles":["QQ","前言"]},"486":{"title":"对接引导","titles":["QQ","前言"]},"487":{"title":"内置客户端","titles":["QQ"]},"488":{"title":"Lagrange","titles":["QQ"]},"489":{"title":"准备 Lagrange","titles":["QQ","Lagrange"]},"490":{"title":"运行 Lagrange","titles":["QQ","Lagrange"]},"491":{"title":"海豹连接 Lagrange","titles":["QQ","Lagrange"]},"492":{"title":"Lagrange 配置文件","titles":["QQ","Lagrange"]},"493":{"title":"LLOneBot","titles":["QQ"]},"494":{"title":"安装 LLOneBot","titles":["QQ","LLOneBot"]},"495":{"title":"配置海豹","titles":["QQ","LLOneBot"]},"496":{"title":"NapCatQQ","titles":["QQ"]},"497":{"title":"下载 NapCatQQ","titles":["QQ","NapCatQQ"]},"498":{"title":"启动 NapCatQQ","titles":["QQ","NapCatQQ"]},"499":{"title":"海豹连接","titles":["QQ","NapCatQQ"]},"500":{"title":"Chronocat","titles":["QQ"]},"501":{"title":"Chronocat Satori 协议","titles":["QQ","Chronocat"]},"502":{"title":"官方机器人","titles":["QQ"]},"503":{"title":"尝试一下","titles":["QQ","官方机器人"]},"504":{"title":"获取连接所需信息","titles":["QQ","官方机器人"]},"505":{"title":"连接海豹","titles":["QQ","官方机器人"]},"506":{"title":"使用海豹","titles":["QQ","官方机器人"]},"507":{"title":"Slack","titles":[]},"508":{"title":"Slack 支持","titles":["Slack"]},"509":{"title":"获取 Token","titles":["Slack"]},"510":{"title":"APP Token","titles":["Slack","获取 Token"]},"511":{"title":"Bot Token","titles":["Slack","获取 Token"]},"512":{"title":"连接海豹","titles":["Slack"]},"513":{"title":"Telegram","titles":[]},"514":{"title":"获取 Token","titles":["Telegram"]},"515":{"title":"连接海豹","titles":["Telegram"]},"516":{"title":"快速开始","titles":[]},"517":{"title":"获取海豹","titles":["快速开始"]},"518":{"title":"启动","titles":["快速开始"]},"519":{"title":"连接平台","titles":["快速开始"]},"520":{"title":"安装为系统服务(可选)","titles":["快速开始"]},"521":{"title":"特色功能","titles":[]},"522":{"title":"指令兼容性","titles":["特色功能"]},"523":{"title":"易于部署和使用","titles":["特色功能"]},"524":{"title":"极少的资源占用","titles":["特色功能"]},"525":{"title":"强自定义","titles":["特色功能"]},"526":{"title":"人工智能鸽子","titles":["特色功能"]},"527":{"title":"强大的查询功能","titles":["特色功能"]},"528":{"title":"通用特化支持","titles":["特色功能"]},"529":{"title":"代替他人检定 / 操作他人属性","titles":["特色功能","通用特化支持"]},"530":{"title":"CoC 特化支持","titles":["特色功能"]},"531":{"title":"属性同义词","titles":["特色功能","CoC 特化支持"]},"532":{"title":"默认技能等级","titles":["特色功能","CoC 特化支持"]},"533":{"title":"支持 .scb 指令","titles":["特色功能","CoC 特化支持"]},"534":{"title":"D&D 特化支持","titles":["特色功能"]},"535":{"title":"属性同义词","titles":["特色功能","D&D 特化支持"]},"536":{"title":"优势骰劣势骰","titles":["特色功能","D&D 特化支持"]},"537":{"title":"属性调整值和熟练自动计算","titles":["特色功能","D&D 特化支持"]},"538":{"title":"临时属性","titles":["特色功能","D&D 特化支持"]},"539":{"title":"法术位支持","titles":["特色功能","D&D 特化支持"]},"540":{"title":"死亡豁免","titles":["特色功能","D&D 特化支持"]},"541":{"title":"休息","titles":["特色功能","D&D 特化支持"]},"542":{"title":"可以实时编辑的跑团日志","titles":["特色功能"]},"543":{"title":"是纯净骰,也是娱乐骰","titles":["特色功能"]},"544":{"title":"更强的指令支持","titles":["特色功能"]},"545":{"title":"跨平台","titles":["特色功能"]},"546":{"title":"TRPG 规则支持列表","titles":["特色功能"]},"547":{"title":"迁移","titles":[]},"548":{"title":"相同平台间迁移","titles":["迁移"]},"549":{"title":"跨平台迁移","titles":["迁移"]},"550":{"title":"Linux 服务器间跨架构迁移(arm64 → amd64)","titles":["迁移","跨平台迁移"]},"551":{"title":"迁移数据到手机","titles":["迁移"]},"552":{"title":"海豹核心","titles":[]},"553":{"title":"开始使用","titles":[]},"554":{"title":"更多……","titles":[]},"555":{"title":"属性同义词","titles":[]},"556":{"title":"概念说明","titles":["属性同义词"]},"557":{"title":"同义词表","titles":["属性同义词"]},"558":{"title":"克苏鲁的呼唤 7 版","titles":[]},"559":{"title":".st 操作人物卡","titles":["克苏鲁的呼唤 7 版"]},"560":{"title":".st help 获取帮助信息","titles":["克苏鲁的呼唤 7 版",".st 操作人物卡"]},"561":{"title":"列出属性","titles":["克苏鲁的呼唤 7 版",".st 操作人物卡"]},"562":{"title":"删除属性","titles":["克苏鲁的呼唤 7 版",".st 操作人物卡"]},"563":{"title":"设定属性值","titles":["克苏鲁的呼唤 7 版",".st 操作人物卡"]},"564":{"title":"更新属性值","titles":["克苏鲁的呼唤 7 版",".st 操作人物卡"]},"565":{"title":"设定计算表达式","titles":["克苏鲁的呼唤 7 版",".st 操作人物卡"]},"566":{"title":"导出属性值","titles":["克苏鲁的呼唤 7 版",".st 操作人物卡"]},"567":{"title":"代骰","titles":["克苏鲁的呼唤 7 版",".st 操作人物卡"]},"568":{"title":".ra/.rc 检定","titles":["克苏鲁的呼唤 7 版"]},"569":{"title":"进行检定","titles":["克苏鲁的呼唤 7 版",".ra/.rc 检定"]},"570":{"title":"多轮检定","titles":["克苏鲁的呼唤 7 版",".ra/.rc 检定"]},"571":{"title":"要求一定难度的检定","titles":["克苏鲁的呼唤 7 版",".ra/.rc 检定"]},"572":{"title":"奖励骰和惩罚骰","titles":["克苏鲁的呼唤 7 版",".ra/.rc 检定"]},"573":{"title":"代骰","titles":["克苏鲁的呼唤 7 版",".ra/.rc 检定"]},"574":{"title":"以上功能可以组合使用","titles":["克苏鲁的呼唤 7 版",".ra/.rc 检定"]},"575":{"title":".rah/.rch 暗中检定","titles":["克苏鲁的呼唤 7 版"]},"576":{"title":"代骰","titles":["克苏鲁的呼唤 7 版",".rah/.rch 暗中检定"]},"577":{"title":".rav/.rcv 对抗检定","titles":["克苏鲁的呼唤 7 版"]},"578":{"title":"使用相同技能对抗","titles":["克苏鲁的呼唤 7 版",".rav/.rcv 对抗检定"]},"579":{"title":"使用不同技能对抗","titles":["克苏鲁的呼唤 7 版",".rav/.rcv 对抗检定"]},"580":{"title":"指定两个其他人对抗","titles":["克苏鲁的呼唤 7 版",".rav/.rcv 对抗检定"]},"581":{"title":".sc 理智检定","titles":["克苏鲁的呼唤 7 版"]},"582":{"title":"指定损失的理智","titles":["克苏鲁的呼唤 7 版",".sc 理智检定"]},"583":{"title":"简略写法","titles":["克苏鲁的呼唤 7 版",".sc 理智检定"]},"584":{"title":"奖励骰和惩罚骰","titles":["克苏鲁的呼唤 7 版",".sc 理智检定"]},"585":{"title":"代骰","titles":["克苏鲁的呼唤 7 版",".sc 理智检定"]},"586":{"title":".ti/.li 疯狂发作症状","titles":["克苏鲁的呼唤 7 版"]},"587":{"title":".en 技能成长","titles":["克苏鲁的呼唤 7 版"]},"588":{"title":"进行技能成长","titles":["克苏鲁的呼唤 7 版",".en 技能成长"]},"589":{"title":"指定成长值","titles":["克苏鲁的呼唤 7 版",".en 技能成长"]},"590":{"title":".coc 生成随机属性(制卡)","titles":["克苏鲁的呼唤 7 版"]},"591":{"title":".setcoc 设置房规","titles":["克苏鲁的呼唤 7 版"]},"592":{"title":"显示当前房规","titles":["克苏鲁的呼唤 7 版",".setcoc 设置房规"]},"593":{"title":"列出可用房规","titles":["克苏鲁的呼唤 7 版",".setcoc 设置房规"]},"594":{"title":"设定房规","titles":["克苏鲁的呼唤 7 版",".setcoc 设置房规"]},"595":{"title":"核心指令","titles":[]},"596":{"title":".master 骰主指令","titles":["核心指令"]},"597":{"title":".ban 黑白名单指令","titles":["核心指令"]},"598":{"title":".bot 骰子管理","titles":["核心指令"]},"599":{"title":".ext 扩展管理","titles":["核心指令"]},"600":{"title":".set 骰子面数管理","titles":["核心指令"]},"601":{"title":".r 骰点","titles":["核心指令"]},"602":{"title":"常用示例","titles":["核心指令",".r 骰点"]},"603":{"title":"多轮骰点","titles":["核心指令",".r 骰点"]},"604":{"title":"在骰点中使用属性值","titles":["核心指令",".r 骰点"]},"605":{"title":"奖励骰与惩罚骰","titles":["核心指令",".r 骰点"]},"606":{"title":"优势骰与劣势骰","titles":["核心指令",".r 骰点"]},"607":{"title":"fvtt 骰点兼容","titles":["核心指令",".r 骰点"]},"608":{"title":"fate 命运骰","titles":["核心指令",".r 骰点"]},"609":{"title":"WOD 骰点","titles":["核心指令",".r 骰点"]},"610":{"title":"双十字骰点","titles":["核心指令",".r 骰点"]},"611":{"title":"混合运算","titles":["核心指令",".r 骰点"]},"612":{"title":".rh 暗骰","titles":["核心指令"]},"613":{"title":".rx / .rxh 特殊骰点","titles":["核心指令"]},"614":{"title":".nn 角色名设定","titles":["核心指令"]},"615":{"title":".pc 角色卡管理","titles":["核心指令"]},"616":{"title":".find 词条查询指令","titles":["核心指令"]},"617":{"title":"指定默认查询分组","titles":["核心指令",".find 词条查询指令"]},"618":{"title":"全文搜索","titles":["核心指令",".find 词条查询指令"]},"619":{"title":"快速文档查找","titles":["核心指令",".find 词条查询指令"]},"620":{"title":"致谢","titles":["核心指令",".find 词条查询指令"]},"621":{"title":".help 帮助指令","titles":["核心指令"]},"622":{"title":".set 设定默认骰子面数 / 设定游戏系统","titles":["核心指令"]},"623":{"title":".botlist 机器人列表","titles":["核心指令"]},"624":{"title":"牌堆 自定义回复","titles":[]},"625":{"title":".draw 抽牌 / 管理牌堆","titles":["牌堆 自定义回复"]},"626":{"title":"信息查询","titles":["牌堆 自定义回复",".draw 抽牌 / 管理牌堆"]},"627":{"title":"抽牌","titles":["牌堆 自定义回复",".draw 抽牌 / 管理牌堆"]},"628":{"title":"牌堆管理","titles":["牌堆 自定义回复",".draw 抽牌 / 管理牌堆"]},"629":{"title":".reply 管理自定义回复","titles":["牌堆 自定义回复"]},"630":{"title":"龙与地下城 5E","titles":[]},"631":{"title":".dnd / .dndx 生成随机属性(制卡)","titles":["龙与地下城 5E"]},"632":{"title":".ri 先攻设置","titles":["龙与地下城 5E"]},"633":{"title":".init 先攻列表","titles":["龙与地下城 5E"]},"634":{"title":".st 操作角色卡","titles":["龙与地下城 5E"]},"635":{"title":".st help 获取帮助信息","titles":["龙与地下城 5E",".st 操作角色卡"]},"636":{"title":"列出属性","titles":["龙与地下城 5E",".st 操作角色卡"]},"637":{"title":"删除属性","titles":["龙与地下城 5E",".st 操作角色卡"]},"638":{"title":"更新属性值","titles":["龙与地下城 5E",".st 操作角色卡"]},"639":{"title":"代骰","titles":["龙与地下城 5E",".st 操作角色卡"]},"640":{"title":".rc 检定","titles":["龙与地下城 5E"]},"641":{"title":"代骰","titles":["龙与地下城 5E",".rc 检定"]},"642":{"title":"奇妙运用","titles":["龙与地下城 5E",".rc 检定"]},"643":{"title":".buff 临时属性","titles":["龙与地下城 5E"]},"644":{"title":"代骰","titles":["龙与地下城 5E",".buff 临时属性"]},"645":{"title":".ss 法术位 (spell slots)","titles":["龙与地下城 5E"]},"646":{"title":"代骰","titles":["龙与地下城 5E",".ss 法术位 (spell slots)"]},"647":{"title":".cast 使用法术位","titles":["龙与地下城 5E"]},"648":{"title":"代骰","titles":["龙与地下城 5E",".cast 使用法术位"]},"649":{"title":".longrest / .长休","titles":["龙与地下城 5E"]},"650":{"title":"代骰","titles":["龙与地下城 5E",".longrest / .长休"]},"651":{"title":".ds / .死亡豁免","titles":["龙与地下城 5E"]},"652":{"title":"代骰","titles":["龙与地下城 5E",".ds / .死亡豁免"]},"653":{"title":"常见问题","titles":[]},"654":{"title":"为啥海豹不理我?","titles":["常见问题"]},"655":{"title":"可以关闭暗骰吗?","titles":["常见问题"]},"656":{"title":"退群指令?","titles":["常见问题"]},"657":{"title":"登录服务器开浏览器使用好麻烦!能远程直接访问 WebUI 吗?","titles":["常见问题"]},"658":{"title":"在服务器上登录时说「需要在同一 WIFI 下扫码」怎么办","titles":["常见问题"]},"659":{"title":"1. [首选] 让手机跟服务器真的处于同一个网络","titles":["常见问题","在服务器上登录时说「需要在同一 WIFI 下扫码」怎么办"]},"660":{"title":"2. 本机上完成扫码登录,然后将登录过的配置文件覆盖到服务器上","titles":["常见问题","在服务器上登录时说「需要在同一 WIFI 下扫码」怎么办"]},"661":{"title":"AT 其他骰子做检定的时候,海豹也会回应,怎么办","titles":["常见问题"]},"662":{"title":"为啥好像反应慢一拍","titles":["常见问题"]},"663":{"title":"我希望在我的骰子进群或者被踢出时通知我","titles":["常见问题"]},"664":{"title":"支持 QQ 频道吗?","titles":["常见问题"]},"665":{"title":"怎么同时运行多个海豹?","titles":["常见问题"]},"666":{"title":"Windows 系统","titles":["常见问题","怎么同时运行多个海豹?"]},"667":{"title":"如果你想在 Windows 系统指定端口,需要一点操作","titles":["常见问题","怎么同时运行多个海豹?","Windows 系统"]},"668":{"title":"除 Android 外的其他系统","titles":["常见问题","怎么同时运行多个海豹?"]},"669":{"title":"我机器上启动非常慢,而且托盘点不出来右键菜单?","titles":["常见问题"]},"670":{"title":"能在手机上搭建吗?","titles":["常见问题"]},"671":{"title":"我是 Master,怎么帮人取出 Log?","titles":["常见问题"]},"672":{"title":"我忘了 WebUI 密码","titles":["常见问题"]},"673":{"title":"功能","titles":[]},"674":{"title":".jrrp 今日人品","titles":["功能"]},"675":{"title":".gugu 人工智能鸽子","titles":["功能"]},"676":{"title":".jsr 不重复骰点","titles":["功能"]},"677":{"title":".drl 骰池抽取","titles":["功能"]},"678":{"title":".text 文本模板测试","titles":["功能"]},"679":{"title":".send 向骰主发送消息 / 回复消息","titles":["功能"]},"680":{"title":".welcome 新人入群欢迎","titles":["功能"]},"681":{"title":".ping 指令响应测试","titles":["功能"]},"682":{"title":".alias 定义快捷指令 & .& 使用快捷指令","titles":["功能"]},"683":{"title":"额外 TRPG 规则支持","titles":["功能"]},"684":{"title":".ww WOD 规则骰点","titles":["功能","额外 TRPG 规则支持"]},"685":{"title":".dx 双重十字规则骰点","titles":["功能","额外 TRPG 规则支持"]},"686":{"title":".ek 共鸣性怪异规则骰点","titles":["功能","额外 TRPG 规则支持"]},"687":{"title":".ekgen 共鸣性怪异规则属性生成","titles":["功能","额外 TRPG 规则支持"]},"688":{"title":".rsr 暗影狂奔规则骰点","titles":["功能","额外 TRPG 规则支持"]},"689":{"title":"基础概念","titles":[]},"690":{"title":"什么是骰子?","titles":["基础概念"]},"691":{"title":"获取和使用","titles":["基础概念"]},"692":{"title":"指令回复","titles":["基础概念","获取和使用"]},"693":{"title":"指令前缀","titles":["基础概念","获取和使用","指令回复"]},"694":{"title":"指令名","titles":["基础概念","获取和使用","指令回复"]},"695":{"title":"指令参数","titles":["基础概念","获取和使用","指令回复"]},"696":{"title":"指令标志","titles":["基础概念","获取和使用","指令回复"]},"697":{"title":"自定义回复","titles":["基础概念","获取和使用"]},"698":{"title":"日志","titles":[]},"699":{"title":".log 跑团日志","titles":["日志"]},"700":{"title":"记录日志","titles":["日志",".log 跑团日志"]},"701":{"title":"数据统计","titles":["日志",".log 跑团日志"]},"702":{"title":"管理日志","titles":["日志",".log 跑团日志"]},"703":{"title":"骰主代取 Log","titles":["日志",".log 跑团日志"]},"704":{"title":".ob 旁观","titles":["日志"]},"705":{"title":".sn 自动群名片","titles":["日志"]},"706":{"title":"预设模板","titles":["日志",".sn 自动群名片"]},"707":{"title":"扩展规则","titles":["日志",".sn 自动群名片"]},"708":{"title":"自定义模板","titles":["日志",".sn 自动群名片"]},"709":{"title":"关闭自动修改","titles":["日志",".sn 自动群名片"]},"710":{"title":".hiy 数据统计","titles":["日志"]},"711":{"title":"其它规则支持","titles":[]},"712":{"title":"绿色三角洲 Delta Green","titles":["其它规则支持"]},"713":{"title":"黑暗世界 World of Darkness","titles":["其它规则支持"]},"714":{"title":"双重十字 Double Cross","titles":["其它规则支持"]},"715":{"title":"暗影狂奔 Shadowrun","titles":["其它规则支持"]},"716":{"title":"共鸣性怪异 Emoklore","titles":["其它规则支持"]},"717":{"title":"更多规则","titles":["其它规则支持"]},"718":{"title":"快速上手","titles":[]},"719":{"title":"常用指令速查","titles":["快速上手"]},"720":{"title":"通常流程","titles":["快速上手"]},"721":{"title":"秘密团","titles":["快速上手","通常流程"]},"722":{"title":"进行 CoC 游戏","titles":["快速上手","通常流程"]},"723":{"title":"创作角色卡","titles":["快速上手","通常流程","进行 CoC 游戏"]},"724":{"title":"理智检定 San Check","titles":["快速上手","通常流程","进行 CoC 游戏"]},"725":{"title":"抽取疯狂症状","titles":["快速上手","通常流程","进行 CoC 游戏"]},"726":{"title":"技能成长","titles":["快速上手","通常流程","进行 CoC 游戏"]},"727":{"title":"进行 D&D 游戏","titles":["快速上手","通常流程"]},"728":{"title":"创作角色卡","titles":["快速上手","通常流程","进行 D&D 游戏"]},"729":{"title":"设定先攻值","titles":["快速上手","通常流程","进行 D&D 游戏"]},"730":{"title":"设定临时属性","titles":["快速上手","通常流程","进行 D&D 游戏"]},"731":{"title":"法术位","titles":["快速上手","通常流程","进行 D&D 游戏"]},"732":{"title":"长休","titles":["快速上手","通常流程","进行 D&D 游戏"]},"733":{"title":"死亡豁免","titles":["快速上手","通常流程","进行 D&D 游戏"]},"734":{"title":"故事","titles":[]},"735":{"title":".name 随机名字","titles":["故事"]},"736":{"title":".namednd 随机 DND 名字","titles":["故事"]},"737":{"title":".who 随机排列顺序","titles":["故事"]},"738":{"title":".modu 魔都模组查询","titles":["故事"]}},"dirtCount":0,"index":[["地精",{"2":{"736":1}}],["地址和服务器一样",{"2":{"659":1}}],["地址时",{"2":{"475":1}}],["地址都有与之相关的规定",{"2":{"409":1}}],["地址",{"0":{"236":1},"2":{"236":1,"363":1,"466":1,"498":2}}],["兽人",{"2":{"736":1}}],["矮人",{"2":{"736":1}}],["受国人",{"2":{"736":1}}],["受限于各种原因",{"2":{"38":1}}],["莱瑟曼人",{"2":{"736":1}}],["卡林珊人",{"2":{"736":1}}],["达马拉人",{"2":{"736":1}}],["达到暴击线",{"2":{"610":1}}],["达到成功线",{"2":{"609":1}}],["达到加骰线",{"2":{"609":1}}],["男|女",{"2":{"735":1}}],["创作角色卡",{"0":{"723":1,"728":1}}],["创建一张可以跨群聊使用的角色卡并绑定到当前群聊",{"2":{"721":1}}],["创建一个指定数量",{"2":{"677":1}}],["创建一个机器人应用",{"2":{"504":1}}],["创建一个新的自定义回复文件",{"2":{"312":1}}],["创建一个命令",{"2":{"151":2,"153":1,"159":5,"171":1}}],["创建一个结果对象",{"2":{"147":1,"148":1,"149":1}}],["创建按照要求创建一个机器人",{"2":{"514":1}}],["创建完成后",{"2":{"504":1}}],["创建完毕后点击分支名切换到对应分支页面",{"2":{"43":1}}],["创建应用",{"2":{"453":1,"457":1}}],["创建新的自定义指令",{"2":{"146":1}}],["创建指令",{"0":{"146":1},"2":{"149":1,"166":1}}],["创建和注册扩展",{"0":{"144":1}}],["创建日期",{"2":{"122":1}}],["创建文本格式的敏感词库",{"0":{"121":1}}],["创建",{"0":{"98":1,"100":1,"122":1,"475":1},"1":{"99":1}}],["创建分支",{"2":{"43":1}}],["秘密团",{"0":{"721":1}}],["尊重主持人与其他玩家",{"2":{"720":1}}],["尊敬的用户",{"2":{"46":1}}],["种族",{"2":{"719":1,"736":1}}],["绑定角色卡",{"2":{"719":1}}],["绑定的群聊中角色数据互相同步",{"2":{"615":1}}],["录入数据",{"2":{"719":1}}],["动作",{"2":{"719":6}}],["动态壁纸服务",{"2":{"344":1}}],["怪异",{"2":{"716":1}}],["怪物们",{"2":{"558":1}}],["怪物之锤",{"2":{"524":1,"616":1,"620":1}}],["背景设定在近未来的灵气复苏赛博朋克虚构世界中",{"2":{"715":1}}],["背景知识",{"0":{"48":1}}],["故事",{"0":{"734":1},"1":{"735":1,"736":1,"737":1,"738":1},"2":{"713":1}}],["故海豹官方不提供默认的敏感词库",{"2":{"254":1}}],["抗神组织",{"2":{"712":1}}],["绿色三角洲是保护人类免遭旧日支配者威胁的",{"2":{"712":1}}],["绿色三角洲",{"0":{"712":1},"2":{"712":1}}],["旁观",{"0":{"704":1}}],["继续记录",{"2":{"700":1}}],["继续按此顺序阅读剩余内容",{"2":{"47":1}}],["仍然存在于本群的日志记录中",{"2":{"700":1}}],["搭配竖线",{"2":{"695":2}}],["搭建",{"2":{"670":1,"691":1}}],["火球术",{"2":{"695":2}}],["移出骰子",{"2":{"719":1}}],["移动版",{"2":{"695":1}}],["移除了",{"2":{"500":1}}],["移除不常用的自定义回复",{"2":{"361":1}}],["移除信任目标用户",{"2":{"159":1}}],["移除",{"2":{"155":1,"156":1,"596":1}}],["哦",{"2":{"693":1}}],["公骰是免费的",{"2":{"691":1}}],["公骰",{"2":{"691":1}}],["公骰列表",{"2":{"691":1}}],["公共条件属于当前自定义回复文件",{"2":{"314":1}}],["公共条件",{"0":{"314":1},"2":{"314":1}}],["跑团过程玩家使用海豹骰的常用指令和一般流程",{"2":{"718":1}}],["跑团",{"2":{"690":1}}],["跑团日志",{"0":{"699":1},"1":{"700":1,"701":1,"702":1,"703":1},"2":{"269":1,"353":1,"703":1}}],["跳过本节",{"2":{"689":1}}],["跳过此轮",{"2":{"176":1}}],["称为这次骰点",{"2":{"688":1}}],["称为",{"2":{"688":2}}],["事实上",{"2":{"681":1}}],["事发时间",{"2":{"157":1}}],["拥有",{"2":{"679":1}}],["拥有海豹核心的最终判定方式是可以接触到",{"2":{"596":1}}],["咕咕",{"2":{"675":1}}],["智能鸽子等娱乐相关指令",{"2":{"673":1}}],["智力",{"2":{"201":1,"556":2,"590":2,"631":5,"638":3}}],["章节",{"2":{"670":1}}],["性能过低导致的",{"2":{"669":1}}],["占用指定的端口号",{"2":{"668":1}}],["占有欲和控制力强烈",{"2":{"99":1}}],["像运行第一只海豹一样直接双击执行",{"2":{"666":1}}],["像正常的前端项目一样",{"2":{"183":1}}],["弹出的窗口都点击确定",{"2":{"659":1}}],["弹出窗口的字体与风格都不属于",{"2":{"440":1}}],["稍等片刻后",{"2":{"659":1}}],["稍作等待",{"2":{"353":1}}],["搞定",{"2":{"659":1}}],["防火墙",{"2":{"659":1}}],["防止改动内容丢失",{"2":{"315":1}}],["防止查看帮助时骰子的回复触发其他骰子",{"2":{"146":1}}],["吗",{"0":{"657":1}}],["医学奇迹",{"2":{"651":1}}],["医疗",{"2":{"638":2}}],["死亡",{"2":{"651":1}}],["死亡豁免的成功或失败数量增加或减少指定值",{"2":{"651":1}}],["死亡豁免失败+1",{"2":{"638":2,"651":2}}],["死亡豁免",{"0":{"540":1,"651":1,"733":1},"1":{"652":1}}],["昏迷后被攻击",{"2":{"651":1}}],["变化值",{"2":{"651":1}}],["变量机制等",{"2":{"321":1}}],["变量不生效",{"2":{"201":1}}],["变量的值固定并不代表它们是持久变量",{"2":{"201":1}}],["变量的名称可以是汉字",{"2":{"201":1}}],["变量值变成",{"2":{"201":1}}],["变量值变为随机数",{"2":{"201":1}}],["变量值被覆盖",{"2":{"201":1}}],["变量值丢失",{"2":{"201":1}}],["变量属于未定义行为",{"2":{"201":1}}],["变量为空",{"2":{"114":1}}],["变量赋值时",{"2":{"114":1}}],["变量运算",{"0":{"111":1}}],["变量",{"0":{"201":1},"2":{"107":1,"129":1,"148":1}}],["变量名字",{"2":{"201":1}}],["变量名",{"2":{"106":1,"201":1,"283":1}}],["消耗",{"2":{"647":1}}],["消耗指定数量的指定法术位",{"2":{"647":1}}],["消耗数量",{"2":{"647":1}}],["消耗一个",{"2":{"645":1}}],["消息内容",{"2":{"679":2}}],["消息上报格式",{"2":{"498":1}}],["消息的随机延迟仍会被加入",{"2":{"320":1}}],["消息将在此延迟后发送",{"2":{"320":1}}],["消息以此内容为结尾时触发",{"2":{"317":1}}],["消息以内容为开头时触发",{"2":{"317":1}}],["消息匹配正则表达式时触发",{"2":{"317":1}}],["消息与内容相似时触发该回复项",{"2":{"317":1}}],["消息不包含此内容时触发",{"2":{"317":1}}],["消息包含此内容时触发",{"2":{"317":1}}],["消息通知列表",{"0":{"232":1},"2":{"663":1}}],["消息",{"2":{"201":1,"399":1,"719":1}}],["恢复日志记录",{"2":{"719":1}}],["恢复生命值和法术位",{"2":{"649":1}}],["恢复所有法术位",{"2":{"645":1}}],["恢复数据到",{"2":{"356":1}}],["环数",{"2":{"647":1}}],["环法术位",{"2":{"645":2}}],["环的法术位上限",{"2":{"645":1}}],["环境",{"2":{"187":1}}],["环境险恶",{"2":{"99":1}}],["环境使用",{"2":{"33":1}}],["环境下使用",{"2":{"31":1}}],["装备或法术效果",{"2":{"643":1}}],["装甲",{"2":{"557":1}}],["长休",{"0":{"649":1,"732":1},"1":{"650":1},"2":{"649":1}}],["长剑=4",{"2":{"642":1}}],["长剑",{"2":{"642":2}}],["长按海豹核心的任务卡片",{"2":{"344":1,"345":1}}],["长按修补后的",{"2":{"34":1}}],["奇妙运用",{"0":{"642":1}}],["推一下试试",{"2":{"640":2}}],["推荐你尽量使用",{"2":{"183":1}}],["推荐的流程",{"2":{"178":1}}],["推荐",{"2":{"78":1}}],["劣势掷骰",{"2":{"719":1}}],["劣势",{"2":{"640":1}}],["豁免",{"2":{"640":1}}],["豁免的用户",{"2":{"222":1}}],["退群指令",{"0":{"656":1}}],["退游小技巧",{"2":{"638":1}}],["退出的群聊",{"2":{"703":1}}],["退出并保存文件",{"2":{"464":1}}],["退出前",{"2":{"248":1}}],["退出事发群",{"2":{"227":1}}],["陷入了昏迷",{"2":{"638":1,"651":1}}],["剩余会扣减血量",{"2":{"638":1}}],["血量",{"2":{"638":1}}],["威吓",{"2":{"638":2}}],["欺诈",{"2":{"638":2}}],["说服",{"2":{"638":2}}],["说明如下",{"2":{"695":1}}],["说明该文件内容损坏",{"2":{"353":1}}],["说明",{"2":{"146":1}}],["驯养",{"2":{"638":2}}],["洞悉",{"2":{"638":2}}],["察觉",{"2":{"638":2}}],["宗教",{"2":{"638":2}}],["历史",{"2":{"638":2}}],["奥秘",{"2":{"638":2}}],["隐匿",{"2":{"638":2}}],["隐私",{"2":{"346":1}}],["巧手",{"2":{"638":2}}],["熟练",{"2":{"638":6,"643":2}}],["熟悉指令",{"0":{"52":1}}],["熟悉海豹核心的功能",{"0":{"51":1}}],["戏份结束了",{"2":{"633":1}}],["狗头人3",{"2":{"632":2,"633":2}}],["狗头人2",{"2":{"632":4,"633":1}}],["狗头人1",{"2":{"632":8,"633":1}}],["形式自由",{"2":{"697":1}}],["形式",{"2":{"632":1}}],["形如",{"2":{"109":1}}],["固定值",{"2":{"632":1}}],["魅力",{"2":{"631":5,"638":3}}],["魅惑",{"2":{"556":1}}],["预设模板",{"0":{"706":1}}],["预设模式",{"2":{"631":1}}],["预料之中而情理之外的事情又再次发生了",{"2":{"376":1}}],["组织本身是非官方且非法的存在",{"2":{"712":1}}],["组",{"2":{"631":1}}],["组合键",{"2":{"353":1}}],["夜空下的某座高耸古堡",{"2":{"630":1}}],["夜神模拟器路径示例如下",{"2":{"29":1}}],["夜神模拟器",{"2":{"25":1}}],["依照惯例",{"2":{"695":1}}],["依靠的是玩家无穷的想象力",{"2":{"630":1}}],["依赖",{"2":{"490":1}}],["依赖可以是多个",{"2":{"195":1}}],["依赖多个扩展",{"0":{"195":1}}],["依赖于",{"2":{"193":1,"194":1}}],["依赖其他扩展",{"0":{"193":1},"2":{"188":1}}],["龙与地下城常用格式",{"2":{"706":1}}],["龙与地下城",{"0":{"630":1},"1":{"631":1,"632":1,"633":1,"634":1,"635":1,"636":1,"637":1,"638":1,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"648":1,"649":1,"650":1,"651":1,"652":1},"2":{"630":2}}],["效果与",{"2":{"627":1}}],["效果如下",{"2":{"282":1}}],["苦行",{"2":{"627":1}}],["朴素",{"2":{"627":1}}],["严重失误",{"2":{"688":1}}],["严重影响代码的可读性",{"2":{"386":1}}],["严厉",{"2":{"627":1}}],["钻塔",{"2":{"627":1}}],["钻探平台",{"2":{"627":1}}],["钻探设备",{"2":{"627":1}}],["货物",{"2":{"627":1}}],["谨慎使用",{"2":{"626":1}}],["谨慎删除",{"2":{"311":1}}],["去除",{"2":{"623":1}}],["去尝试加载使用了新",{"2":{"196":1}}],["甚为遗憾",{"2":{"620":1}}],["甚至一段话",{"2":{"693":1}}],["甚至永久冻结",{"2":{"691":1}}],["甚至安卓手机上搭建和部署海豹核心",{"2":{"516":1}}],["甚至是被打击的目标",{"2":{"485":1}}],["甚至是开发者",{"2":{"363":1}}],["甚至强制使它们退出",{"2":{"342":1}}],["赵小安等",{"2":{"620":1}}],["赵骰核心和塔骰核心的绝大部分主流指令",{"2":{"522":1}}],["惠惠",{"2":{"620":1}}],["邪恶",{"2":{"620":1}}],["花作噫",{"2":{"620":1}}],["梨子",{"2":{"620":1}}],["致谢",{"0":{"620":1}}],["乘",{"2":{"611":1}}],["乘方等",{"2":{"611":1}}],["乘方",{"2":{"205":1}}],["减",{"2":{"611":1}}],["减少因沟通产生的不必要的麻烦",{"2":{"375":1}}],["混合运算",{"0":{"611":1}}],["混淆",{"2":{"202":1}}],["统计当前日志",{"2":{"701":1}}],["统计指定日志中检定的成功失败数量",{"2":{"701":1}}],["统计暴击数",{"2":{"610":1}}],["统一",{"2":{"597":5}}],["统一id",{"2":{"152":1}}],["暴击轮数",{"2":{"610":1}}],["暴击",{"2":{"610":1}}],["暴击线",{"2":{"610":1}}],["暴力",{"2":{"46":1}}],["轮数",{"2":{"609":3,"610":1,"684":1}}],["国内多见于无限团",{"2":{"609":1}}],["额外",{"0":{"683":1},"1":{"684":1,"685":1,"686":1,"687":1,"688":1}}],["额外内存占用",{"2":{"618":1}}],["额外骰一次",{"2":{"606":1}}],["额外地再提交一份",{"2":{"364":1}}],["掷骰5次",{"2":{"676":1}}],["掷骰",{"2":{"632":2,"719":3,"720":1}}],["掷骰2次",{"2":{"603":1}}],["掷出了",{"2":{"56":2,"536":2,"565":1,"602":6,"604":1,"605":3,"606":4,"607":4,"608":2,"609":3,"610":1,"611":5,"613":1,"614":1,"677":2,"682":1,"684":2}}],["停止的日志并不会丢失",{"2":{"700":1}}],["停止记录当前日志",{"2":{"700":1}}],["停止服务",{"2":{"598":1}}],["停止海豹核心",{"2":{"487":1,"520":1}}],["停止海豹运行",{"2":{"353":1}}],["做一次备份",{"2":{"596":1}}],["做出判断",{"2":{"579":1}}],["做出贡献",{"2":{"368":1}}],["做出灵活的回应",{"2":{"309":1}}],["房规序号",{"2":{"594":1}}],["满",{"2":{"593":4}}],["满足",{"2":{"110":1}}],["幸运",{"2":{"590":2}}],["幸运转盘",{"2":{"91":2}}],["意志",{"2":{"590":2}}],["意味着只有",{"2":{"358":1}}],["意味着指定的依赖版本需要在",{"2":{"194":1}}],["总结性疯狂症状",{"2":{"719":1}}],["总值包括两个",{"2":{"590":1}}],["总之所有骰子发的内容",{"2":{"252":1}}],["总之请记住这个端口号",{"2":{"12":1}}],["聆听",{"2":{"588":1}}],["守秘人将考验调查员的心智",{"2":{"581":1}}],["守秘人会要求进行一个",{"2":{"568":1}}],["们进行对抗",{"2":{"580":1}}],["攻击对闪避",{"2":{"579":1}}],["攻击对反击",{"2":{"579":1}}],["外的其他系统",{"0":{"668":1}}],["外貌",{"2":{"590":2}}],["外",{"2":{"577":1}}],["外挂软件",{"2":{"485":1}}],["心理学",{"2":{"576":1}}],["惩罚",{"2":{"574":3,"605":1,"611":1}}],["惩罚骰",{"2":{"207":1,"605":1}}],["奖励",{"2":{"572":1,"579":1,"605":2}}],["奖励骰与惩罚骰",{"0":{"605":1},"2":{"719":1}}],["奖励骰和惩罚骰",{"0":{"572":1,"584":1}}],["奖励骰",{"2":{"207":1,"686":1}}],["难度",{"2":{"571":1}}],["难免存在错误和缺失",{"2":{"126":1}}],["扣除1=1点",{"2":{"582":1,"585":1}}],["扣除",{"2":{"567":1}}],["±",{"2":{"564":1,"638":1,"643":1,"651":1}}],["揭开邪恶的阴谋",{"2":{"558":1}}],["奔波在奇怪而危险的场所之间",{"2":{"558":1}}],["神秘和恐怖的游戏",{"2":{"558":1}}],["裝甲",{"2":{"557":1}}],["護甲",{"2":{"557":1}}],["護甲值",{"2":{"557":1}}],["護甲等級",{"2":{"557":1}}],["护甲",{"2":{"557":1}}],["护甲值",{"2":{"557":1}}],["护甲等级",{"2":{"557":1}}],["敬请理解",{"2":{"557":1}}],["克苏鲁的呼唤常用格式",{"2":{"706":1}}],["克苏鲁的呼唤",{"0":{"558":1},"1":{"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1,"570":1,"571":1,"572":1,"573":1,"574":1,"575":1,"576":1,"577":1,"578":1,"579":1,"580":1,"581":1,"582":1,"583":1,"584":1,"585":1,"586":1,"587":1,"588":1,"589":1,"590":1,"591":1,"592":1,"593":1,"594":1},"2":{"558":2,"586":1,"712":1}}],["克苏鲁",{"2":{"556":1}}],["克苏鲁神话知识",{"2":{"556":1}}],["克苏鲁神话",{"2":{"556":1}}],["别名",{"2":{"601":1,"616":1,"682":8}}],["别称与其正式名称等价",{"2":{"556":1}}],["别忘了回顾一遍本节内容",{"2":{"392":1}}],["體質",{"2":{"556":1}}],["体质",{"2":{"556":1,"631":5,"638":3}}],["话术",{"2":{"556":1}}],["侦察",{"2":{"556":1}}],["侦查=80",{"2":{"613":1}}],["侦查=75",{"2":{"613":1}}],["侦查=53",{"2":{"604":1}}],["侦查+1d20",{"2":{"613":3}}],["侦查+10=53",{"2":{"604":1}}],["侦查+10",{"2":{"569":1,"577":1,"578":1}}],["侦查99",{"2":{"569":1}}],["侦查",{"2":{"556":1,"569":3,"570":1,"573":1,"577":1,"579":1,"588":1}}],["知识",{"2":{"556":1}}],["知道问题出在哪里之后",{"2":{"363":1}}],["射击",{"2":{"556":1}}],["射击检定",{"2":{"275":1}}],["冲锋枪",{"2":{"556":2}}],["➯",{"2":{"556":1,"567":1,"582":1,"585":1,"638":4,"651":2}}],["场景举例",{"2":{"556":1}}],["互相可以替代使用",{"2":{"556":1}}],["互联网上的英文内容数量是具有压倒性的优势的",{"2":{"369":1}}],["五群",{"2":{"554":1}}],["五要素",{"2":{"379":1}}],["四群",{"2":{"554":1}}],["四项权限",{"2":{"344":1}}],["三群",{"2":{"554":1}}],["三目运算符",{"0":{"211":1}}],["二群",{"2":{"554":1}}],["二流角色",{"2":{"99":1}}],["步骤与普通跨平台迁移一致",{"2":{"550":1}}],["步骤如下",{"2":{"10":1,"551":1}}],["→",{"0":{"550":1}}],["明日方舟跑团规则",{"2":{"546":1}}],["剑世界",{"2":{"546":1}}],["跨平台迁移时不能使用旧的可执行文件",{"2":{"549":1}}],["跨平台迁移",{"0":{"549":1},"1":{"550":1}}],["跨平台",{"0":{"545":1}}],["跨群存在",{"2":{"201":1}}],["彩蛋",{"2":{"544":1}}],["丢进指令虚拟机里执行",{"2":{"544":1}}],["丢失这段时间以来录入的角色卡",{"2":{"338":1,"551":1}}],["魔都模组查询",{"0":{"738":1}}],["魔都查询",{"2":{"543":1}}],["魔骨",{"2":{"620":1}}],["魔法大典的整理者为",{"2":{"620":1}}],["魔法大典",{"2":{"616":1}}],["魔术师逆位",{"2":{"99":1}}],["团为例",{"2":{"543":1}}],["休息",{"0":{"541":1}}],["休眠时始终保持网络连接",{"2":{"346":1}}],["攀爬检定",{"2":{"568":1}}],["攀爬",{"2":{"532":1}}],["园艺",{"2":{"532":1}}],["各种武器等等",{"2":{"532":1}}],["各种旧版翻译",{"2":{"531":1,"535":1}}],["各个模块的特化文件放在这里",{"2":{"326":1}}],["细节可参见",{"2":{"527":1}}],["法术位得到了恢复",{"2":{"649":1}}],["法术位",{"0":{"645":1,"731":1},"1":{"646":1}}],["法术位支持",{"0":{"539":1}}],["法术",{"2":{"527":1}}],["法则来思考遇到的程序错误问题",{"2":{"379":1}}],["系列指令和",{"2":{"543":1}}],["系列资料的整理者主要为",{"2":{"620":1}}],["系列资料",{"2":{"524":1}}],["系统指定端口",{"0":{"667":1}}],["系统运行两个是很简单的",{"2":{"666":1}}],["系统服务已删除",{"2":{"520":1}}],["系统推荐使用",{"2":{"433":1}}],["系统默认使用",{"2":{"433":1}}],["系统中存在众多的",{"2":{"433":1}}],["系统中使用的格式",{"2":{"213":1}}],["系统的服务器和个人电脑举例",{"2":{"403":1}}],["系统",{"0":{"666":1},"1":{"667":1},"2":{"386":1,"403":1}}],["系统为例",{"2":{"356":1}}],["系统上",{"2":{"353":1,"389":1,"423":1}}],["系统角色卡的功能",{"2":{"175":1}}],["系统与",{"2":{"175":1}}],["系统未提供对应的",{"2":{"32":1}}],["系统可能会出现无法运行的问题",{"2":{"22":1}}],["系统会运行一些进程以保证系统的正常运行",{"2":{"22":1}}],["资源",{"2":{"524":1}}],["资源管理",{"0":{"324":1},"2":{"322":1}}],["极少的资源占用",{"0":{"524":1}}],["极难成功",{"2":{"578":1,"582":1}}],["极难成功等",{"2":{"168":1}}],["极难",{"2":{"168":1,"571":1}}],["易于部署和使用",{"0":{"523":1}}],["敏捷+2",{"2":{"564":1}}],["敏捷50",{"2":{"563":1}}],["敏捷",{"2":{"522":1,"590":2,"631":5,"638":3}}],["敏感词数据库文件",{"2":{"327":1}}],["敏感词库",{"2":{"353":1}}],["敏感词库文件",{"2":{"326":1}}],["敏感词库本身属于敏感信息",{"2":{"254":1}}],["敏感词库通常为",{"2":{"254":1}}],["敏感词库等的编写中",{"2":{"125":1}}],["敏感词列表",{"2":{"254":1}}],["敏感词管理",{"0":{"254":1},"2":{"254":1,"257":1}}],["隔离属性",{"2":{"518":1}}],["隔开",{"2":{"109":1}}],["隔开不同的路径",{"2":{"32":1}}],["考虑到后续升级",{"2":{"518":1}}],["镜像",{"2":{"517":1,"518":1}}],["树莓派等",{"2":{"517":1}}],["树莓派等设备",{"2":{"517":1}}],["绝大多数使用",{"2":{"517":1}}],["绝大部分群聊中的",{"2":{"485":1}}],["绝大部分指令的文案都可以进行修改",{"2":{"268":1}}],["适合绝大多数用户使用",{"2":{"517":1}}],["适用于规则书中的关键连接自救规则",{"2":{"533":1}}],["适用于服务器",{"2":{"517":1}}],["适用于",{"2":{"517":1}}],["需以",{"2":{"514":1}}],["需要产生一个随机数的时候",{"2":{"720":1}}],["需要骰子账号有适当的权限",{"2":{"705":1}}],["需要骰主上号同意",{"2":{"664":1}}],["需要知道对应的群号",{"2":{"703":1}}],["需要知道的是",{"2":{"487":1}}],["需要更多结果",{"2":{"695":1}}],["需要一点操作",{"0":{"667":1}}],["需要关闭系统内置防火墙或设置端口放行",{"2":{"657":1}}],["需要说明",{"2":{"626":1}}],["需要二次确认",{"2":{"596":2}}],["需要去下载",{"2":{"490":1}}],["需要像上述示例中的配置文件一样调整为",{"2":{"490":1}}],["需要自行下载安装",{"2":{"487":1}}],["需要自行开放",{"2":{"466":1}}],["需要比较简单的部署流程",{"2":{"486":2}}],["需要连接时",{"2":{"480":1}}],["需要将监听地址修改为",{"2":{"477":1}}],["需要特别注意的是",{"2":{"477":1}}],["需要权限",{"2":{"455":1}}],["需要具体问题具体分析",{"2":{"359":1}}],["需要把压缩包解压之后再双击运行海豹核心",{"2":{"358":1}}],["需要调整一些系统设置来确保其能够在后台存活",{"2":{"342":1}}],["需要点击",{"2":{"292":1,"302":1}}],["需要注意引擎的整型为",{"2":{"187":1}}],["需要工程编译为插件的单",{"2":{"180":1}}],["需要在同一",{"0":{"658":1},"1":{"659":1,"660":1}}],["需要在插件注册后调用",{"2":{"170":1}}],["需要在最外面写",{"2":{"116":1}}],["需要移除的选项的序号",{"2":{"162":1}}],["需要添加的选项的内容",{"2":{"162":1}}],["需要取出的时候",{"2":{"160":1}}],["需要先介绍海豹核心管理你角色卡的方式",{"2":{"615":1}}],["需要先停止核心",{"2":{"338":1}}],["需要先找到个和别人不重复的柜子",{"2":{"160":1}}],["需要先运行",{"2":{"9":1}}],["需要使用终端启动",{"2":{"517":2}}],["需要使用",{"2":{"148":1,"202":1,"462":2}}],["需要返回指令结果对象",{"2":{"147":1}}],["需要",{"2":{"126":1,"136":1,"475":1}}],["需要输出不同回复的机制",{"2":{"113":1}}],["需要的值",{"2":{"106":1}}],["需要用",{"2":{"91":1}}],["需要提到",{"2":{"83":1}}],["需要包裹在",{"2":{"70":1}}],["需要你先手动解决冲突",{"2":{"45":1}}],["需要手动抓取",{"2":{"18":1}}],["需要端口不重复",{"2":{"15":1}}],["需要抓",{"2":{"12":1}}],["超常的存在",{"2":{"716":1}}],["超时空猫猫",{"2":{"500":1}}],["超级管理员权限",{"2":{"455":1}}],["超级群的邀请链接",{"2":{"455":1}}],["超级计算机以及大多数互联网基础设施",{"2":{"417":1}}],["扫码登录即可",{"2":{"498":1}}],["扫码连接",{"2":{"477":1,"490":1}}],["音乐签名url",{"2":{"498":1}}],["音乐和音频",{"2":{"344":1}}],["芯片请下载",{"2":{"518":1}}],["芯片请使用",{"2":{"517":1}}],["芯片的",{"2":{"518":1}}],["芯片",{"2":{"489":2,"517":1}}],["版",{"0":{"558":1},"1":{"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1,"570":1,"571":1,"572":1,"573":1,"574":1,"575":1,"576":1,"577":1,"578":1,"579":1,"580":1,"581":1,"582":1,"583":1,"584":1,"585":1,"586":1,"587":1,"588":1,"589":1,"590":1,"591":1,"592":1,"593":1,"594":1},"2":{"490":2,"517":3,"527":1,"695":1,"712":1}}],["版的",{"2":{"490":1,"556":3}}],["版程序",{"2":{"489":1}}],["版本1",{"2":{"599":1}}],["版本高于",{"2":{"518":1}}],["版本过低会导致程序无法正常启动",{"2":{"496":1}}],["版本的需求",{"2":{"490":1}}],["版本的海豹骰",{"2":{"389":1}}],["版本是否匹配",{"2":{"462":1}}],["版本开始支持通过",{"2":{"493":1}}],["版本开始支持尾逗号",{"2":{"71":1,"72":1}}],["版本开始",{"2":{"314":1,"323":1,"324":1}}],["版本起",{"2":{"292":1,"294":1,"616":1,"617":1,"681":1,"682":1}}],["版本起弃用",{"2":{"24":1}}],["版本做了优化调整",{"2":{"248":1}}],["版本新增的功能",{"2":{"248":1}}],["版本限制是可选的",{"2":{"194":1}}],["版本号+发布日期",{"2":{"517":1}}],["版本号是否大于",{"2":{"426":1}}],["版本号",{"2":{"188":1,"194":1,"201":1}}],["版本要求",{"2":{"31":1}}],["版本为",{"2":{"23":1,"126":1}}],["版本选择",{"2":{"11":1}}],["版本",{"2":{"9":1,"122":1,"144":1,"462":4,"489":3,"626":1}}],["版本弃用此方案",{"2":{"6":1,"23":1}}],["准备",{"0":{"489":1}}],["准备模拟器",{"0":{"25":1}}],["戳一戳",{"2":{"486":1}}],["端",{"2":{"486":1,"487":1}}],["端协议",{"2":{"486":2}}],["端协议时最好关闭",{"2":{"486":1}}],["端口已经被占用",{"2":{"666":1}}],["端口已被第一只海豹占用",{"2":{"409":1}}],["端口输入",{"2":{"659":1}}],["端口为默认的",{"2":{"666":1}}],["端口为",{"2":{"495":1}}],["端口映射到海豹容器的",{"2":{"475":1}}],["端口访问海豹的管理后台时",{"2":{"438":1}}],["端口等",{"2":{"409":1}}],["端口需要输入不同于前面的端口",{"2":{"19":1}}],["端口号>",{"2":{"667":1,"668":1}}],["端口号也不能随意指定",{"2":{"409":1}}],["端口号则是范围在",{"2":{"409":1}}],["端口号",{"2":{"12":1,"363":1,"667":1}}],["端口",{"0":{"401":1,"470":1},"2":{"12":1,"29":1,"35":1,"409":3,"438":1,"465":2,"466":2,"475":1,"477":1,"659":4}}],["端口和",{"2":{"9":1}}],["倘若出现账号被封禁等情况",{"2":{"485":1}}],["临时的技能熟练",{"2":{"643":1}}],["临时属性",{"0":{"538":1,"643":1},"1":{"644":1}}],["临时甚至",{"2":{"485":1}}],["临时疯狂",{"2":{"277":1}}],["封禁",{"2":{"485":1,"691":1}}],["子网中的",{"2":{"481":2}}],["子元素由",{"2":{"69":1}}],["宿主机上的",{"2":{"480":1}}],["得以访问图片",{"2":{"475":1}}],["得到的三个结果将互不相同",{"2":{"83":1}}],["得到的三个结果可能有重复",{"2":{"83":1}}],["容器模式下功能受限",{"2":{"518":1}}],["容器中的海豹不能直接访问宿主机监听本地端口的",{"2":{"480":1}}],["容器默认接入此网络",{"2":{"480":1}}],["容器",{"0":{"479":1},"2":{"478":1}}],["容器配置",{"0":{"477":1}}],["容器完成下述配置文件修改及扫码登录过程",{"2":{"475":1}}],["容器以使",{"2":{"475":1}}],["容器的日志",{"2":{"477":1}}],["容器的",{"2":{"475":1}}],["容器共同构成一个服务栈",{"2":{"474":1}}],["容易成功",{"2":{"355":1}}],["容易误解的",{"2":{"110":1}}],["至此",{"2":{"465":1}}],["至少需要保留一个选项",{"2":{"270":1}}],["供",{"2":{"676":1}}],["供海豹使用",{"2":{"465":1}}],["供你查看大图",{"2":{"324":1}}],["证明海豹核心已和",{"2":{"466":1}}],["证明",{"2":{"465":1}}],["架设",{"0":{"462":1},"1":{"463":1,"464":1,"465":1},"2":{"462":1}}],["凭证和基础信息",{"2":{"453":1}}],["建立好应用后点击侧边导航栏",{"2":{"457":1}}],["建立好应用后上滑",{"2":{"448":1}}],["建立应用",{"0":{"452":1}}],["建议尽量将",{"2":{"518":1}}],["建议迁移到其它平台",{"2":{"485":1}}],["建议优先选择高位端口",{"2":{"409":1}}],["建议对数据库进行完整性检查",{"2":{"353":1}}],["建议放在",{"2":{"282":1}}],["建议换成别的前缀",{"2":{"105":1}}],["建议通过更系统的教程学习",{"2":{"79":1}}],["建议选择使用适用性最广的",{"2":{"62":1}}],["建议选择熟悉的格式",{"2":{"62":1}}],["建议你回到本节",{"2":{"47":1}}],["建议先同步上游的主分支",{"2":{"45":1}}],["建议为形如",{"2":{"43":1}}],["建议不要在主分支操作",{"2":{"43":1}}],["建议使用语义化版本号",{"2":{"122":1}}],["建议使用",{"2":{"35":1}}],["施工中",{"2":{"446":1}}],["集成的",{"2":{"440":1}}],["富文本",{"2":{"440":1}}],["交互",{"2":{"438":1}}],["交互的用户界面",{"2":{"438":1}}],["交互的界面",{"2":{"414":1}}],["拖拽的交互方式",{"2":{"433":1}}],["腾讯官方称之为",{"2":{"426":1}}],["腾出空间就可以解决",{"2":{"360":1}}],["具有诸多弊端",{"2":{"423":1}}],["具体目录是",{"2":{"660":1}}],["具体做法搜索关键字",{"2":{"659":1}}],["具体步骤",{"2":{"514":1}}],["具体占用会因人而异",{"2":{"496":1}}],["具体来说",{"2":{"385":1}}],["具体列表可以见",{"2":{"283":1}}],["具体的连接细节还可以参见",{"2":{"490":1}}],["具体的编写帮助见",{"2":{"257":1}}],["具体的内容是什么",{"2":{"255":1}}],["具体请看",{"2":{"244":1,"498":1}}],["具体地说",{"2":{"175":1}}],["具体见",{"2":{"130":2}}],["具体实现",{"2":{"119":1}}],["具体使用哪种请自行决断",{"2":{"115":1}}],["广泛应用于服务器",{"2":{"417":1}}],["广度优先的学习即是在遇到新概念时",{"2":{"372":1}}],["广度优先学习",{"0":{"372":1}}],["拉格兰项目提供公共签名服务",{"2":{"490":1}}],["拉格兰",{"2":{"416":1,"488":2}}],["拉黑和怒气值机制",{"2":{"253":1}}],["拉黑用户",{"2":{"253":1}}],["拉黑",{"2":{"157":4,"159":1}}],["拉黑原因",{"2":{"155":1}}],["拉黑的地方",{"2":{"155":1}}],["议题",{"2":{"410":1}}],["监听",{"2":{"409":1,"438":1}}],["处粘贴你得到的",{"2":{"449":1,"458":1,"515":1}}],["处于",{"2":{"405":1}}],["处理不成功的请求",{"2":{"167":1}}],["处理数据",{"2":{"163":1}}],["工作目录是用户在使用",{"2":{"405":1}}],["工作目录",{"0":{"405":1},"2":{"430":1}}],["工具下载见",{"2":{"32":1}}],["工具赋予权限",{"2":{"32":1}}],["工具",{"2":{"29":1,"125":1,"659":1}}],["术语的含义",{"2":{"397":1}}],["术语速查表",{"0":{"397":1},"1":{"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1,"426":1,"427":1,"428":1,"429":1,"430":1,"431":1,"432":1,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1,"440":1,"441":1,"442":1,"443":1,"444":1},"2":{"48":1,"357":1,"365":1,"368":1,"372":1,"375":1,"387":1,"516":1}}],["啰嗦总好过一个信息不完整的问题",{"2":{"392":1}}],["问出下一个问题吧",{"2":{"392":1}}],["问题才能更快速地解决",{"2":{"394":1}}],["问题尚未得到有效解决之前",{"2":{"369":1}}],["问题",{"2":{"247":2,"410":1}}],["屏幕截图",{"2":{"386":1}}],["屏幕因反射光线而不能让摄像头拍到真正的图片",{"2":{"363":1}}],["呜呜我的骰子怎么不能用了",{"2":{"385":1}}],["清除法术位设置",{"2":{"645":1}}],["清除",{"2":{"643":1}}],["清除先攻列表",{"2":{"633":1}}],["清除个人骰子面数设置",{"2":{"622":1}}],["清除当前群组的默认查询分组",{"2":{"617":1}}],["清除群内骰子面数设置",{"2":{"600":1,"622":1}}],["清空",{"2":{"596":1}}],["清晰说明你的意图和",{"0":{"385":1}}],["清理模式",{"2":{"217":1}}],["附加在问题中",{"2":{"383":1}}],["附加语",{"2":{"277":1}}],["尤其是用你自己的话描述一遍你是如何执行回答者所给出的解决方案的",{"2":{"392":1}}],["尤其是",{"2":{"380":1,"720":1}}],["尝试一下",{"0":{"503":1}}],["尝试上网搜索以找到答案",{"0":{"382":1}}],["尝试浏览用户群内的信息以找到答案",{"0":{"381":1}}],["尝试阅读本手册以找到答案",{"0":{"380":1}}],["尝试自行排查问题",{"0":{"379":1}}],["尝试敲出你理解的方案",{"2":{"373":1}}],["尝试以下方案",{"2":{"356":1}}],["执着于过于深入的细节只会拖慢你的学习速度",{"2":{"373":1}}],["执行下面的指令",{"2":{"356":1}}],["执行以下命令",{"2":{"353":1}}],["执行代码",{"2":{"304":1}}],["执行完毕后不应当认为该变量值还保留",{"2":{"201":1}}],["执行时所运行的脚本",{"2":{"181":1}}],["执行块中的两个语句之间要使用",{"2":{"109":1}}],["执行块",{"0":{"109":1},"1":{"110":1,"111":1}}],["执行",{"2":{"32":1,"110":5,"354":1}}],["尽快扫码登录",{"2":{"487":1}}],["尽快使用手机",{"2":{"477":1}}],["尽管不同方案之间的差异很大",{"2":{"485":1}}],["尽管市场份额相对较小",{"2":{"417":1}}],["尽管可能只需要你做相似的操作",{"2":{"372":1}}],["尽早保存",{"2":{"270":1}}],["虽让你搞不懂什么",{"2":{"372":1}}],["虽然海豹在一定程度上可以兼容",{"2":{"695":1}}],["虽然海豹尽可能提高兼容性",{"2":{"522":1}}],["虽然你对什么是",{"2":{"372":1}}],["虽然作为",{"2":{"187":1}}],["又如",{"2":{"556":1}}],["又一个小例子",{"2":{"372":1}}],["又不会引入过多的非标准特性造成混乱",{"2":{"69":1}}],["便开始学习下一项内容",{"2":{"372":1}}],["便于分享最新的牌堆内容",{"2":{"90":1}}],["便于分享",{"2":{"80":1}}],["皓首穷经地学习每一个细节真的值得么",{"2":{"371":1}}],["然而在服务器无法启动海豹",{"2":{"386":1}}],["然而",{"2":{"371":1,"372":1}}],["然后拉入群组使用",{"2":{"691":1}}],["然后双击",{"2":{"667":1}}],["然后将登录过的配置文件覆盖到服务器上",{"0":{"660":1}}],["然后在你将要扫码的手机上启动它",{"2":{"659":1}}],["然后在配置海豹时",{"2":{"481":1}}],["然后想象奇幻世界中的冒险者们会如何迎接即将到来的挑战",{"2":{"630":1}}],["然后比较成功等级",{"2":{"578":1}}],["然后设定属性值",{"2":{"563":1}}],["然后点击添加规则",{"2":{"659":1}}],["然后点击添加代理服务器",{"2":{"659":1}}],["然后点击",{"2":{"487":1}}],["然后转向下一个概念进行学习",{"2":{"373":1}}],["然后导入",{"2":{"339":1}}],["然后通过海豹的",{"2":{"187":1}}],["然后根据",{"2":{"116":1}}],["然后判断",{"2":{"111":1}}],["然后进入判断",{"2":{"110":1}}],["然后阅读此章中你感兴趣的节",{"2":{"53":1}}],["然后",{"2":{"47":1,"51":1,"52":1,"703":1}}],["然后重启",{"2":{"34":1}}],["然后重新添加账号",{"2":{"12":1}}],["然后就可以安装了",{"2":{"33":1}}],["然后输入你想要的文件夹名字",{"2":{"358":1}}],["然后输入",{"2":{"26":1}}],["然后启动软件",{"2":{"26":1}}],["然后退出海豹",{"2":{"11":1}}],["然后运行里面的",{"2":{"9":1}}],["针对性地进行自定义回复的功能",{"2":{"371":1}}],["幻觉",{"2":{"369":1}}],["许多时候",{"2":{"414":1,"421":1,"423":1,"433":1,"444":1}}],["许多问题的直接原因本身就记录在日志中",{"2":{"387":1}}],["许多都源于对这些外文内容的翻译和多次搬运",{"2":{"369":1}}],["许可协议",{"0":{"46":1}}],["另一种写法",{"2":{"645":1}}],["另一方面",{"2":{"369":1,"384":1,"392":1}}],["另外",{"2":{"176":1,"368":1,"373":1,"391":1,"569":1}}],["技能加值会自动计算",{"2":{"638":1}}],["技能点数",{"2":{"588":1,"589":2}}],["技能应用不同调整值",{"2":{"579":1}}],["技能对抗对手的另一属性",{"2":{"579":1}}],["技能名称",{"2":{"588":2,"589":2}}],["技能名+指定数值",{"2":{"577":1}}],["技能名",{"2":{"577":1,"686":1}}],["技能",{"2":{"556":3,"559":1,"578":1,"579":1,"638":18,"643":3,"719":6,"726":1}}],["技能成长中",{"2":{"278":1}}],["技能成长",{"0":{"278":1,"587":1,"726":1},"1":{"588":1,"589":1},"2":{"278":11,"719":1}}],["技术型的个人博客和知乎平台具有相对优质的内容",{"2":{"369":1}}],["学会筛选更可靠的平台也将大大提高你的知识获取效率",{"2":{"369":1}}],["百度",{"2":{"369":1}}],["百度应该是你更好的选择",{"2":{"364":1}}],["高效搜索",{"0":{"369":1},"2":{"382":1}}],["亦即帮助文档",{"2":{"368":1}}],["描述问题发生后",{"0":{"388":1}}],["描述问题发生前",{"0":{"386":1}}],["描述了使用这个项目的过程中可能涉及的方方面面",{"2":{"368":1}}],["描述修改内容并确认自动测试流程通过",{"2":{"41":1}}],["往往都具备相对详尽的帮助文档",{"2":{"368":1}}],["寻找最新的",{"2":{"463":1}}],["寻找更详细的教程",{"2":{"24":1}}],["寻求资源",{"0":{"368":1}}],["终端中手动启动这些程序",{"2":{"440":1}}],["终端是一个为命令行用户准备的全新的",{"2":{"440":1}}],["终端打开",{"2":{"423":1}}],["终端",{"0":{"440":1,"444":1},"2":{"414":2,"421":2,"423":3,"433":2,"439":1,"440":4,"444":2,"668":1}}],["终端选中后右键即可复制粘贴",{"2":{"12":1}}],["终将有所回报",{"2":{"367":1}}],["英语学习得再努力一点",{"2":{"367":1}}],["英语目前是",{"2":{"367":1}}],["英文",{"2":{"213":1}}],["英文字母和数字长度为",{"2":{"201":1}}],["掌握语言",{"0":{"367":1}}],["俗称",{"2":{"531":1,"535":1}}],["俗称打码",{"2":{"363":1}}],["俗称反光",{"2":{"363":1}}],["俗称签名服务器",{"0":{"22":1}}],["拍摄屏幕时会出现各种各样的问题",{"2":{"363":1}}],["排列元素",{"2":{"737":1}}],["排序",{"2":{"543":1}}],["排查问题或复现",{"2":{"363":1}}],["排除了程序内部错误的可能性",{"2":{"361":1}}],["失误的同时成功度为",{"2":{"688":1}}],["失误",{"2":{"688":1}}],["失误中断系统进程可能导致系统崩溃或其他隐患",{"2":{"361":1}}],["失败时失去理智",{"2":{"719":1,"724":1}}],["失败时理智损失",{"2":{"582":1,"583":2,"584":1}}],["失败0项",{"2":{"643":1}}],["失败成长值",{"2":{"589":1}}],["失败变更",{"2":{"278":2}}],["失败",{"2":{"275":1,"278":2,"556":3,"569":1,"570":1,"571":1,"574":2,"585":1}}],["翻译一下这里的报错",{"2":{"360":1}}],["压缩文件",{"2":{"490":1}}],["压缩包便解压到了你指定的文件夹",{"2":{"358":1}}],["压缩为",{"2":{"88":1}}],["左上角的",{"2":{"463":1}}],["左键单击它",{"2":{"358":1}}],["左侧是分类",{"2":{"269":1}}],["计算机小白常见问题",{"0":{"357":1},"1":{"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1},"2":{"365":1,"368":1,"375":1,"380":1,"397":1}}],["计算总积分",{"2":{"176":1}}],["找出",{"2":{"356":1}}],["找到以下牌组",{"2":{"626":1}}],["找到各个版本的镜像",{"2":{"518":1}}],["找到了",{"2":{"372":1}}],["找到海豹核心",{"2":{"346":1}}],["找到海豹核心安装包",{"2":{"337":1}}],["找到",{"2":{"343":1,"356":1}}],["找到任务管理器",{"2":{"22":1}}],["程序可以从这类语言中方便地恢复原有的数据结构",{"2":{"432":1}}],["程序运行中使用的数据",{"2":{"432":1}}],["程序会以工作目录作为索引目录树的起始位置",{"2":{"405":1}}],["程序上的需求",{"2":{"395":1}}],["程序的日志",{"0":{"387":1}}],["程序实际运行时给出的反馈",{"2":{"373":1}}],["程序日志还是网络资源",{"2":{"367":1}}],["程序",{"2":{"356":1,"437":1,"492":2}}],["程度依次升高",{"2":{"253":1}}],["酌情进行使用",{"2":{"356":1}}],["人物昏迷",{"2":{"638":1}}],["人物属性设置如下",{"2":{"638":1}}],["人物卡和群内临时卡",{"2":{"353":1}}],["人工智能鸽子",{"0":{"526":1,"675":1}}],["人品还行吧",{"2":{"210":1}}],["人品爆表",{"2":{"210":1}}],["硬盘受到物理损坏",{"2":{"352":1}}],["首选",{"0":{"659":1}}],["首次启动容器后",{"2":{"476":1}}],["首次启动容器",{"0":{"476":1}}],["首次启动海豹核心时",{"2":{"350":1}}],["首次打开",{"2":{"464":1}}],["首先使用",{"2":{"703":1}}],["首先使用以下命令停止容器运行",{"2":{"477":1}}],["首先彻底关闭海豹",{"2":{"672":1}}],["首先确定是否为网络问题",{"2":{"662":1}}],["首先确认使用安卓协议",{"2":{"658":1}}],["首先修改",{"2":{"481":1}}],["首先按照",{"2":{"480":1}}],["首先需要创建一个扩展",{"2":{"145":1}}],["首先需要在你的手机安装",{"2":{"32":1}}],["首先检查是否已经存在",{"2":{"144":1}}],["首先给",{"2":{"110":1}}],["首先我们打开",{"2":{"102":1}}],["首先熟悉海豹核心能做到",{"2":{"51":1}}],["首先感谢你选用海豹核心",{"2":{"47":1}}],["首先",{"2":{"41":1,"42":1,"49":1,"52":1,"353":1,"356":1,"391":1,"475":1}}],["首先安装海豹安卓端",{"2":{"35":1}}],["首先下载",{"2":{"29":1}}],["首先启动",{"2":{"28":1}}],["锁定",{"2":{"347":1}}],["锁屏显示",{"2":{"344":1}}],["优先开启所有选项",{"2":{"347":1}}],["优势|劣势",{"2":{"640":1,"719":2}}],["优势+2",{"2":{"632":1}}],["优势骰与劣势骰也可使用通用的表达式表达",{"2":{"606":1}}],["优势骰与劣势骰",{"0":{"606":1}}],["优势骰劣势骰",{"0":{"536":1}}],["优势",{"2":{"207":1,"640":1,"719":1}}],["耗电管理",{"2":{"347":1}}],["电子邮箱作为接收者",{"2":{"663":1}}],["电池优化",{"2":{"346":1}}],["电池",{"2":{"346":1}}],["电脑海豹转安卓端海豹",{"0":{"341":1}}],["鸿蒙系统",{"0":{"346":1}}],["始终允许",{"2":{"345":1}}],["照片和视频",{"2":{"344":1}}],["澎湃系统",{"2":{"344":1}}],["授予海豹核心必要权限",{"0":{"343":1}}],["遵循下面介绍的步骤总是最保险的",{"2":{"342":1}}],["配合他们进行操作",{"2":{"394":1}}],["配合",{"2":{"339":1}}],["配置你的服务器",{"2":{"659":1}}],["配置防火墙",{"2":{"659":1}}],["配置内容参数解释",{"2":{"498":1}}],["配置海豹",{"0":{"495":1}}],["配置容器使用宿主机网络",{"0":{"482":1}}],["配置文件格式变更",{"2":{"492":1}}],["配置文件",{"0":{"492":1},"2":{"475":1,"490":1}}],["配置安卓端保活",{"0":{"342":1},"1":{"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1}}],["配置核心文件",{"2":{"327":1}}],["配置拦截",{"0":{"251":1},"1":{"252":1,"253":1}}],["配置清理时机",{"0":{"219":1}}],["配置清理范围",{"0":{"218":1}}],["配置项不存在",{"2":{"171":1}}],["配置项的含义与之前的说明相同",{"2":{"492":1}}],["配置项的用法",{"2":{"171":1}}],["配置项的",{"2":{"126":6}}],["配置云端内容的",{"2":{"96":1}}],["配置了接口的牌组被抽取的时候",{"2":{"94":1}}],["配置牌堆文件的",{"2":{"90":3}}],["配置牌堆更新",{"0":{"90":1}}],["配置",{"2":{"8":1,"51":1,"101":1,"102":1,"492":1,"625":1,"629":1,"717":1}}],["利用导入导出功能将图片放入海豹的导出文件夹",{"2":{"339":1}}],["利用海豹从上往下逐个匹配的机制达成相同效果",{"2":{"115":1}}],["涉及到的符号均是英文符号",{"2":{"339":1}}],["涉及网络请求或延迟执行的内容",{"2":{"187":1}}],["姓名文件",{"2":{"326":1}}],["├─",{"2":{"326":1}}],["├─images",{"2":{"326":1}}],["├─helpdoc",{"2":{"326":1}}],["├─log",{"2":{"326":1}}],["├─extra",{"2":{"326":1}}],["├─extantions",{"2":{"326":1}}],["├─coc7",{"2":{"326":1}}],["├─configs",{"2":{"326":1}}],["├─censor",{"2":{"326":1}}],["├─dnd5e",{"2":{"326":1}}],["├─default",{"2":{"326":1}}],["├─decks",{"2":{"326":1}}],["├─data",{"2":{"326":1}}],["├─asstes",{"2":{"88":1}}],["共计0条",{"2":{"643":1}}],["共计",{"2":{"631":5}}],["共用属性表达式",{"2":{"580":1}}],["共鸣性怪异掷骰",{"2":{"719":1}}],["共鸣性怪异规则属性生成",{"0":{"687":1}}],["共鸣性怪异规则骰点",{"0":{"686":1},"2":{"716":1}}],["共鸣性怪异",{"0":{"716":1},"2":{"546":1,"716":1}}],["共存",{"2":{"337":1}}],["共同归于",{"2":{"322":1}}],["共有两种实现方式",{"2":{"151":1}}],["辅助工具",{"0":{"322":1},"1":{"323":1,"324":1},"2":{"322":1,"659":1}}],["听说可以用正则匹配解决",{"2":{"321":1}}],["听起来是废话文学",{"2":{"148":1,"149":1}}],["均可作为运算符使用",{"2":{"611":1}}],["均可触发",{"2":{"317":1}}],["均为字符串",{"2":{"126":1}}],["精灵",{"2":{"736":1}}],["精准匹配",{"2":{"317":2}}],["精确匹配",{"2":{"58":1}}],["任意相符",{"2":{"316":1,"317":4}}],["任意一个都能触发同样的回复",{"2":{"316":1}}],["任何人都可以搭建一个",{"2":{"523":1}}],["任何人都可以在开源许可协议允许的范围内下载",{"2":{"362":1}}],["任何",{"2":{"67":1}}],["任何不按教程的行动请自行处理疑难问题",{"2":{"27":1}}],["收不到结果",{"2":{"612":1}}],["收缩",{"2":{"315":1}}],["收到好友邀请",{"2":{"663":1}}],["收到加群邀请",{"2":{"663":1}}],["收到指令",{"2":{"598":1}}],["收到符合任意一个内容的消息时",{"2":{"317":1}}],["收到的所有消息",{"2":{"252":1}}],["收到的指令",{"2":{"252":1}}],["收到响应之后再回应发送者",{"2":{"167":1}}],["右上角可以删除这一条回复项",{"2":{"315":1}}],["右键菜单中的",{"2":{"88":1}}],["才会触发该回复项",{"2":{"316":1}}],["才会依次判断每个回复项的条件",{"2":{"314":1}}],["才能使用",{"2":{"598":1}}],["才能将你的机器人邀请至服务器中",{"2":{"450":1}}],["才能尝试关闭此进程",{"2":{"361":1}}],["才能正常加载",{"2":{"195":1}}],["才能更好的支持你进行版本限制",{"2":{"194":1}}],["才能让扩展起效",{"2":{"144":1}}],["才能发送给触发者",{"2":{"126":1}}],["才能获得作者们提供的最新内容",{"2":{"90":1}}],["阅读本手册",{"2":{"380":1}}],["阅读帮助文档远比直接使用搜素引擎高效得多",{"2":{"368":1}}],["阅读它们也能为编写自定义回复带来帮助",{"2":{"310":1}}],["阅读完小节教程后",{"2":{"123":1}}],["晚安",{"2":{"309":1}}],["晚上",{"2":{"82":3,"89":6}}],["午安",{"2":{"309":1}}],["控制台是",{"2":{"414":1}}],["控制台",{"0":{"304":1,"414":1},"2":{"304":1,"414":2,"421":3,"423":3,"430":1,"433":2,"440":1,"444":2}}],["机器人列表",{"0":{"623":1}}],["机器人密钥",{"2":{"504":1}}],["机器人令牌",{"2":{"504":1}}],["机器人应用",{"2":{"504":1}}],["机器人采用",{"2":{"485":1}}],["机器人",{"2":{"457":1,"459":1,"502":1,"504":1}}],["机器人管理",{"2":{"455":1}}],["机器性能有关",{"2":{"292":1}}],["机制添加了自设规则",{"2":{"622":1}}],["机制",{"2":{"126":2}}],["千万不要递归嵌套",{"2":{"284":1}}],["禁止玩家设置与海豹连接的端口",{"2":{"472":1}}],["禁止递归嵌套",{"2":{"284":1}}],["禁言骰子",{"2":{"226":1}}],["全球化",{"2":{"440":1}}],["全文搜索",{"0":{"618":1}}],["全文搜索索引缓存",{"2":{"326":1}}],["全文粘贴到文本框里即可",{"2":{"542":1}}],["全文案为",{"2":{"282":1}}],["全部",{"2":{"271":1}}],["批量设定多个角色的先攻值",{"2":{"632":1}}],["批量",{"2":{"278":4}}],["永久冻结",{"2":{"485":1}}],["永久疯狂",{"2":{"277":1}}],["永远不要直接运行压缩包中的海豹核心",{"2":{"518":1}}],["永远不会是你学习计算机领域知识的最佳选择",{"2":{"369":1}}],["永远",{"2":{"62":1}}],["角色卡",{"2":{"719":1}}],["角色卡管理",{"0":{"615":1}}],["角色序号",{"2":{"615":4}}],["角色名被用于在进行各种操作和记录",{"2":{"614":1}}],["角色名中不能带有空格",{"2":{"614":1}}],["角色名设定",{"0":{"614":1}}],["角色名",{"2":{"563":1,"614":1,"615":6,"632":2,"706":3,"719":5,"721":2}}],["角色疯狂",{"2":{"277":1}}],["角色属性",{"0":{"173":1}}],["增减",{"2":{"276":3}}],["增加一个",{"2":{"645":1}}],["增加一个新的依赖",{"2":{"195":1}}],["增加10=10",{"2":{"556":1}}],["增加",{"2":{"316":1,"319":1}}],["增加怒气值",{"2":{"227":1,"253":1}}],["增加指令",{"2":{"187":1}}],["增加功能",{"2":{"39":1}}],["增加了检测机制",{"2":{"24":1,"31":1}}],["暗影狂奔掷骰",{"2":{"719":1}}],["暗影狂奔规则骰点",{"0":{"688":1},"2":{"715":1}}],["暗影狂奔",{"0":{"715":1},"2":{"546":1,"715":1}}],["暗中检定只在群聊中可用",{"2":{"575":1}}],["暗中检定",{"0":{"575":1},"1":{"576":1},"2":{"719":1}}],["暗中",{"2":{"275":2}}],["暗骰只能在群内触发",{"2":{"165":1}}],["暗骰",{"0":{"612":1},"2":{"165":3,"280":3,"502":1,"719":1}}],["检查并进行远程更新",{"2":{"596":1}}],["检查",{"2":{"354":2}}],["检查第",{"2":{"142":1}}],["检定时添加",{"2":{"651":1}}],["检定结果将不会发送到使用指令的群聊",{"2":{"575":1}}],["检定结果为",{"2":{"569":3,"571":1,"573":1,"576":1,"640":3}}],["检定一词要与恰当的技能或属性一起使用",{"2":{"568":1}}],["检定",{"0":{"275":1,"568":1,"640":1},"1":{"569":1,"570":1,"571":1,"572":1,"573":1,"574":1,"641":1,"642":1},"2":{"275":7,"642":1,"719":2,"720":1}}],["粘贴文案内容时",{"2":{"272":1}}],["他们的敌人不仅是旧日支配者的眷族或崇拜者",{"2":{"712":1}}],["他们所指代的东西往往是一体的",{"2":{"414":1,"421":1,"423":1,"433":1,"444":1}}],["他们可能以",{"2":{"403":1}}],["他们要如何导入进去",{"2":{"272":1}}],["他会返回一个抽取牌堆的结果",{"2":{"126":1}}],["搜索作者符合关键字的模组",{"2":{"738":1}}],["搜索词条",{"2":{"719":1}}],["搜索结果偏见更少的搜索引擎能显著提高你的信息获取效率",{"2":{"369":1}}],["搜索功能会暂时不可用",{"2":{"292":1}}],["搜索文案的小类和具体文案名",{"2":{"271":1}}],["搜索",{"2":{"271":1,"369":1}}],["刷子",{"2":{"270":1}}],["刷屏警告工作原理为令牌桶算法",{"2":{"244":1}}],["刷屏警告",{"0":{"244":1}}],["刷屏",{"2":{"226":1}}],["判定线",{"2":{"686":1}}],["判定人物死亡",{"2":{"638":1}}],["判定值",{"2":{"578":2,"579":2}}],["判定",{"2":{"270":1,"275":3}}],["判断进入下一轮或结束",{"2":{"610":1}}],["判断是否抽取成功",{"2":{"151":1}}],["判断时条件中的",{"2":{"116":1}}],["判断3",{"2":{"113":2}}],["判断2",{"2":{"113":2}}],["判断1",{"2":{"113":2}}],["筛选文案",{"0":{"271":1}}],["筛选",{"2":{"269":1,"271":1}}],["符合人设呢",{"2":{"268":1}}],["符号在正则表达式中含有特殊含义",{"2":{"105":1}}],["折叠无变更",{"2":{"264":1,"303":1}}],["哪个用户触发了什么等级的敏感词",{"2":{"255":1}}],["哪怕裸键是",{"2":{"66":1}}],["何地",{"2":{"255":1}}],["深度优先的学习即是每遇到一个新概念",{"2":{"371":1}}],["深度优先学习",{"0":{"371":1}}],["深渊也正在凝视着你",{"2":{"254":1}}],["深入学习",{"2":{"63":1}}],["邀请入频道后",{"2":{"664":1}}],["邀请链接",{"2":{"459":1}}],["邀请海豹",{"0":{"450":1,"455":1,"459":1}}],["邀请人",{"2":{"253":1}}],["邀请者",{"2":{"137":1,"152":2}}],["悬浮在问号上即可看见对应帮助",{"2":{"252":1}}],["响应设置",{"0":{"253":1},"2":{"251":1}}],["响应发送者",{"2":{"163":1}}],["拦截日志",{"2":{"255":1}}],["拦截骰子收到的所有消息进行检查",{"2":{"252":1}}],["拦截骰子收到的命令文本进行检查",{"2":{"252":1}}],["拦截骰子发出的消息文本",{"2":{"252":1}}],["拦截范围",{"2":{"252":1}}],["拦截设置主要分为两部分",{"2":{"251":1}}],["拦截管理",{"2":{"250":2}}],["拦截",{"0":{"249":1},"1":{"250":1,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1}}],["天气不错",{"2":{"602":1}}],["天需要重新登录",{"2":{"486":1}}],["天",{"2":{"248":1}}],["频道吗",{"0":{"664":1}}],["频道",{"2":{"246":1,"691":1}}],["频道设置",{"0":{"246":1}}],["想认识更多骰主",{"2":{"554":1}}],["想开多个海豹必须修改端口号",{"2":{"245":1}}],["想要创建一条自定义指令",{"2":{"145":1}}],["界面中",{"2":{"599":1}}],["界面",{"2":{"343":2,"525":1,"703":1}}],["界面地址和启动参数",{"2":{"337":1}}],["界面地址由",{"2":{"245":1}}],["界面的",{"2":{"222":1,"250":1,"261":1,"269":1,"292":1,"301":1,"310":1}}],["访问海豹端口",{"2":{"657":1}}],["访问密码",{"2":{"657":1}}],["访问",{"2":{"477":1,"657":1}}],["访问常见问题页面或许可以解决你的问题",{"2":{"368":1}}],["访问存储空间",{"2":{"344":1,"349":1}}],["访问时请确认你的网络状况",{"2":{"260":1,"290":1,"300":1,"313":1}}],["访问控制",{"0":{"245":1}}],["访问网址",{"2":{"167":1}}],["速率设置支持以下格式",{"2":{"244":1}}],["条频道私聊消息而没有收到回复",{"2":{"681":1}}],["条",{"2":{"280":1,"616":1}}],["条文本后",{"2":{"243":1}}],["条件语句",{"0":{"212":1}}],["条件语句嵌套条件算符",{"0":{"116":1}}],["条件算符",{"0":{"208":1,"209":1},"1":{"209":1,"210":1,"211":1}}],["条件判断",{"2":{"116":1}}],["条件",{"2":{"102":1,"110":4,"315":1}}],["定义后该群内所有人都可以使用",{"2":{"682":1}}],["定义后用户可以在私聊",{"2":{"682":1}}],["定义为个人快捷指令",{"2":{"682":1}}],["定义为指定指令的快捷触发方式",{"2":{"682":1}}],["定义快捷指令",{"0":{"682":1},"2":{"682":1}}],["定制属于你的骰子",{"2":{"553":1}}],["定期向通知列表发送消息",{"2":{"242":1}}],["定时",{"2":{"219":2}}],["定时任务",{"2":{"193":2,"194":6,"195":2}}],["裸指令",{"0":{"241":1}}],["裸键名不支持中文",{"2":{"66":1}}],["裸键只能包含",{"2":{"66":1}}],["忽略",{"0":{"241":1},"2":{"623":2}}],["忽略级词表",{"2":{"122":1}}],["限制",{"0":{"240":1}}],["限定每人",{"0":{"115":1}}],["暂停",{"2":{"719":1}}],["暂停记录当前日志",{"2":{"700":1}}],["暂不支持戳一戳",{"2":{"239":1}}],["暂时顾不上",{"2":{"2":1}}],["密钥并不是登陆密码",{"2":{"235":1}}],["密码",{"0":{"672":1},"2":{"8":1,"245":1,"363":1}}],["邮箱地址",{"2":{"702":1}}],["邮箱为",{"2":{"236":1}}],["邮箱的",{"2":{"235":1}}],["邮箱密钥",{"0":{"235":1}}],["邮箱通知",{"0":{"233":1},"1":{"234":1,"235":1,"236":1},"2":{"232":1}}],["特工",{"2":{"712":1}}],["特技",{"2":{"638":3}}],["特别的",{"2":{"659":1,"664":1}}],["特别地",{"2":{"611":1,"684":1}}],["特别提醒",{"2":{"234":1}}],["特化支持",{"0":{"530":1,"534":1},"1":{"531":1,"532":1,"533":1,"535":1,"536":1,"537":1,"538":1,"539":1,"540":1,"541":1}}],["特色功能",{"0":{"521":1},"1":{"522":1,"523":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"538":1,"539":1,"540":1,"541":1,"542":1,"543":1,"544":1,"545":1,"546":1},"2":{"553":1}}],["特殊骰点",{"0":{"613":1}}],["特殊访问权限",{"2":{"346":1}}],["特殊的执行次数",{"2":{"142":1}}],["特殊的括号",{"2":{"91":1}}],["号与群号",{"2":{"597":1}}],["号",{"2":{"475":1,"487":1,"491":1,"499":1,"502":1}}],["号被冻结后对应账号的邮箱也无法使用",{"2":{"234":1}}],["号发送通知时会自动转换成对应邮箱",{"2":{"232":1}}],["号和要开放的",{"2":{"35":1}}],["连带责任",{"2":{"227":1}}],["连接服务和代理服务的默认配置皆是如此",{"2":{"518":1}}],["连接地址填",{"2":{"495":1}}],["连接地址使用上面记下的",{"2":{"491":1,"499":1}}],["连接地址中写",{"2":{"35":1}}],["连接到宿主机上的",{"0":{"480":1},"1":{"481":1,"482":1}}],["连接时",{"2":{"409":1}}],["连接",{"2":{"389":1}}],["连接的社交平台",{"2":{"389":1}}],["连接的端口",{"2":{"29":1}}],["连接平台",{"0":{"50":1,"519":1},"2":{"416":1,"418":1,"425":1,"519":1}}],["连接海豹",{"0":{"30":1,"449":1,"454":1,"458":1,"505":1,"512":1,"515":1}}],["拒绝邀请",{"2":{"227":1}}],["拒绝回复",{"2":{"227":1}}],["踢骰等",{"2":{"226":1}}],["踢了3格",{"2":{"114":1}}],["白",{"2":{"224":1}}],["白名单用户即通过骰主手动添加的信任名单用户",{"2":{"152":1}}],["白名单用户和黑名单用户",{"2":{"152":2}}],["白名单",{"2":{"152":1}}],["黑暗世界",{"0":{"713":1},"2":{"713":1}}],["黑暗录卡",{"2":{"638":1}}],["黑白名单指令",{"0":{"597":1}}],["黑白名单设置",{"0":{"227":1}}],["黑白名单是骰子拉黑",{"2":{"222":1}}],["黑白名单",{"0":{"221":1},"1":{"222":1,"223":1,"224":1,"225":1,"226":1,"227":1},"2":{"222":1,"253":1,"256":1}}],["黑名单惩罚",{"2":{"227":1}}],["黑名单和信任名单存储在同一个数据库中",{"2":{"156":1}}],["黑名单操作的函数",{"0":{"155":1}}],["黑名单",{"0":{"154":1,"159":1},"1":{"155":1,"156":1,"157":1,"158":1,"159":1},"2":{"159":1}}],["黑名单用户",{"2":{"152":2,"153":1}}],["项基础属性的总值",{"2":{"590":1}}],["项基础属性与幸运",{"2":{"590":1}}],["项目组成员",{"2":{"620":1}}],["项目对其配置文件的格式进行过更改",{"2":{"492":1}}],["项目找到海豹核心",{"2":{"346":1}}],["项目",{"2":{"346":1}}],["项目编译出海豹可使用的插件",{"2":{"177":1}}],["项",{"2":{"216":1,"311":1}}],["项可以通过",{"2":{"216":1}}],["勾选对应文档前的选框后点击",{"2":{"295":1}}],["勾选",{"2":{"216":1,"219":1}}],["立即备份",{"2":{"215":1}}],["立刻设定当前",{"2":{"135":1}}],["综合设置",{"2":{"214":1,"222":1,"486":1,"596":1,"599":1,"663":1,"664":1,"702":1}}],["备份的时间可以直接查看文件创建时间",{"2":{"355":1}}],["备份文件也是通用的",{"2":{"549":1}}],["备份文件目录",{"2":{"326":1}}],["备份文件的命名遵循以下格式",{"2":{"214":1}}],["备份列表",{"0":{"220":1}}],["备份范围",{"2":{"216":1}}],["备份间隔",{"2":{"216":1}}],["备份",{"0":{"213":1},"1":{"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1},"2":{"214":1}}],["备注",{"2":{"98":1}}],["流年不利啊",{"2":{"210":1}}],["流溪",{"2":{"3":1,"165":2}}],["今天不太行",{"2":{"210":1}}],["今日人品是一个每个用户独立",{"2":{"674":1}}],["今日人品为",{"2":{"210":1}}],["今日人品",{"0":{"674":1},"2":{"201":1}}],["呵",{"2":{"210":1}}],["仔细听",{"2":{"210":1}}],["灵感",{"2":{"556":2}}],["灵视",{"2":{"209":2,"210":3}}],["灵魂堕落",{"2":{"99":1}}],["逻辑非",{"2":{"206":1}}],["逻辑或",{"2":{"206":1}}],["逻辑与",{"2":{"206":1}}],["逻辑运算",{"0":{"206":1}}],["次左右",{"2":{"660":1}}],["次数",{"2":{"570":1,"676":1}}],["次",{"2":{"207":1,"275":1,"278":1,"608":1,"677":1}}],["次方",{"2":{"205":1}}],["次的频繁冻结等情况",{"2":{"6":1}}],["运动=6",{"2":{"640":1}}],["运动",{"2":{"638":5,"640":1,"643":8}}],["运作了",{"2":{"449":1,"454":1,"458":1,"515":1}}],["运气不错",{"2":{"270":1}}],["运气还不错",{"2":{"210":1}}],["运算符",{"0":{"204":1},"1":{"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1}}],["运行起来之后",{"2":{"659":1}}],["运行在公开端口而不是本地端口",{"2":{"657":1}}],["运行得到",{"2":{"520":1}}],["运行程序后默认生成的配置文件中已经包含了签名地址",{"2":{"490":1}}],["运行以下命令",{"2":{"479":1}}],["运行着海豹核心的",{"2":{"430":1}}],["运行内存",{"2":{"361":1}}],["运行日志文件",{"2":{"327":1}}],["运行结果将显示在下方",{"2":{"304":1}}],["运行",{"0":{"490":1},"2":{"32":1,"518":2,"667":1}}],["软件名",{"2":{"201":1}}],["软件中获取的一切权限都给予",{"2":{"26":1}}],["常见于软路由设备",{"2":{"669":1}}],["常见的数据序列化语言包括",{"2":{"432":1}}],["常见问题也是众多开源项目都拥有的页面",{"2":{"368":1}}],["常见问题",{"0":{"653":1},"1":{"654":1,"655":1,"656":1,"657":1,"658":1,"659":1,"660":1,"661":1,"662":1,"663":1,"664":1,"665":1,"666":1,"667":1,"668":1,"669":1,"670":1,"671":1,"672":1},"2":{"368":2,"380":1}}],["常见用法示例",{"0":{"143":1},"1":{"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1},"2":{"172":1,"186":1}}],["常用指令速查",{"0":{"719":1}}],["常用示例",{"0":{"602":1}}],["常用",{"2":{"593":1}}],["常用文件",{"0":{"327":1}}],["常用方式",{"2":{"317":1}}],["常规",{"2":{"270":1,"275":1}}],["常规抽取",{"2":{"262":2}}],["常规抽取与放回抽取示例",{"2":{"261":1,"262":1}}],["常规骰子算符",{"2":{"207":1}}],["常量",{"2":{"201":2}}],["娱乐",{"2":{"201":1}}],["娱乐功能定制化请自便",{"2":{"46":1}}],["改为",{"2":{"464":1}}],["改成",{"2":{"337":1}}],["改成你中意的名字",{"2":{"179":1}}],["改变海豹核心判定大成功与大失败的方式",{"2":{"591":1}}],["改变",{"2":{"201":1}}],["汉字长度为",{"2":{"201":1}}],["秒后重新登录",{"2":{"596":1}}],["秒一个",{"2":{"244":1}}],["秒",{"2":{"201":1,"242":1,"248":1,"662":1}}],["昵称",{"2":{"201":2,"502":1}}],["力量=12",{"2":{"640":2}}],["力量+4",{"2":{"640":3}}],["力量+3",{"2":{"640":1}}],["力量检定",{"2":{"568":1}}],["力量3d6",{"2":{"563":1}}],["力量50str50",{"2":{"556":2}}],["力量",{"2":{"201":1,"202":2,"270":1,"556":10,"638":5,"643":6}}],["理由可不填",{"2":{"597":1}}],["理由",{"2":{"596":1}}],["理智损失均可以是包含骰点的表达式",{"2":{"582":1}}],["理智值",{"2":{"556":1}}],["理智检定",{"0":{"277":1,"581":1,"724":1},"1":{"582":1,"583":1,"584":1,"585":1},"2":{"277":3,"719":1}}],["理智",{"2":{"201":1,"556":1}}],["理论上",{"2":{"27":1}}],["普通名字",{"2":{"201":1}}],["普通用户首选",{"2":{"517":1}}],["普通用户无需纠结什么叫相似",{"2":{"317":1}}],["普通用户",{"2":{"152":2,"153":1}}],["举例",{"2":{"201":1,"556":1}}],["典型的像",{"2":{"199":1}}],["兼容的海豹版本",{"2":{"196":1}}],["库的文档",{"2":{"194":1}}],["库成功",{"2":{"28":1}}],["详见",{"2":{"188":2,"292":1,"670":1,"671":1}}],["详细操作请查看对应平台的相关使用文档",{"2":{"691":1}}],["详细文档见链接",{"2":{"167":1}}],["详细可见",{"2":{"146":1}}],["属性调整值会自动变更",{"2":{"638":1}}],["属性调整值和熟练自动计算",{"0":{"537":1}}],["属性修改后",{"2":{"638":1}}],["属性2",{"2":{"636":1,"637":1,"643":1}}],["属性1",{"2":{"636":1,"637":1,"643":1}}],["属性值",{"2":{"578":2,"579":2}}],["属性可以被包含在表达式中进行调整",{"2":{"569":1}}],["属性表达式",{"2":{"569":1,"570":1,"571":1,"572":1,"577":1,"578":1}}],["属性与技能",{"2":{"559":1}}],["属性的英文缩写法",{"2":{"556":1}}],["属性未录入",{"2":{"278":1}}],["属性设置",{"0":{"276":1},"2":{"276":3}}],["属性",{"2":{"188":1,"559":2,"561":1,"562":1,"563":3,"564":1,"565":1,"638":3,"640":2,"643":2,"719":2}}],["属性同义词是在录入和存储角色数据时",{"2":{"556":1}}],["属性同义词",{"0":{"531":1,"535":1,"555":1},"1":{"556":1,"557":1},"2":{"175":1}}],["位置上的名字是海豹核心选用的主要名字",{"2":{"557":1}}],["位版本",{"2":{"517":1}}],["位版本的情况下使用",{"2":{"517":1}}],["位时间戳",{"2":{"201":1}}],["位",{"2":{"187":1,"487":1,"517":2}}],["专门与海豹的日志模块进行交互",{"2":{"187":1}}],["几率性断连",{"2":{"458":1}}],["几乎所有与海豹本体有关的",{"2":{"187":1}}],["几个比较重要的仓库",{"2":{"36":1}}],["廖雪峰",{"2":{"186":1}}],["|",{"2":{"186":1,"326":25,"536":2,"550":2,"602":1,"606":4,"607":4,"615":4,"632":1,"640":2,"695":2}}],["||",{"2":{"116":5,"161":3,"162":4,"163":1,"206":1}}],["||$t1==",{"2":{"58":1}}],["影响",{"2":{"181":1,"252":2}}],["补上来解决报错",{"2":{"184":1}}],["补全信息",{"0":{"179":1}}],["补充",{"0":{"169":1},"2":{"84":1,"86":1,"113":1,"172":1,"475":1,"489":1,"490":1,"492":1,"659":1,"736":1}}],["希望资源占用低的",{"2":{"486":1}}],["希望通过这样的办法",{"2":{"374":1,"396":1}}],["希望能够帮助你掌握一些快速学习新知识的小技巧",{"2":{"366":1}}],["希望在缺失对应扩展时不进行这个插件的加载",{"2":{"193":1}}],["希望先在本地编写",{"2":{"178":1}}],["希望更加工程化以方便维护",{"2":{"177":1,"191":1}}],["托管仓库",{"2":{"178":1}}],["托管在",{"2":{"4":1}}],["投掷指定面数的骰子指定次数",{"2":{"676":1}}],["投掷",{"2":{"176":2}}],["投喂插件",{"0":{"161":1}}],["投喂",{"0":{"2":1},"2":{"2":1,"161":8}}],["制品压缩文件后",{"2":{"490":1}}],["制卡",{"0":{"590":1,"631":1},"2":{"176":1}}],["制作一个",{"2":{"126":1,"136":1}}],["积分最大的人取胜",{"2":{"174":1}}],["游戏主持人邀请你进入群聊",{"2":{"720":1}}],["游戏",{"0":{"722":1,"727":1},"1":{"723":1,"724":1,"725":1,"726":1,"728":1,"729":1,"730":1,"731":1,"732":1,"733":1},"2":{"713":1,"714":1,"715":1}}],["游戏结束",{"2":{"174":1}}],["游戏规则",{"0":{"174":1}}],["张",{"2":{"174":1,"627":1}}],["张三",{"2":{"166":1}}],["玩家视角",{"2":{"720":1}}],["玩家提供方便的机器人",{"2":{"690":1}}],["玩家应该勾上角色卡上该技能旁的方框",{"2":{"587":1}}],["玩家所需指令",{"2":{"558":1,"630":1}}],["玩家喜爱和使用",{"2":{"523":1}}],["玩家自动消耗",{"2":{"174":1}}],["玩家的当前昵称为",{"2":{"614":1}}],["玩家的力量数值",{"2":{"202":1}}],["玩家的角色属性",{"2":{"201":1}}],["玩家的目标是尽可能使得自己的积分接近",{"2":{"174":1}}],["玩家的",{"2":{"130":2}}],["玩家的名片格式",{"2":{"135":1}}],["玩家的名片",{"2":{"126":1}}],["玩家的自动名片格式",{"2":{"126":1,"135":1}}],["获得服务端核心文件",{"2":{"463":1}}],["获得",{"2":{"174":1}}],["获取指定日志记录的染色器链接",{"2":{"703":1}}],["获取指令帮助",{"2":{"695":1}}],["获取和使用",{"0":{"691":1},"1":{"692":1,"693":1,"694":1,"695":1,"696":1,"697":1}}],["获取角色卡录入模板",{"2":{"638":1}}],["获取帮助",{"2":{"719":1}}],["获取帮助信息",{"0":{"560":1,"635":1}}],["获取帮助文档",{"0":{"290":1}}],["获取最新的正式版海豹核心安装包",{"2":{"517":1}}],["获取海豹核心安装包",{"2":{"517":1}}],["获取海豹",{"0":{"517":1}}],["获取连接所需信息",{"0":{"504":1}}],["获取服务端核心",{"0":{"463":1}}],["获取自定义回复文件",{"0":{"313":1}}],["获取牌堆",{"0":{"260":1}}],["获取对方数据",{"2":{"166":1}}],["获取用户在黑名单",{"0":{"158":1}}],["获取黑名单",{"0":{"157":1}}],["获取当前用户的权限等级",{"2":{"152":1}}],["获取不到就使用默认值",{"2":{"148":1}}],["获取到",{"2":{"147":3}}],["获取从第",{"2":{"142":1}}],["获取第一个参数",{"2":{"147":1,"148":1,"149":1}}],["获取第",{"2":{"126":1}}],["获取被",{"2":{"126":1}}],["获取云端内容",{"2":{"96":1}}],["获取更多信息",{"2":{"36":1}}],["获取",{"0":{"26":1,"300":1,"448":1,"453":1,"457":1,"509":1,"514":1},"1":{"510":1,"511":1},"2":{"230":1,"596":1}}],["摸鱼等级",{"2":{"174":1,"176":1}}],["摸鱼",{"2":{"174":1,"176":1}}],["摸鱼大赛",{"2":{"172":1,"176":2}}],["脸皮厚度",{"2":{"173":1}}],["生存",{"2":{"638":2}}],["生命+1d4",{"2":{"638":1}}],["生命值降至0",{"2":{"638":1,"651":1}}],["生命值更大的人取胜",{"2":{"174":1}}],["生命值上限",{"2":{"173":1}}],["生成指定数量的随机属性",{"2":{"723":1,"728":1}}],["生成指定数量的共鸣性怪异角色属性",{"2":{"687":1}}],["生成属性",{"2":{"719":1}}],["生成随机属性值",{"2":{"719":1}}],["生成随机属性数值",{"2":{"719":1}}],["生成随机属性",{"0":{"590":1,"631":1}}],["生成的属性包括",{"2":{"590":1}}],["生成的提示符",{"2":{"421":1}}],["生成的",{"2":{"414":1}}],["生成的内容",{"2":{"369":1}}],["生成的内容心存警惕",{"2":{"369":1}}],["生成角色的属性点",{"2":{"176":1}}],["生成骰子出招并获取玩家出招之后",{"2":{"116":1}}],["六个面分别为",{"2":{"608":1}}],["六种类型",{"2":{"170":1}}],["六块",{"2":{"100":1}}],["匹配拼音",{"2":{"254":1}}],["匹配选项中最重要的设置就是",{"2":{"252":1}}],["匹配选项",{"0":{"252":1},"2":{"251":1}}],["匹配到关键词了",{"2":{"169":1}}],["匹配中",{"2":{"106":1}}],["足够你玩出花来",{"2":{"169":1}}],["必填",{"2":{"188":3}}],["必要流程",{"2":{"169":1}}],["必须为",{"2":{"651":1}}],["必须在同一平台使用",{"2":{"596":1}}],["必须在同一行内",{"2":{"68":1}}],["必须同时满足所有条件",{"2":{"316":1}}],["必须",{"2":{"275":1}}],["必须保留首行",{"2":{"100":1}}],["必须用引号包裹",{"2":{"66":1}}],["试试非指令关键词",{"2":{"169":1}}],["试图捕捉某人",{"2":{"166":1}}],["区别在于允许额外",{"2":{"613":1}}],["区别在于发送骰点结果的方式",{"2":{"612":1}}],["区别主要在于对大成功",{"2":{"568":1}}],["区别是",{"2":{"575":1}}],["区别是群内收到就群内发送",{"2":{"126":1}}],["区别是设定的为",{"2":{"126":1}}],["区分大成功",{"2":{"168":1}}],["大多在政府部门工作",{"2":{"712":1}}],["大多数服务器不会默认开放所需要的端口",{"2":{"466":1}}],["大多数情况下都会有热心的网友在页面下方给出他们的解决方案",{"2":{"368":1}}],["大致来说",{"2":{"618":1}}],["大致了解",{"2":{"474":1}}],["大致了解其含义",{"2":{"372":1}}],["大部分",{"2":{"417":1}}],["大部分系统往往会限制应用程序在后台的活动",{"2":{"342":1}}],["大数字",{"2":{"409":1}}],["大于等于",{"2":{"318":1}}],["大失败时无视判定结果",{"2":{"593":1}}],["大失败的判定方式",{"2":{"568":1}}],["大失败",{"2":{"168":3,"277":1,"593":8}}],["大成功",{"2":{"168":3,"270":4,"570":1,"571":1,"572":1,"593":3}}],["套用这个模板",{"2":{"167":1}}],["打个比方",{"2":{"409":1}}],["打印出来的东西不仅会在控制台中出现",{"2":{"187":1}}],["打印日志",{"2":{"187":1}}],["打印解析出的数据",{"2":{"167":1}}],["打开扩展",{"2":{"599":1}}],["打开扩展并设定默认骰子为",{"2":{"175":1}}],["打开开关后在",{"2":{"510":1}}],["打开反向连接",{"2":{"495":1}}],["打开在文件夹内新创建的",{"2":{"464":1}}],["打开程序",{"2":{"423":1}}],["打开记事本",{"2":{"354":1}}],["打开系统设置",{"2":{"343":1}}],["打开这一功能",{"2":{"310":1}}],["打开",{"2":{"28":1,"32":1,"337":1,"448":1,"487":1,"510":1}}],["打开面具模块",{"2":{"26":1}}],["打开海豹核心",{"2":{"337":1}}],["打开海豹",{"2":{"12":1}}],["打开海豹的管理",{"2":{"11":1}}],["传输与重建",{"2":{"432":1}}],["传统的写法是这样",{"2":{"167":1}}],["传参为",{"2":{"147":1,"148":1,"149":1}}],["网络请求",{"0":{"167":1}}],["网站时",{"2":{"101":1}}],["替换成你希望指定的端口号",{"2":{"667":1}}],["替换成",{"2":{"609":1}}],["替换为",{"2":{"482":2}}],["替换为对应路径",{"2":{"32":1}}],["替换完成后",{"2":{"355":1}}],["替换掉你发现损坏的数据库",{"2":{"355":1}}],["替换安装",{"2":{"340":1}}],["替代",{"2":{"166":1,"659":1}}],["某人时",{"2":{"166":1}}],["某些情况下",{"2":{"94":1}}],["哒",{"2":{"165":1}}],["感谢魔都的章鱼站长给予的许可和支持",{"2":{"738":1}}],["感知",{"2":{"631":5,"638":2}}],["感觉是对的",{"2":{"165":1}}],["感情勉强",{"2":{"99":1}}],["感情挫折",{"2":{"99":1}}],["感情轻浮",{"2":{"99":1}}],["面骰",{"2":{"609":2,"610":2}}],["面骰的一种补偿骰法",{"2":{"606":1}}],["面向有前端经验的开发者",{"2":{"177":1}}],["面数",{"2":{"165":1,"600":1,"622":2,"676":1,"677":1,"684":1,"719":1}}],["面具安装工具",{"2":{"26":1}}],["面具",{"2":{"26":1}}],["读取玩家或群组数据",{"0":{"164":1}}],["读完对应内容后",{"2":{"47":1}}],["抽出了",{"2":{"627":3}}],["抽出来单独作为一个常量",{"2":{"163":1}}],["抽牌",{"0":{"625":1,"627":1},"1":{"626":1,"627":1,"628":1}}],["抽取指定种族的随机名字",{"2":{"736":1}}],["抽取随机名字",{"2":{"735":1}}],["抽取总结性疯狂症状",{"2":{"725":1}}],["抽取即时疯狂症状",{"2":{"725":1}}],["抽取即时症状",{"2":{"586":1}}],["抽取疯狂症状",{"0":{"725":1}}],["抽取失败的原因",{"2":{"150":1}}],["抽取结果",{"2":{"150":1,"151":1}}],["抽取结果字符串中可以插入",{"2":{"87":1,"91":1}}],["抽取结果字符串中最前面的",{"2":{"85":1}}],["抽取结果字符串中的",{"2":{"84":1}}],["抽取牌堆的另一种写法",{"2":{"151":1}}],["抽取牌堆的函数是",{"2":{"150":1}}],["抽取牌堆失败",{"2":{"151":1}}],["抽取牌堆示例",{"2":{"151":1}}],["抽取牌堆",{"0":{"150":1,"151":1},"1":{"151":1},"2":{"151":1}}],["抽取牌组时",{"2":{"96":1}}],["抽取本牌组时将请求接口获取云端数据",{"2":{"96":1}}],["抽取了",{"2":{"89":1}}],["抽取",{"2":{"84":1,"89":1}}],["序列号即为",{"2":{"597":1}}],["序列号",{"2":{"597":2}}],["序列为止的所有文本",{"2":{"75":1}}],["序号",{"2":{"162":1,"593":1,"719":1}}],["安全组",{"2":{"657":1}}],["安全性",{"2":{"417":1}}],["安心等待开发者解决就好",{"2":{"368":1}}],["安卓端",{"2":{"487":1}}],["安卓端尚在公测",{"2":{"340":1}}],["安卓端海豹不会实时更新导出的文件",{"2":{"338":1}}],["安卓端海豹文件无法直接被读取",{"2":{"338":1}}],["安卓端登录",{"0":{"332":1}}],["安卓端文件路径",{"0":{"328":1}}],["安卓海豹常见问题",{"0":{"331":1},"1":{"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1}}],["安价",{"2":{"162":3}}],["安装完成",{"2":{"520":1}}],["安装完成后重新登录",{"2":{"495":1}}],["安装完成后",{"2":{"28":1,"520":2}}],["安装完成后应该如下所示",{"2":{"27":1}}],["安装为系统服务",{"0":{"520":1}}],["安装改过的安装包",{"2":{"337":1}}],["安装下载的",{"2":{"332":1}}],["安装方式",{"2":{"34":1}}],["安装并激活",{"0":{"34":1}}],["安装后需要在电脑中使用",{"2":{"32":1}}],["安装经",{"2":{"31":1}}],["安装到模拟器中",{"2":{"28":1}}],["安装包",{"2":{"28":1,"517":1}}],["安装",{"0":{"27":1,"28":1,"32":1,"33":1,"494":1},"2":{"32":1}}],["查找指定分组下的文档",{"2":{"695":1}}],["查找文档",{"2":{"695":1}}],["查阅详细说明",{"2":{"520":1}}],["查询功能在不同设备上的实现是不同的",{"2":{"616":1}}],["查询",{"2":{"616":1,"694":1,"695":1}}],["查询指定扩展的信息",{"2":{"599":1}}],["查询指令",{"2":{"527":1}}],["查询文档放置位置",{"2":{"326":1}}],["查询等操作的实现示例",{"2":{"162":1}}],["查看编辑推荐",{"2":{"738":1}}],["查看用法",{"2":{"731":2,"733":1}}],["查看用户的需求和",{"2":{"364":1}}],["查看鸽子背后的故事",{"2":{"675":1}}],["查看先攻列表",{"2":{"633":1}}],["查看牌组所属牌堆的详细信息",{"2":{"626":1}}],["查看特定牌堆可抽取的牌组列表",{"2":{"626":1}}],["查看扩展列表和开启情况",{"2":{"599":1}}],["查看指定模组的详细内容",{"2":{"738":1}}],["查看指定用户黑白名单情况",{"2":{"597":1}}],["查看指令列表",{"2":{"282":1}}],["查看当前欢迎语",{"2":{"680":1}}],["查看当前死亡豁免情况",{"2":{"651":1}}],["查看当前法术位状况",{"2":{"645":1}}],["查看当前标记列表",{"2":{"623":1}}],["查看当前默认骰子面数",{"2":{"622":1}}],["查看当前群组的默认查询分组",{"2":{"617":1}}],["查看当前角色名",{"2":{"614":1}}],["查看当前面数设置",{"2":{"600":1}}],["查看当前",{"2":{"596":1}}],["查看运行状态",{"2":{"520":1}}],["查看日志",{"2":{"387":1,"520":1,"654":1}}],["查看迁移数据到手机",{"2":{"341":1}}],["查看拦截日志",{"0":{"255":1}}],["查看帮助文档词条",{"0":{"296":1}}],["查看帮助",{"2":{"162":1,"597":1,"651":1}}],["查看记录",{"2":{"161":1}}],["查看自己的权限",{"2":{"153":1}}],["查看",{"2":{"152":1,"546":1}}],["删除角色卡",{"2":{"719":1}}],["删除的日志在海豹核心中永远失去",{"2":{"702":1}}],["删除的文件将无法找回",{"2":{"311":1}}],["删除个人快捷指令",{"2":{"682":1}}],["删除快捷指令",{"2":{"682":1}}],["删除掉默认的规则",{"2":{"659":1}}],["删除和清空",{"2":{"643":1}}],["删除指定日志",{"2":{"702":1}}],["删除指定角色卡",{"2":{"615":1}}],["删除指定属性的",{"2":{"643":1}}],["删除指定属性",{"2":{"562":1,"637":1}}],["删除所有属性数值和法术位",{"2":{"637":1}}],["删除所有属性数值",{"2":{"562":1}}],["删除所选",{"2":{"295":1}}],["删除属性",{"0":{"562":1,"637":1}}],["删除账号重新添加",{"2":{"487":2}}],["删除结果",{"2":{"319":1}}],["删除帮助文档",{"0":{"295":1}}],["删除牌堆通常会自动重载",{"2":{"261":1}}],["删除或更改",{"2":{"231":1}}],["删除",{"2":{"162":1,"261":1,"270":1,"302":1,"311":2,"487":1,"672":1}}],["删除之前添加的账号",{"2":{"12":1}}],["物品>",{"2":{"161":2}}],["答案是使用",{"2":{"160":1}}],["避免他人访问",{"2":{"245":1}}],["避免忘记",{"2":{"243":1}}],["避免出现预期外情况",{"2":{"695":1}}],["避免出现",{"2":{"233":1}}],["避免出现看上去保存了",{"2":{"80":1}}],["避免放错地方或者取错东西",{"2":{"160":1}}],["相当于计算器",{"2":{"602":1}}],["相比开机激活之后马上就可以投入使用的个人计算机",{"2":{"403":1}}],["相关内容",{"2":{"475":1}}],["相关设置均位于",{"2":{"214":1}}],["相关文档默认你了解如何使用前端工具链",{"2":{"191":1}}],["相关的消息",{"2":{"623":1}}],["相关的包可能存在兼容性问题",{"2":{"183":1}}],["相关的",{"2":{"160":1}}],["相同技能不能被反复列出",{"2":{"588":1}}],["相同平台间迁移",{"0":{"548":1}}],["相同的移除函数",{"2":{"156":1}}],["相同",{"2":{"126":1,"136":1,"314":1}}],["存在大量用户",{"2":{"361":1}}],["存在一个即可",{"2":{"122":2}}],["存有拦截日志等信息",{"2":{"327":1}}],["存有",{"2":{"327":1}}],["存有人物卡",{"2":{"327":1}}],["存活消息间隔写法",{"2":{"242":1}}],["存活确认",{"0":{"242":1}}],["存储权限",{"0":{"349":1}}],["存储数据",{"2":{"161":1}}],["存储起来",{"2":{"160":1}}],["存储时需要指定",{"2":{"160":1}}],["存放的数据是字符串类型",{"2":{"160":1}}],["存取数据",{"0":{"160":1},"1":{"161":1,"162":1}}],["警告后继续使用指令会增加怒气值",{"2":{"244":1}}],["警告",{"2":{"159":1,"187":1,"253":1}}],["警告级词表",{"2":{"122":1}}],["警告级词汇",{"2":{"121":1,"122":2}}],["演示图片中为",{"2":{"659":1}}],["演示",{"2":{"159":1,"171":1}}],["怒气值超过拉黑阈值",{"2":{"226":1}}],["怒气值",{"2":{"157":1,"159":2}}],["身份",{"2":{"152":1}}],["部分过时系统不支持",{"2":{"487":1}}],["部分修改",{"2":{"477":1}}],["部分服务端会推荐对应",{"2":{"462":1}}],["部分",{"2":{"387":1,"474":1,"478":1}}],["部分权限等级仅在群聊中有效",{"2":{"152":1}}],["部署的海豹功能有所限制",{"2":{"518":1}}],["部署",{"2":{"409":1,"416":1,"475":1,"488":1,"689":1}}],["部署在",{"2":{"389":1}}],["部署海豹的",{"2":{"486":1}}],["部署海豹与通过",{"2":{"475":1}}],["部署海豹时",{"2":{"473":1}}],["部署海豹核心为什么要解压压缩包",{"0":{"358":1}}],["部署海豹",{"0":{"49":1}}],["部署签名服务",{"2":{"7":1}}],["省略消耗数量时",{"2":{"647":1}}],["省去你一一发送日志文件的麻烦",{"2":{"542":1}}],["省去了判断是否抽取成功的步骤",{"2":{"151":1}}],["省事之外",{"2":{"116":1}}],["错误的用例",{"2":{"695":1}}],["错误的值",{"2":{"276":1}}],["错误写法",{"2":{"203":1}}],["错误原因",{"2":{"151":1}}],["错误检查",{"2":{"125":1}}],["完成",{"2":{"480":1}}],["完成后回到",{"2":{"511":1}}],["完成后复制下方生成的",{"2":{"450":1,"455":1,"459":1}}],["完成后点击",{"2":{"448":1}}],["完成后",{"2":{"448":1,"453":1,"514":1}}],["完全由骰主自行设定",{"2":{"697":1}}],["完全相同",{"2":{"612":1,"613":1}}],["完全等价于",{"2":{"583":1}}],["完全一致",{"2":{"317":1}}],["完全了吧",{"2":{"126":1}}],["完整的代码如下",{"2":{"149":1}}],["取较高或较低结果",{"2":{"606":1}}],["取悦",{"2":{"556":1}}],["取决于你",{"2":{"376":1}}],["取分隔后的最后一项的值",{"2":{"203":1}}],["取值分别为",{"2":{"173":1}}],["取出数据",{"2":{"163":1}}],["取名为$",{"2":{"148":1,"149":1}}],["取第一个参数为名字",{"2":{"148":1,"149":1}}],["给骰主发送消息",{"2":{"719":1}}],["给解决带来更高的效率",{"2":{"363":1}}],["给定的字数时触发对应回复项",{"2":{"318":1}}],["给用户",{"2":{"256":1}}],["给通知列表中的",{"2":{"232":1}}],["给",{"2":{"167":1}}],["给消息发送者回应",{"2":{"148":1}}],["给予其足够的运行权限",{"2":{"518":1}}],["给予适当的权限并配置安卓端保活",{"2":{"332":1}}],["给予通过",{"2":{"32":1}}],["给予",{"2":{"26":2}}],["函数的参数为",{"2":{"171":1}}],["函数进行注册",{"2":{"170":1}}],["函数也是可以使用的",{"2":{"170":1}}],["函数获取配置项的值",{"2":{"170":2}}],["函数注册配置项",{"2":{"170":1}}],["函数返回一个",{"2":{"167":1}}],["函数将数据再转换为",{"2":{"160":1}}],["函数将存储了数据的",{"2":{"160":1}}],["函数和",{"2":{"160":1}}],["函数传进来的第一个参数",{"2":{"150":1,"155":1}}],["函数接收的参数一致",{"2":{"148":1}}],["函数",{"2":{"146":1,"148":1,"151":1,"163":1}}],["召唤一只海豹",{"2":{"146":1,"149":2}}],["氪豹",{"2":{"146":1,"148":1,"149":2}}],["抓到一只海豹",{"2":{"146":1,"149":1}}],["抓取工具失效",{"2":{"18":1}}],["显示目前可用的快捷指令",{"2":{"682":1}}],["显示一串这样的文本",{"2":{"659":1}}],["显示帮助",{"2":{"633":1,"643":1,"738":1}}],["显示帮助信息",{"2":{"625":1}}],["显示指定词条的帮助文档",{"2":{"621":1}}],["显示随机词条",{"2":{"616":1,"695":1}}],["显示该",{"2":{"616":1,"695":1}}],["显示第",{"2":{"616":1}}],["显示当前房规",{"0":{"592":1}}],["显示当前大类下未修改过的文案",{"2":{"271":1}}],["显示所有权限",{"2":{"349":1}}],["显示悬浮窗",{"2":{"344":1}}],["显示全部文案",{"2":{"271":1}}],["显示",{"2":{"146":1,"149":1,"166":1}}],["写骰点式",{"2":{"729":1}}],["写调整值",{"2":{"729":1}}],["写为类似",{"2":{"482":1}}],["写的",{"2":{"386":1}}],["写入如下内容",{"2":{"187":1}}],["写好自定义指令的实现逻辑之后",{"2":{"145":1}}],["写法",{"2":{"115":2}}],["脚本添加第三方扩展",{"2":{"599":1}}],["脚本的名字",{"2":{"188":1}}],["脚本的编写的前置知识",{"2":{"186":1}}],["脚本引擎所提供的环境",{"2":{"187":1}}],["脚本不能替换内置指令和内置扩展",{"2":{"144":1}}],["脚本文件只会注册一个扩展",{"2":{"144":1}}],["脚本文件中注册多个扩展",{"2":{"144":1}}],["脚本和扩展",{"2":{"144":1}}],["脚本中创建扩展的方式如下",{"2":{"144":1}}],["懒",{"2":{"137":1}}],["太长",{"2":{"137":1}}],["代价是无法使用查询指令",{"2":{"669":1}}],["代价是损失从备份时间点到当前时间的数据",{"2":{"355":1}}],["代骰",{"0":{"567":1,"573":1,"576":1,"585":1,"639":1,"641":1,"644":1,"646":1,"648":1,"650":1,"652":1},"2":{"567":1,"573":1,"574":1,"576":1,"585":1,"613":1}}],["代骰附加文本",{"2":{"137":1}}],["代理组",{"2":{"659":1}}],["代理服务",{"2":{"659":1}}],["代理访问的途径",{"2":{"449":1,"515":1}}],["代理模式",{"2":{"449":1,"515":1}}],["代码仓库上提交",{"0":{"395":1}}],["代码都遵守着相应的格式规范",{"2":{"386":1}}],["代指你骰子的qq",{"2":{"326":1}}],["代表位于文档根目录的帮助文档位置",{"2":{"293":1}}],["代表可以在公网中用你的手机和电脑访问",{"2":{"245":1}}],["代表可用",{"2":{"168":2}}],["代替目标",{"2":{"719":1}}],["代替检定",{"2":{"719":1}}],["代替他人检定",{"0":{"529":1}}],["代替",{"2":{"24":1,"91":1,"201":1}}],["代替已经停止开发的",{"2":{"24":1}}],["信任信息",{"2":{"159":1}}],["信任列表",{"2":{"159":1,"597":1}}],["信任用户",{"2":{"159":1,"597":1}}],["信任用户和拉黑用户存在同一个列表中",{"2":{"159":1}}],["信任用户名单",{"0":{"156":1}}],["信任的时间",{"2":{"157":1}}],["信任的发生地点",{"2":{"157":1}}],["信任原因",{"2":{"157":1}}],["信任等级",{"2":{"157":1}}],["信任名单中",{"2":{"158":1}}],["信任名单中的信息",{"0":{"158":1}}],["信任名单列表",{"0":{"157":1}}],["信任名单操作",{"0":{"154":1,"159":1},"1":{"155":1,"156":1,"157":1,"158":1,"159":1}}],["信任名单可以通过",{"2":{"152":1}}],["信任",{"2":{"137":1,"159":2}}],["信息查询",{"0":{"626":1}}],["信息",{"2":{"88":1,"152":1,"337":1,"446":1,"615":1}}],["成长值可以是负数",{"2":{"589":1}}],["成为开发者后你即可建立一个应用并获取",{"2":{"453":1}}],["成员",{"2":{"137":1,"138":1,"139":1,"140":1,"141":1,"142":1}}],["成功时失去理智",{"2":{"719":1,"724":1}}],["成功时理智损失",{"2":{"582":1,"584":1}}],["成功度",{"2":{"688":1}}],["成功1",{"2":{"684":1}}],["成功11",{"2":{"609":1}}],["成功0",{"2":{"684":1}}],["成功和失败可分别简写为",{"2":{"651":1}}],["成功|失败",{"2":{"651":1}}],["成功4",{"2":{"609":1}}],["成功2",{"2":{"609":1}}],["成功数加",{"2":{"609":1}}],["成功线默认为",{"2":{"609":1}}],["成功线",{"2":{"609":1,"684":2}}],["成功率",{"2":{"593":3}}],["成功率为$",{"2":{"166":1}}],["成功成长值",{"2":{"589":2}}],["成功启动后可以发现打开了如下的命令行窗口",{"2":{"490":1}}],["成功",{"2":{"168":2,"278":2,"570":1,"573":1,"574":1,"576":1}}],["成功判定",{"2":{"168":1}}],["成功获取后进行合并并去重",{"2":{"96":1}}],["成功连接后即可使用",{"2":{"30":1,"491":1}}],["成功注入后",{"2":{"28":1}}],["成功滑条后",{"2":{"12":1}}],["煤气灯",{"2":{"134":2}}],["村规的",{"2":{"133":1}}],["要申请用于邀请海豹至",{"2":{"450":1,"455":1,"459":1}}],["要获取用于连接海豹的信息之前",{"2":{"504":1}}],["要获取用于连接海豹的",{"2":{"448":1,"457":1,"509":1,"514":1}}],["要在",{"2":{"396":1,"452":1}}],["要在使用",{"2":{"374":1}}],["要求在骰子回应后才能再次发送",{"2":{"681":1}}],["要求使用心理学技能",{"2":{"576":1}}],["要求一定难度的检定",{"0":{"571":1}}],["要求你发送截图也只是为了更好地了解你的问题究竟出在哪里",{"2":{"363":1}}],["要求安卓版本",{"2":{"31":1}}],["要如何设置",{"2":{"287":1}}],["要怎样使用呢",{"2":{"321":1}}],["要怎样设置",{"2":{"321":1}}],["要怎样让它简洁起来呢",{"2":{"268":1}}],["要怎样让它丰富起来呢",{"2":{"268":1}}],["要怎么实现",{"2":{"287":1}}],["要怎么做",{"0":{"176":1}}],["要干什么",{"2":{"169":1}}],["要发送给骰娘的具体消息",{"2":{"167":1}}],["要爱护动物",{"2":{"161":1}}],["要看懂这里你可能需要学习一下初阶豹语",{"2":{"131":1}}],["触发快捷指令",{"2":{"682":1}}],["触发骰子的回应了",{"2":{"681":1}}],["触发该回复项",{"2":{"317":1}}],["触发机制多样",{"2":{"309":1,"697":1}}],["触发敏感词拦截",{"2":{"226":1}}],["触发某些自动规则时",{"2":{"226":1}}],["触发方式",{"2":{"219":1}}],["触发位置为群还是私聊",{"2":{"201":1}}],["触发的平台",{"2":{"201":1}}],["触发消息的文本",{"2":{"201":1}}],["触发者会收到",{"2":{"127":3}}],["触发条件",{"0":{"103":1},"1":{"104":1,"105":1,"106":1}}],["声明和注册扩展的代码部分已省略",{"2":{"126":1}}],["解锁码的用法参见",{"2":{"230":1}}],["解锁码",{"0":{"230":1},"2":{"230":1,"596":1}}],["解释器",{"2":{"213":1}}],["解决方法",{"2":{"212":1}}],["解析",{"2":{"167":1}}],["解析新的游戏规则",{"2":{"126":2,"135":2}}],["解压下载的",{"2":{"490":1}}],["解压缩软件时常不会自动帮你创建文件夹",{"2":{"358":1}}],["解压压缩包需要解压缩的应用",{"2":{"358":1}}],["解压后进行开发",{"2":{"178":1}}],["解压好的",{"2":{"32":1}}],["解压到电脑中任何可用的位置",{"2":{"29":1}}],["解压一个新的",{"2":{"19":1}}],["规定的同义词等价",{"2":{"556":1}}],["规则骰点",{"0":{"684":1},"2":{"713":1}}],["规则支持",{"0":{"683":1},"1":{"684":1,"685":1,"686":1,"687":1,"688":1}}],["规则支持列表",{"0":{"546":1}}],["规则名",{"2":{"622":1,"707":1}}],["规则中对",{"2":{"606":1}}],["规则中",{"2":{"605":1}}],["规则中切换",{"2":{"600":1}}],["规则中默认使用的同义词",{"2":{"555":1}}],["规则书",{"2":{"593":1}}],["规则有适当了解",{"2":{"558":1,"630":1}}],["规则来说",{"2":{"176":1}}],["规则的索引",{"2":{"711":1}}],["规则的一系列资料",{"2":{"616":1}}],["规则的同义词可在骰子启动后",{"2":{"557":1}}],["规则的同义词",{"2":{"557":1}}],["规则的自动群名片格式",{"2":{"175":1}}],["规则的属性同义词",{"2":{"175":1}}],["规则的二级属性计算公式",{"2":{"175":1}}],["规则的角色卡属性展示顺序",{"2":{"175":1}}],["规则的角色卡",{"2":{"175":1}}],["规则自己的技能默认值",{"2":{"175":1}}],["规则提供以下功能",{"2":{"175":1}}],["规则模板",{"2":{"622":1}}],["规则模板能为",{"2":{"175":1}}],["规则模板是海豹核心中几种功能的整合发展",{"2":{"175":1}}],["规则模板是什么",{"0":{"175":1}}],["规则详细内容",{"2":{"172":1}}],["规则相关",{"0":{"135":1}}],["规则",{"0":{"168":1,"172":1},"1":{"173":1,"174":1,"175":1,"176":1},"2":{"126":1,"168":1,"172":3,"176":2,"593":1,"719":2}}],["规范",{"2":{"101":1}}],["视为",{"2":{"126":1}}],["视频教程操作",{"2":{"12":1}}],["否则计算最终骰点",{"2":{"610":1}}],["否则可能造成不可逆的数据损坏",{"2":{"547":1}}],["否则会发不出消息",{"2":{"495":1}}],["否则将导致挤占下线",{"2":{"486":1}}],["否则",{"2":{"314":1}}],["否则未保存的修改将丢失",{"2":{"270":1}}],["否则只有邀请者",{"2":{"238":1}}],["否则返回",{"2":{"126":1,"142":1}}],["否则海豹将无法正确解析",{"2":{"93":1}}],["之类的工具定时清理过高的内存占用",{"2":{"495":1}}],["之前的资料保留备查",{"2":{"486":1}}],["之前",{"2":{"448":1,"457":1,"509":1,"514":1}}],["之间的",{"2":{"464":1}}],["之间",{"2":{"194":1}}],["之外",{"2":{"194":1,"599":1}}],["之后",{"2":{"691":1}}],["之后会自动填入代理",{"2":{"659":1}}],["之后双击那个文件夹",{"2":{"358":1}}],["之后同上",{"2":{"354":1}}],["之后用",{"2":{"166":1}}],["之后的仓库上执行",{"2":{"41":1}}],["之所以会有这么奇怪的说法是因为",{"2":{"126":2}}],["调查",{"2":{"638":2}}],["调整值",{"2":{"719":1}}],["调整端口暴露等",{"2":{"518":1}}],["调整",{"2":{"185":1}}],["调用时请使用",{"2":{"170":1}}],["调用自定义文案",{"2":{"126":1}}],["调试",{"2":{"32":2}}],["调试桥",{"2":{"32":1}}],["转译并返回",{"2":{"126":1}}],["经常掉线",{"0":{"334":1}}],["经常备份是避免数据损失的最佳手段",{"2":{"214":1}}],["经常会需要用到辅助的牌组",{"2":{"89":1}}],["经过一层",{"2":{"126":1}}],["似乎是从",{"2":{"142":1}}],["似乎目前没有",{"2":{"141":1}}],["似乎也只实现了",{"2":{"126":1}}],["似乎只实现了",{"2":{"126":1}}],["私骰",{"2":{"691":1}}],["私骰模式",{"0":{"237":1},"2":{"509":1}}],["私聊也被认为是一个特殊的群聊",{"2":{"615":1}}],["私聊不回复的问题是在",{"2":{"389":1}}],["私聊回复",{"2":{"319":1}}],["私聊中除了骰主",{"2":{"152":1}}],["私聊发送则在私聊回复",{"2":{"148":1,"149":1}}],["私聊",{"2":{"141":1,"275":1,"280":2,"323":1,"502":1}}],["私聊收到就私聊发送",{"2":{"126":1}}],["私信",{"2":{"126":1,"514":1}}],["私服",{"2":{"46":1}}],["顾名思义就是开放了源代码在公共平台的程序",{"2":{"362":1}}],["顾名思义",{"2":{"126":1,"403":1,"438":1,"690":1}}],["类目下",{"2":{"322":1}}],["类型文件",{"2":{"181":1}}],["类型",{"2":{"150":1,"155":1}}],["类型配置项的值",{"2":{"126":6}}],["类型的配置项",{"2":{"126":6}}],["类型的触发者的该变量的值",{"2":{"126":2}}],["类型的",{"2":{"126":4}}],["类似前文删除代理",{"2":{"659":1}}],["类似地",{"2":{"556":1}}],["类似暗骰",{"2":{"126":1}}],["类似",{"2":{"96":1,"488":1,"627":1}}],["初次启动时提示是否运行",{"2":{"345":1}}],["初次启动会选择",{"2":{"9":1}}],["初阶豹语",{"2":{"126":3}}],["捆绑大量流氓软件的安装包",{"2":{"125":1}}],["能在手机上搭建吗",{"0":{"670":1}}],["能远程直接访问",{"0":{"657":1}}],["能被任何",{"2":{"523":1}}],["能想到这个系列就最好了",{"2":{"376":1}}],["能让你更有效率地解决在部署",{"2":{"374":1,"396":1}}],["能够高效学习上手相关知识",{"2":{"365":1}}],["能够完成什么功能",{"2":{"52":1}}],["能为你带来更好的编写体验",{"2":{"125":1}}],["管理所有群的所有日志",{"2":{"703":1}}],["管理日志",{"0":{"702":1}}],["管理自定义回复",{"0":{"629":1}}],["管理牌堆",{"0":{"625":1},"1":{"626":1,"627":1,"628":1}}],["管理和开发者们都有自己的生活",{"2":{"394":1}}],["管理黑白名单",{"2":{"187":1}}],["管理员和",{"2":{"238":1}}],["管理员",{"2":{"152":2,"450":1}}],["管理机制",{"2":{"144":1}}],["管理",{"0":{"229":1},"1":{"230":1,"231":1,"232":1},"2":{"137":1,"363":1}}],["管理器的",{"2":{"339":1}}],["管理器并安装",{"2":{"337":1}}],["管理器等软件",{"0":{"337":1}}],["管理器",{"2":{"125":1,"337":2}}],["管控愈加严格",{"2":{"24":1}}],["扩展规则",{"0":{"707":1}}],["扩展提供的指令",{"2":{"673":1}}],["扩展关闭时",{"2":{"654":1}}],["扩展被关闭了",{"2":{"654":1}}],["扩展名",{"2":{"599":2}}],["扩展管理",{"0":{"599":1}}],["扩展指令可以被关闭",{"2":{"595":1}}],["扩展的文案介绍",{"2":{"274":1}}],["扩展的名称",{"2":{"188":1}}],["扩展功能",{"2":{"250":1,"261":1,"292":1,"301":1,"310":1,"616":1,"703":1}}],["扩展依赖",{"0":{"192":1},"1":{"193":1,"194":1,"195":1}}],["扩展需要在开头以固定格式注释的形式留下信息",{"2":{"188":1}}],["扩展头信息",{"2":{"181":1}}],["扩展文件",{"2":{"177":1}}],["扩展操作黑名单",{"2":{"159":1}}],["扩展机制可以看做是海豹的",{"2":{"144":1}}],["扩展机制",{"2":{"144":1}}],["扩展",{"2":{"124":1,"144":2,"167":3,"193":1,"262":1,"301":1,"599":1,"622":2,"679":1,"680":1,"681":1,"682":1,"694":1}}],["先攻",{"2":{"719":1}}],["先攻表达式",{"2":{"633":1}}],["先攻列表",{"0":{"633":1},"2":{"719":1}}],["先攻值支持以下三种写法",{"2":{"729":1}}],["先攻值部分支持以下三种写法",{"2":{"632":1}}],["先攻值",{"2":{"632":2,"729":1}}],["先攻设置",{"0":{"632":1}}],["先将扩展模块创建出来",{"2":{"149":1,"161":1,"166":1}}],["先了解海豹语",{"2":{"124":1}}],["先阅读本章的对应小节",{"2":{"123":1}}],["匿名>",{"2":{"122":1}}],["词库同时生效",{"2":{"254":1}}],["词库列表",{"2":{"254":1}}],["词库名称",{"2":{"122":1}}],["词表",{"2":{"122":1}}],["词条名",{"2":{"621":1}}],["词条查询指令",{"0":{"616":1},"1":{"617":1,"618":1,"619":1,"620":1}}],["词条查询的格式",{"2":{"100":1}}],["词条内容",{"2":{"100":1}}],["词条同义词",{"2":{"100":1}}],["词条c",{"2":{"98":2}}],["词条b",{"2":{"98":3}}],["词条",{"2":{"98":8,"100":2,"296":1}}],["词条a",{"2":{"98":4,"291":2}}],["元信息",{"2":{"122":1}}],["元信息表",{"2":{"80":1}}],["门前有两棵树",{"2":{"119":1}}],["随着终端关闭",{"2":{"520":1}}],["随着学习的不断深入",{"2":{"371":1}}],["随着大语言模型的兴起",{"2":{"369":1}}],["随时保存修改",{"2":{"315":1}}],["随",{"2":{"201":1}}],["随机打乱提供的元素",{"2":{"737":1}}],["随机排列顺序",{"0":{"737":1}}],["随机名字",{"0":{"735":1}}],["随机",{"0":{"736":1},"2":{"719":1}}],["随机延迟间隔",{"2":{"662":1}}],["随机生成带属性名的结果",{"2":{"631":1}}],["随机生成指定组数的待分配属性",{"2":{"631":1}}],["随机生成指定数量的调查员属性",{"2":{"590":1}}],["随机指令",{"2":{"543":1}}],["随机数",{"2":{"214":1,"674":1}}],["随机骰",{"2":{"207":1}}],["随机弃牌",{"2":{"174":1}}],["随机二次元图片",{"2":{"167":1}}],["随机猫猫图片",{"2":{"167":1}}],["随机抽取一个模组",{"2":{"738":1}}],["随机抽取",{"2":{"162":2,"270":1,"319":1}}],["随机看图",{"0":{"118":1}}],["随便写",{"2":{"155":2}}],["随后使用登录了目标账号的手机",{"2":{"487":1}}],["随后",{"2":{"353":1,"477":2,"518":2,"659":1}}],["随后弹出获取到的新数据与当前插件数据的对比",{"2":{"303":1}}],["随后弹出获取到的新牌堆与当前牌堆的对比",{"2":{"264":1}}],["随后会弹出确认框",{"2":{"270":1}}],["随后向消息发送者发送回应",{"2":{"148":1}}],["随后作出响应",{"2":{"147":1}}],["随后按自定义回复的格式进行换行",{"2":{"114":1}}],["随后在你的手机中出现指纹调试弹框",{"2":{"32":1}}],["随后在",{"2":{"32":1,"35":1}}],["随后将",{"2":{"32":1}}],["随后再执行",{"2":{"29":1}}],["随后再打开",{"2":{"28":1}}],["随后找到模拟器供",{"2":{"29":1}}],["随后你可以在右下角看到重启按钮",{"2":{"27":1}}],["随后你需要再次重启模拟器",{"2":{"26":1}}],["怎么帮人取出",{"0":{"671":1}}],["怎么同时运行多个海豹",{"0":{"665":1},"1":{"666":1,"667":1,"668":1}}],["怎么办",{"0":{"658":1,"661":1},"1":{"659":1,"660":1}}],["怎么样提",{"2":{"364":1}}],["怎么样解压压缩包",{"0":{"358":1}}],["怎么提",{"0":{"364":1}}],["怎么修改那些固定的回复词",{"2":{"268":1}}],["怎么使用牌堆",{"0":{"262":1}}],["怎么使用签名服务",{"0":{"8":1}}],["怎么管理牌堆",{"0":{"261":1}}],["怎么上传牌堆到骰子",{"0":{"261":1}}],["怎么辉石呢",{"2":{"117":1}}],["前一用法的特殊情况",{"2":{"638":1}}],["前往官网的",{"2":{"552":1}}],["前往",{"2":{"463":3,"465":1,"497":1}}],["前往侧边导航栏",{"2":{"450":1,"455":1,"459":1}}],["前三个策略可能需要相应权限才能生效",{"2":{"351":1}}],["前缀",{"2":{"275":1,"280":2,"281":1,"321":1}}],["前缀匹配",{"2":{"117":1,"317":1}}],["前者用于赋值而后者用于比较",{"2":{"202":1}}],["前言部分的阅读",{"2":{"473":1}}],["前言",{"0":{"186":1,"366":1,"376":1,"484":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"485":1,"486":1}}],["前请先判断是否符合预期",{"2":{"159":1}}],["前两个参数和",{"2":{"148":1}}],["前置工作",{"0":{"11":1}}],["型文本",{"0":{"117":1}}],["我收到了",{"2":{"679":1}}],["我机器上启动非常慢",{"0":{"669":1}}],["我该选择从哪里获取",{"2":{"517":1}}],["我该不会需要编写两条相同的回复项吧",{"2":{"316":1}}],["我使用的是",{"2":{"389":1}}],["我试过重启海豹",{"2":{"388":1}}],["我试过对我的海豹骰进行重启",{"2":{"388":1}}],["我修改过的牌堆上传到海豹之后",{"2":{"387":1}}],["我修改的部分是这样的",{"2":{"386":1}}],["我发出指令但是骰子在私聊中没有回复我",{"2":{"387":1}}],["我直接把",{"2":{"386":1}}],["我在群里",{"2":{"386":1}}],["我在本地的",{"2":{"386":1}}],["我在什么时候做了这些事情让骰子出现问题了",{"2":{"379":1}}],["我怎么做才能去修复这个问题",{"2":{"379":1}}],["我做了什么让我的骰子出现了问题",{"2":{"379":1}}],["我是开发者",{"2":{"553":1}}],["我是骰主",{"2":{"553":1}}],["我是",{"0":{"671":1},"2":{"553":3}}],["我是通过分离部署连接的",{"2":{"389":1}}],["我是在哪里做了一些事情让我的骰子出现问题了",{"2":{"379":1}}],["我是一个示例",{"2":{"284":2}}],["我希望在我的骰子进群或者被踢出时通知我",{"0":{"663":1}}],["我希望写一个插件",{"2":{"385":1}}],["我希望编写有一定逻辑的自定义回复",{"2":{"321":1}}],["我希望",{"2":{"316":1}}],["我希望让骰子能回复用户发送的早安",{"2":{"309":1}}],["我希望骰子能有多套回复词",{"2":{"287":1}}],["我希望能根据骰点结果显示不同的文案",{"2":{"287":1}}],["我想控制只有私聊才触发回复",{"2":{"321":1}}],["我想给我的小伙伴分享我的文案",{"2":{"272":1}}],["我想使用的",{"0":{"184":1}}],["我的骰子",{"2":{"693":1}}],["我的骰子突然不响应指令了",{"2":{"385":1}}],["我的骰子有自己的人设",{"2":{"268":1}}],["我的朋友",{"2":{"169":1}}],["我不想自己一条条修改文案",{"2":{"272":1}}],["我不希望我的骰子被用来跑粉红团",{"2":{"250":1}}],["我不会",{"0":{"199":1},"2":{"309":1}}],["我忘了",{"0":{"672":1},"2":{"245":1}}],["我能在项目中引用",{"0":{"183":1}}],["我连接不上主脑了",{"2":{"167":1}}],["我知道这里有更好的判断是否为数字的方法但是我不会",{"2":{"165":1}}],["我要怎么做",{"2":{"321":1}}],["我要",{"2":{"131":2}}],["我讲完了",{"2":{"119":1}}],["我赢了",{"2":{"116":1}}],["我们假设你的第一只海豹已经配置好了",{"2":{"666":1}}],["我们假定你熟悉",{"2":{"186":1}}],["我们假定你了解如何使用前端工具链",{"2":{"177":1}}],["我们假定你了解海豹变量机制和正则表达式",{"2":{"101":1}}],["我们假定你已对",{"2":{"558":1,"630":1}}],["我们假定你已经阅读了自定义回复编写的",{"2":{"101":1}}],["我们假定你已了解",{"2":{"97":1,"122":1}}],["我们认为",{"2":{"596":1}}],["我们认为这种扩展有益于减少编写者的负担",{"2":{"69":1}}],["我们决定不将列表放在手册中",{"2":{"557":1}}],["我们在选择同义词时遵循以下几条原则",{"2":{"556":1}}],["我们期待这样的指令实际只录入一条属性",{"2":{"556":1}}],["我们仍推荐适当使用空格",{"2":{"522":1}}],["我们非常建议你使用从官网获取的正式版海豹",{"2":{"517":1}}],["我们非常建议你先行阅读",{"2":{"516":1}}],["我们非常建议你在扩展功能的编写中",{"2":{"124":1}}],["我们始终建议你升级到程序的最新版本",{"2":{"492":1}}],["我们始终建议你选择前面提到的",{"2":{"489":1}}],["我们无法得知具体的检测细节",{"2":{"485":1}}],["我们提供了通过",{"2":{"449":1,"515":1}}],["我们第一个打开的程序通常就是",{"2":{"433":1}}],["我们日常使用的程序通常使用图形用户界面",{"2":{"433":1}}],["我们知道",{"2":{"403":1,"556":1}}],["我们没有资格教屏幕前的你如何做人",{"2":{"376":1}}],["我们觉得",{"2":{"376":1}}],["我们很可能遇到用于解释新概念的描述中",{"2":{"371":1}}],["我们尽力提供了深度恰到好处的知识",{"2":{"368":1}}],["我们的第一反应往往是去搜索引擎寻求答案",{"2":{"368":1}}],["我们撰写了本篇文档",{"2":{"366":1}}],["我们也希望在未来",{"2":{"502":1}}],["我们也不希望你放弃自己思考的权利",{"2":{"366":1}}],["我们也非常建议你系统地学习它们",{"2":{"63":1}}],["我们也非常推荐你尝试",{"2":{"62":1}}],["我们以",{"2":{"270":1}}],["我们可以看到默认置入的",{"2":{"292":1}}],["我们可以看见",{"2":{"271":1}}],["我们可以看见有名为",{"2":{"262":1}}],["我们可以通过一定方式来隐藏这些项",{"2":{"89":1}}],["我们更推荐使用",{"2":{"190":1}}],["我们更建议你使用",{"2":{"104":1}}],["我们已经写了一个比较完善且有详细注释的示例",{"2":{"176":1}}],["我们已经了解了一些简单的回复编写",{"2":{"102":1}}],["我们使用",{"2":{"169":1}}],["我们需要获取作为海豹名字的参数",{"2":{"148":1}}],["我们通常需要在对应格式的文件进行编写",{"2":{"125":1}}],["我们建议",{"2":{"123":1}}],["我们建议你读完整段再点击链接跳转到对应内容",{"2":{"47":1}}],["我们平局了",{"2":{"116":1}}],["我们先给",{"2":{"111":1}}],["我们为牌堆提供了配置更新链接的机制",{"2":{"90":1}}],["我们为你准备了简单的科普",{"2":{"48":1}}],["我们希望你如果真的非常需要加入功能",{"2":{"364":1}}],["我们希望在骰主仅安装了",{"2":{"193":1}}],["我们希望牌堆内容能够自动更新",{"2":{"94":1}}],["我们希望",{"2":{"80":1}}],["我们从编写一个最简单的牌堆开始",{"2":{"80":1}}],["我们将",{"2":{"556":1}}],["我们将简单介绍",{"2":{"63":1}}],["我们将本手册的所有内容按照从零开始到深入定制的操作顺序重新排列成了本节的内容",{"2":{"47":1}}],["我们推荐你较为完整地了解海豹核心提供的各种指令",{"2":{"720":1}}],["我们推荐你简单浏览一遍各种指令",{"2":{"52":1}}],["我们推荐如下",{"2":{"486":1}}],["我们推荐使用",{"2":{"486":1}}],["我们推荐直接回滚到备份文件的状态",{"2":{"355":1}}],["我们推荐采用这种方式",{"2":{"69":1}}],["我们推荐新用户按此顺序阅读手册",{"2":{"47":1}}],["我们会尽可能满足你的需求",{"2":{"50":1}}],["我们还是建议在",{"2":{"38":1}}],["我们都非常欢迎你参与海豹的开发",{"2":{"36":1}}],["我们不建议任何用户再使用此方式部署",{"2":{"486":1}}],["我们不希望你就此放弃",{"2":{"366":1}}],["我们不对信息的及时性做任何保证",{"2":{"9":1}}],["我们不推荐任何用户再使用此方案连接",{"2":{"6":1}}],["啊",{"2":{"116":3}}],["布尔类型",{"2":{"150":2,"202":1}}],["布尔值",{"2":{"65":1,"70":1,"77":1}}],["布",{"2":{"116":6}}],["剪刀",{"2":{"116":6}}],["石头剪刀布内在这里采用了第一种",{"2":{"116":1}}],["石头",{"2":{"116":6}}],["令人理智崩溃",{"2":{"558":1}}],["令",{"2":{"116":1}}],["换成",{"2":{"115":1}}],["换台电脑等",{"2":{"17":1}}],["于是你又看了一眼日志是什么意思",{"2":{"372":1}}],["于是你在",{"2":{"372":1}}],["于是你搜索引擎中开始查找",{"2":{"371":1}}],["于是你访问了教程开头的链接",{"2":{"371":1}}],["于内部写入",{"2":{"114":1}}],["于言诺",{"2":{"3":1,"626":1}}],["赋值为",{"2":{"111":1}}],["构成",{"2":{"110":1}}],["构建",{"2":{"36":1}}],["第",{"2":{"677":1}}],["第三方方案的可用性也可能会随时间推移而存在变化",{"2":{"485":1}}],["第三步",{"2":{"149":1,"345":1}}],["第三个参数是你要发送的文本",{"2":{"148":1}}],["第三个被",{"2":{"130":1}}],["第三段开始变形了",{"2":{"119":1}}],["第三档猫好感",{"2":{"113":1}}],["第六档猫好感",{"2":{"113":1}}],["第五档猫好感",{"2":{"113":1}}],["第四档猫好感",{"2":{"113":1}}],["第二轮中",{"2":{"610":1}}],["第二步",{"2":{"146":1,"345":1}}],["第二段",{"2":{"119":1}}],["第二档猫好感",{"2":{"113":1}}],["第二个",{"2":{"110":1}}],["第一个参数为",{"2":{"695":1}}],["第一个自定义回复",{"0":{"102":1}}],["第一次接入",{"2":{"458":1}}],["第一步",{"2":{"146":1}}],["第一段",{"2":{"119":1}}],["第一档猫好感",{"2":{"113":1}}],["既不等于",{"2":{"110":1}}],["群快捷指令",{"2":{"682":2}}],["群控等大量功能目前不支持",{"2":{"502":1}}],["群员",{"2":{"394":1}}],["群里可以正常使用",{"2":{"385":1}}],["群精华消息和历史聊天记录中",{"2":{"381":1}}],["群组",{"2":{"596":1}}],["群组状态等信息",{"2":{"327":1}}],["群组中最后一次发送消息的时间",{"2":{"248":1}}],["群的",{"2":{"323":1}}],["群的列表",{"2":{"222":1}}],["群配置白名单",{"2":{"256":1}}],["群豁免检查",{"0":{"256":1}}],["群",{"2":{"253":1,"281":1,"323":1,"496":1,"554":2}}],["群名",{"2":{"201":1}}],["群内回复",{"2":{"319":1}}],["群内",{"2":{"275":1,"280":1}}],["群内所有人共享",{"2":{"201":1}}],["群内安价收集",{"0":{"162":1},"2":{"162":1}}],["群变量",{"2":{"201":1}}],["群号",{"2":{"141":1,"576":1,"612":1,"679":2,"703":2}}],["群聊",{"2":{"141":1,"663":1}}],["群主",{"2":{"137":1,"152":2}}],["群主的人品为",{"2":{"129":1}}],["群主女装",{"2":{"110":2}}],["群列表",{"2":{"8":1,"554":1}}],["赞美木落",{"2":{"110":2}}],["例",{"2":{"109":1}}],["例如伤害值",{"2":{"720":1}}],["例如必须使用指令使骰子退群",{"2":{"691":1}}],["例如当",{"2":{"654":1}}],["例如虚假生命",{"2":{"643":1}}],["例如两位调查员相互对抗时",{"2":{"577":1}}],["例如后面是",{"2":{"490":1}}],["例如将",{"2":{"481":1}}],["例如标签页",{"2":{"440":1}}],["例如在分离部署",{"2":{"409":1}}],["例如希望加入一个新的接口",{"2":{"395":1}}],["例如本手册中的",{"2":{"368":1}}],["例如修改骰子进群的文案",{"2":{"282":1}}],["例如我们给上面的",{"2":{"195":1}}],["例如允许自启动",{"2":{"34":1}}],["例如",{"2":{"32":1,"35":1,"94":1,"147":1,"148":2,"149":1,"150":1,"155":1,"187":1,"193":1,"194":1,"196":1,"202":1,"203":1,"235":1,"236":1,"247":1,"270":1,"283":1,"284":1,"368":1,"371":1,"372":1,"387":1,"409":1,"423":1,"433":1,"464":1,"481":1,"489":1,"565":1,"694":2,"695":1,"708":1,"724":1}}],["括上",{"2":{"109":1}}],["括起来的部分会被作为代码执行",{"2":{"109":1}}],["^",{"2":{"105":1,"205":2}}],["^购买",{"2":{"105":1}}],["命中时进行相应处理的能力",{"2":{"250":1}}],["命中的字符串也将额外存入变量",{"2":{"105":1}}],["命运骰",{"0":{"608":1},"2":{"207":1}}],["命名角色卡",{"2":{"720":1}}],["命名的最新构建",{"2":{"517":1}}],["命名的正式版",{"2":{"517":1}}],["命名",{"2":{"146":1,"149":2}}],["命令中的",{"2":{"482":1}}],["命令提示符默认使用",{"2":{"423":1}}],["命令提示符本身集成了",{"2":{"423":1}}],["命令提示符",{"0":{"423":1},"2":{"414":1,"421":1,"423":1,"433":1,"440":1,"444":1}}],["命令行社区经常希望加入的新功能",{"2":{"440":1}}],["命令行行首会有",{"2":{"421":1}}],["命令行是",{"2":{"421":1}}],["命令行与",{"2":{"414":1,"421":1,"423":1,"444":1}}],["命令行",{"0":{"421":1},"2":{"414":1,"422":1,"423":1,"433":2,"444":1}}],["命令行界面即基于",{"2":{"422":1}}],["命令行界面",{"0":{"422":1},"2":{"405":1,"433":1}}],["命令来抽取它们",{"2":{"262":1}}],["命令来随机抽取其中的内容发送",{"2":{"259":1}}],["命令为",{"2":{"147":1,"148":2,"149":2,"166":1}}],["命令为其赋予权限",{"2":{"32":1}}],["命令的帮助信息是在使用",{"2":{"146":1}}],["命令的帮助信息",{"2":{"146":1}}],["命令切换至",{"2":{"32":1}}],["命令",{"2":{"32":1,"144":1,"146":1,"181":1,"353":1,"598":1}}],["猫粮",{"2":{"105":1}}],["捕捉某人",{"2":{"166":2}}],["捕捉海豹",{"2":{"85":2,"86":2}}],["捕获组命中的字符串",{"2":{"105":1}}],["购买了猫粮",{"2":{"105":1}}],["购买了",{"2":{"105":1}}],["输出游戏结果",{"2":{"116":1}}],["输出变量",{"2":{"110":1}}],["输出最后一个语句的结果",{"2":{"109":1}}],["输出文本",{"2":{"105":1}}],["输入以下命令",{"2":{"518":2}}],["输入机器人的账号名",{"2":{"514":1}}],["输入机器人的显示名",{"2":{"514":1}}],["输入指令",{"2":{"514":1}}],["输入账号",{"2":{"495":1}}],["输入",{"2":{"26":2,"130":2,"440":1,"495":1,"696":1}}],["输入正确的账号密码",{"2":{"14":1}}],["\\treturn",{"2":{"104":1}}],["\\tvb",{"2":{"104":1}}],["\\tva",{"2":{"104":1}}],["平时推荐关闭这个选项",{"2":{"551":1}}],["平均值高于阈值",{"2":{"104":1}}],["平台的昵称",{"2":{"614":1}}],["平台的机制使没有公开发布的应用无法加入被指定的单个工作区之外的地方",{"2":{"509":1}}],["平台上",{"2":{"612":1}}],["平台上搭建骰子",{"2":{"523":1}}],["平台运作了",{"2":{"512":1}}],["平台选择何种方式取决于你自己的选择",{"2":{"485":1}}],["平台搭建这样的非官方机器人取决于你的慎重考虑",{"2":{"485":1}}],["平台机器人的说明",{"0":{"485":1}}],["平台为例",{"2":{"462":1}}],["平台做出适当的修正",{"2":{"455":1}}],["平台本身的问题",{"2":{"455":1}}],["平台接入海豹核心需要了解的特定内容",{"2":{"447":1,"451":1,"456":1,"473":1,"483":1,"507":1,"513":1}}],["平台下",{"2":{"423":1}}],["平台下的",{"2":{"361":1}}],["平台下的任务管理器",{"2":{"361":1}}],["平台发生的",{"2":{"389":1}}],["平台时使用的连接方式",{"2":{"389":1}}],["平台有效",{"2":{"244":1}}],["平台",{"2":{"6":1,"141":1,"239":1,"509":1,"597":3,"654":1,"662":1}}],["比较两个值时",{"2":{"202":1}}],["比较定义在",{"2":{"104":1}}],["比如说",{"2":{"568":1}}],["比如基于",{"2":{"485":1}}],["比如写一个自定义回复",{"2":{"371":1}}],["比如下文里写到的那些",{"2":{"367":1}}],["比如你的自定义回复文件",{"2":{"326":1}}],["比如禁言骰子触发了黑名单事件",{"2":{"227":1}}],["比如一些",{"2":{"199":1}}],["比如上面示例中的",{"2":{"194":1}}],["比如模板项目中就为你引入了常用的",{"2":{"183":1}}],["比如核心代码只有一行的",{"2":{"167":1}}],["比如",{"2":{"87":1,"167":1,"194":1,"363":1,"659":1}}],["比如应该为",{"2":{"63":1}}],["返回主界面",{"2":{"487":1}}],["返回值为空值",{"2":{"158":1}}],["返回值为一个数组",{"2":{"157":1}}],["返回值",{"2":{"151":1}}],["返回值是一个",{"2":{"150":1}}],["返回执行结果",{"2":{"147":1}}],["返回对象",{"2":{"142":1}}],["返回骰子",{"2":{"136":1}}],["返回",{"2":{"130":2,"131":2,"134":2,"142":1}}],["返回被解码的",{"2":{"126":1}}],["返回一个",{"2":{"126":1,"136":1}}],["返回一个空白的",{"2":{"126":1,"136":1}}],["返回一个数组",{"2":{"126":2}}],["返回内容可以嵌入",{"2":{"102":1}}],["返回结果示例如下",{"2":{"95":1}}],["码是酷",{"2":{"399":1}}],["码列表",{"2":{"102":1}}],["码文档见",{"2":{"102":1}}],["码",{"0":{"282":1,"399":1},"2":{"102":2,"105":2,"148":1,"268":1}}],["码和海豹码",{"2":{"87":1}}],["嵌入式系统",{"2":{"417":1}}],["嵌入脚本语言",{"0":{"108":1}}],["嵌入",{"2":{"102":1}}],["栏选中",{"2":{"101":1}}],["节俭",{"2":{"627":1}}],["节",{"2":{"101":1,"684":1,"685":1}}],["节选",{"0":{"99":1}}],["测试50",{"2":{"544":1}}],["测试词库",{"2":{"122":1}}],["测试",{"2":{"100":2,"168":2,"544":1}}],["列出房规",{"2":{"719":1}}],["列出角色卡",{"2":{"719":1}}],["列出角色卡所有属性",{"2":{"636":1}}],["列出数据",{"2":{"719":1}}],["列出该群的所有日志记录",{"2":{"703":1}}],["列出本群的所有日志记录",{"2":{"702":1}}],["列出高于指定数值的属性",{"2":{"636":1}}],["列出指定的属性数值",{"2":{"636":1}}],["列出当前装载的牌堆列表",{"2":{"626":1}}],["列出你所保存的所有角色",{"2":{"615":1}}],["列出所有可抽取的牌组列表",{"2":{"626":1}}],["列出所有内置或通过扩展加入的房规",{"2":{"593":1}}],["列出所有选项时",{"2":{"162":1}}],["列出可用房规",{"0":{"593":1}}],["列出属性",{"0":{"561":1,"636":1}}],["列出几个常用功能供参考",{"2":{"560":1}}],["列出的是海豹核心使用的",{"2":{"353":1}}],["列出目前所有选项",{"2":{"162":1}}],["列表",{"0":{"126":1,"231":1},"1":{"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1},"2":{"126":1,"161":1,"186":1,"229":1,"281":4}}],["列表中存在",{"2":{"368":2}}],["列表中",{"2":{"93":1}}],["列可以填写多个同义词",{"2":{"100":1}}],["豹子骰",{"2":{"552":1}}],["豹子骰之类",{"2":{"100":1}}],["豹语",{"2":{"124":1,"200":1}}],["豹语语法中",{"2":{"116":1}}],["豹骰",{"2":{"100":2,"552":1}}],["所述的",{"2":{"577":1}}],["所在的目录启动终端",{"2":{"518":2}}],["所提供的正式版也适合绝大多数用户使用",{"2":{"517":1}}],["所以还请各位选择自己信任的骰主",{"2":{"671":1}}],["所以不必担心暗骰会影响帐号安全",{"2":{"655":1}}],["所以我们推荐有能力的骰主使用手册中的其他方案",{"2":{"487":1}}],["所以需要将海豹数据也挂载到",{"2":{"475":1}}],["所以建议在骰子使用的低峰期进行重载",{"2":{"292":1}}],["所以会报错",{"2":{"212":1}}],["所以实际上这里并不会执行",{"2":{"153":1}}],["所以代码的执行效率会更慢",{"2":{"151":1}}],["所以请套一层",{"2":{"129":1}}],["所以",{"0":{"373":1},"2":{"114":1,"239":1,"364":1,"371":1,"372":1,"386":1,"394":1,"403":1,"409":2}}],["所以当形如",{"2":{"110":1}}],["所以它的结果会被输出",{"2":{"109":1}}],["所以你不必担心前缀对查询带来的影响",{"2":{"100":1}}],["所有阴谋论都是真的",{"2":{"713":1}}],["所有支持的途径参见目录",{"2":{"486":1}}],["所有",{"2":{"363":1}}],["所有含有云端内容的牌堆",{"2":{"265":1}}],["所有自定义文案也均为可用变量",{"2":{"201":1}}],["所有变量均可以在",{"2":{"201":1}}],["所有变量在未被赋值时被调用的值都为",{"2":{"108":1}}],["所有指令必须归属于某个扩展",{"2":{"144":1}}],["所有的自定义文案都可以嵌套使用",{"2":{"284":1}}],["所有的",{"2":{"38":1}}],["所属目录",{"2":{"100":1}}],["冷酷",{"2":{"99":1}}],["冷淡",{"2":{"99":1}}],["滥用权利",{"2":{"99":1}}],["武断",{"2":{"99":1}}],["挫折",{"2":{"99":1}}],["幼稚",{"2":{"99":1}}],["皇帝逆位",{"2":{"99":1}}],["纠纷",{"2":{"99":1}}],["贴近自然",{"2":{"99":1}}],["享乐",{"2":{"99":1}}],["困难侦查",{"2":{"577":1}}],["困难侦查+10",{"2":{"571":1,"574":1}}],["困难侦察",{"2":{"275":1}}],["困难成功",{"2":{"168":1,"569":2,"578":1,"579":2}}],["困难极难等保持原样",{"2":{"168":1}}],["困难",{"2":{"99":1,"168":1,"275":1,"571":1}}],["女皇逆位",{"2":{"99":1}}],["女祭司逆位",{"2":{"99":1}}],["锋芒外露",{"2":{"99":1}}],["洁癖",{"2":{"99":1}}],["贪心",{"2":{"99":1}}],["挑剔",{"2":{"99":1}}],["爱情难有进展",{"2":{"99":1}}],["缺乏上进心",{"2":{"99":1}}],["缺乏热忱和创造力",{"2":{"99":1}}],["缺少必要接口",{"2":{"23":1}}],["局面失控",{"2":{"99":1}}],["被",{"2":{"623":1}}],["被警告",{"2":{"597":1}}],["被官方予以警告",{"2":{"485":1}}],["被拆分为三个权限",{"2":{"344":1}}],["被禁言",{"2":{"232":1,"663":1}}],["被踢出群",{"2":{"232":1,"663":1}}],["被注释掉的",{"2":{"126":1}}],["被称为执行块",{"2":{"109":1}}],["被存储于变量",{"2":{"105":1}}],["被认为是相似",{"2":{"104":1}}],["被骗或失败",{"2":{"99":1}}],["被隐藏的项不会在",{"2":{"89":1}}],["疯狂症状",{"2":{"719":1}}],["疯狂状态的持续时间取决于失去的理智值的数量和比例",{"2":{"586":1}}],["疯狂发作症状",{"0":{"586":1}}],["疯狂",{"2":{"99":1}}],["鲁莽",{"2":{"99":1}}],["冒失",{"2":{"99":1}}],["冒险",{"2":{"99":1}}],["冒号后面要加一个空格",{"2":{"77":1}}],["漂泊",{"2":{"99":1}}],["愚者逆位",{"2":{"99":1}}],["释义来源网络",{"2":{"99":1}}],["塔罗牌",{"0":{"99":1},"2":{"99":1}}],["尾逗号等语法不属于",{"2":{"98":1}}],["诸如注释",{"2":{"98":1}}],["帮助说明中的的一些符号有特定含义",{"2":{"695":1}}],["帮助指令",{"0":{"621":1}}],["帮助文本会产生约",{"2":{"618":1}}],["帮助文档通常包含了各个项目从部署到使用的一系列教程",{"2":{"368":1}}],["帮助文档的文本量较大",{"2":{"292":1}}],["帮助文档列表以文件树的形式展示",{"2":{"292":1}}],["帮助文档仓库",{"2":{"290":1}}],["帮助文档",{"0":{"288":1},"1":{"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1},"2":{"289":1,"292":1,"596":1,"616":1}}],["帮助文档所在工作表的名称会作为前缀加入词条",{"2":{"100":1}}],["帮助文档是",{"2":{"98":1}}],["帮助快速生成模板代码",{"2":{"197":1}}],["帮助信息不要以",{"2":{"146":1}}],["帮助你快速掌握相关内容",{"2":{"123":1}}],["帮助你快速了解它们",{"2":{"63":1}}],["帮助测试",{"2":{"102":1}}],["若伤害小于血量上限",{"2":{"638":1}}],["若伤害大于等于血量上限",{"2":{"638":1}}],["若临时生命不足以抵挡伤害",{"2":{"638":1}}],["若使用了奖励骰则不能获得技能成长标记",{"2":{"587":1}}],["若",{"2":{"496":1}}],["若你遇见这种情况",{"2":{"458":1}}],["若你不确定具体应该添加哪些权限",{"2":{"450":1,"455":1,"459":1}}],["若你的文本需要换行",{"2":{"98":1}}],["若没有快捷指令则调用",{"2":{"281":1}}],["若存在则返回",{"2":{"126":1}}],["若一切正常则为",{"2":{"126":1}}],["若为好友",{"2":{"126":1}}],["若通过则",{"2":{"111":1}}],["若想在结果中调用变量",{"2":{"109":1}}],["若重复",{"2":{"15":1}}],["概念说明",{"0":{"556":1}}],["概述",{"2":{"98":1}}],["概览",{"0":{"62":1}}],["最简单的方法就是自己",{"2":{"691":1}}],["最简单的方式就是使用",{"2":{"309":1}}],["最终的骰点结果为",{"2":{"610":1}}],["最终计算的是小于等于",{"2":{"609":1}}],["最终抽取的牌组相当于直接配置了这样的牌组",{"2":{"96":1}}],["最新的",{"2":{"492":1}}],["最新",{"2":{"489":1}}],["最好的方式是通过在图片上加马赛克进行遮挡",{"2":{"363":1}}],["最好使用安卓",{"2":{"25":1}}],["最外层的",{"2":{"292":1}}],["最高等级",{"2":{"253":1}}],["最开头一行",{"2":{"179":1}}],["最后一轮中最大点数",{"2":{"610":1}}],["最后计算总计成功数",{"2":{"609":1}}],["最后点击确定",{"2":{"358":1}}],["最后只要编译成",{"2":{"199":1}}],["最后更新时间",{"2":{"188":1}}],["最后输出结果",{"2":{"111":1}}],["最后",{"2":{"110":1,"270":1,"372":1}}],["最后的抽取是从合并的数组中进行",{"2":{"96":1}}],["正常的用例",{"2":{"695":1}}],["正常填写配置文件中设定的监听地址",{"2":{"478":1}}],["正面应对克苏鲁神话中那些毛骨悚然之物的人",{"2":{"559":1}}],["正向websocket服务端口",{"2":{"498":1}}],["正向websocket服务监听的",{"2":{"498":1}}],["正向连接配置",{"2":{"498":1}}],["正向连接",{"2":{"495":1}}],["正向",{"2":{"490":1}}],["正向服务地址",{"2":{"478":1,"491":1,"499":1}}],["正在卸载系统服务",{"2":{"520":1}}],["正在启动服务",{"2":{"659":2}}],["正在启动",{"2":{"520":1}}],["正在安装系统服务",{"2":{"520":1}}],["正在运行的程序会被暂停",{"2":{"423":1}}],["正在等待用户输入命令",{"2":{"421":1}}],["正因如此",{"2":{"403":1}}],["正如上文中提到的",{"2":{"388":1}}],["正如上面示例中看到的那样",{"2":{"96":1}}],["正例并不意味着一个好问题",{"2":{"384":1}}],["正确写法",{"2":{"203":1}}],["正则中匹配",{"2":{"105":1}}],["正则表达式等",{"2":{"309":1,"697":1}}],["正则表达式",{"2":{"101":1}}],["正则匹配",{"0":{"105":1},"2":{"58":1,"104":1,"316":1,"317":2}}],["假用户",{"2":{"485":1}}],["假设角色的侦查技能是40",{"2":{"569":1,"571":1}}],["假设我们创建了一个叫做",{"2":{"172":1}}],["假设用户发送过来的消息是",{"2":{"147":1}}],["假定",{"2":{"573":1}}],["假定目前已经注册好了一个名为",{"2":{"146":1}}],["假定上面填入了",{"2":{"96":1}}],["假如牌堆文件内容如下",{"2":{"88":1}}],["假如你熟悉",{"2":{"43":1}}],["链接能够配置多个",{"2":{"96":1}}],["链接",{"2":{"96":2}}],["云服务器",{"2":{"517":1}}],["云电脑",{"2":{"403":1}}],["云端数据与本地数据合并后会进行去重",{"2":{"96":1}}],["云端内容示例",{"2":{"96":1}}],["云端内容",{"0":{"94":1},"1":{"95":1,"96":1},"2":{"265":1}}],["云内容链接",{"2":{"96":1}}],["云内容与本地内容去重",{"2":{"96":1}}],["骰指定数量的",{"2":{"688":1}}],["骰数",{"2":{"688":1}}],["骰池设定已恢复默认",{"2":{"684":1}}],["骰池是每个群组共用的",{"2":{"677":1}}],["骰池",{"2":{"677":1}}],["骰池抽取",{"0":{"677":1}}],["骰池数量",{"2":{"609":1,"610":1}}],["骰法",{"2":{"611":1}}],["骰上一轮中加骰数个",{"2":{"609":1}}],["骰",{"2":{"607":2,"609":1,"610":2}}],["骰4个6面骰",{"2":{"602":1}}],["骰5个24面骰",{"2":{"602":1}}],["骰子的使用注意项",{"2":{"691":1}}],["骰子的回复内容太过繁琐",{"2":{"268":1}}],["骰子的回复内容太过单调",{"2":{"268":1}}],["骰子提供各种基于各种跑团规则",{"2":{"690":1}}],["骰子这里特指在即时聊天软件",{"2":{"690":1}}],["骰子所在的所有群进行使用",{"2":{"682":1}}],["骰子会将模板内容解析后返回",{"2":{"678":1}}],["骰子会立即退群",{"2":{"227":1}}],["骰子不会自动同意频道邀请",{"2":{"664":1}}],["骰子不回复黑名单用户",{"2":{"227":1}}],["骰子b",{"2":{"661":1}}],["骰子a",{"2":{"661":1}}],["骰子面数默认为",{"2":{"609":1}}],["骰子面数",{"2":{"609":1,"610":2,"684":1}}],["骰子面数管理",{"0":{"600":1}}],["骰子账号遭到了风控",{"2":{"654":1}}],["骰子账号",{"2":{"598":1}}],["骰子管理",{"0":{"598":1}}],["骰子",{"2":{"523":1,"664":1}}],["骰子服务",{"2":{"416":1,"488":1}}],["骰子就不能",{"2":{"403":1}}],["骰子本质是在电脑上运行的程序",{"2":{"403":1}}],["骰子qq",{"2":{"327":1}}],["骰子成为好友",{"2":{"286":1}}],["骰子进群",{"2":{"286":1}}],["骰子进群和成为好友的问候语是哪个",{"0":{"286":1}}],["骰子名字",{"2":{"282":1,"284":1}}],["骰子才会响应",{"2":{"241":1}}],["骰子自动拒绝黑名单用户的邀请",{"2":{"227":1}}],["骰子算符",{"0":{"207":1}}],["骰子将回复",{"2":{"98":1}}],["骰娘",{"2":{"167":1}}],["骰主代取",{"0":{"703":1}}],["骰主具有很大的权限",{"2":{"671":1}}],["骰主也可以",{"2":{"656":1}}],["骰主指令",{"0":{"596":1},"2":{"230":1}}],["骰主",{"2":{"152":2,"691":1}}],["骰主需要自行确认数据源不会返回你不希望骰子发出的信息",{"2":{"94":1}}],["骰主无需反复更新骰子中装载的牌堆",{"2":{"94":1}}],["骰点结果将由海豹核心私聊给指令发送者",{"2":{"612":1}}],["骰点需要设定以下参数",{"2":{"609":1}}],["骰点规则是一个多轮骰点规则",{"2":{"609":1}}],["骰点时投掷",{"2":{"608":1}}],["骰点兼容",{"0":{"607":1}}],["骰点",{"0":{"280":1,"601":1,"609":1},"1":{"602":1,"603":1,"604":1,"605":1,"606":1,"607":1,"608":1,"609":1,"610":1,"611":1},"2":{"56":1,"280":7,"684":1,"685":1,"688":1}}],["恶臭论证",{"2":{"93":2}}],["恶意攻击海豹骰及开发人员",{"2":{"46":1}}],["恶意代码",{"2":{"46":1}}],["与我们所生活的现实颇为相似的另一个世界",{"2":{"716":1}}],["与我们交互",{"2":{"433":1}}],["与角色的属性数值变化",{"2":{"701":1}}],["与群关联",{"2":{"682":1}}],["与用户关联",{"2":{"682":1}}],["与前一用法相同",{"2":{"638":1}}],["与孩提时代的过家家扮演游戏相似",{"2":{"630":1}}],["与本地文件",{"2":{"596":1}}],["与之相对的概念是扩展指令",{"2":{"595":1}}],["与之等价的",{"2":{"88":1}}],["与克苏鲁神话相关的痛苦经历和可怖领悟都会诱发疯狂",{"2":{"586":1}}],["与官网一致",{"2":{"517":1}}],["与可执行文件在同级目录下的",{"2":{"492":1}}],["与命令提示符等名词会被混用",{"2":{"433":1}}],["与端口是互联网应用用于定位彼此的方式之一",{"2":{"409":1}}],["与端口号",{"2":{"409":1}}],["与端口",{"0":{"409":1},"2":{"401":1}}],["与其提问后再被要求补充这些信息",{"2":{"389":1}}],["与其拾人牙慧",{"2":{"369":1}}],["与深度优先学习相反",{"2":{"372":1}}],["与文档数量",{"2":{"292":1}}],["与上方的",{"2":{"269":1}}],["与",{"2":{"110":2,"172":1,"202":2,"292":1,"317":1,"322":1,"372":1,"414":1,"421":1,"423":1,"433":1,"444":1,"464":1,"473":1,"475":4,"486":1,"488":1,"490":2,"556":11,"575":1,"651":1}}],["与在文案和自定义回复中插入海豹语使用",{"2":{"91":1}}],["方案因可用性原因已被弃用",{"2":{"486":1}}],["方案成功连接的成功率已经越来越低",{"2":{"6":1}}],["方式连接",{"2":{"490":1,"498":1}}],["方式",{"2":{"316":1,"485":1}}],["方式来实现",{"2":{"316":1}}],["方式时有效",{"2":{"247":1}}],["方便快速解决",{"2":{"653":1}}],["方便快速取用",{"2":{"146":1,"149":1}}],["方便用户快速编写指定类型",{"2":{"399":1}}],["方便管理的时候",{"2":{"312":1}}],["方便你管理和分享它们",{"2":{"311":1}}],["方便你快速获取最新的插件",{"2":{"303":1}}],["方便你快速获取最新的牌堆内容",{"2":{"264":1}}],["方便直接测试代码",{"2":{"304":1}}],["方便开发阶段修改",{"2":{"163":1}}],["方便骰主快速获取牌堆更新",{"2":{"90":1}}],["方法二",{"0":{"337":1}}],["方法一",{"0":{"336":1}}],["方法",{"2":{"137":1,"138":1,"139":1,"140":1,"141":1,"142":1}}],["方向错误",{"2":{"99":1}}],["很急",{"2":{"385":1}}],["很有可能在其中就有所描述",{"2":{"368":1}}],["很多时候一个解决方案是有效的",{"2":{"392":1}}],["很多时候",{"2":{"90":1}}],["很显然",{"2":{"22":1,"360":1}}],["未被单独作为扩展",{"2":{"711":1}}],["未被提示",{"2":{"184":1}}],["未启用",{"2":{"311":1}}],["未赋值的变量",{"2":{"108":1}}],["未导出",{"2":{"89":1}}],["未指定在列表中的牌组将无法使用",{"2":{"89":1}}],["未指定在列表中的牌组将不会暴露在",{"2":{"89":1}}],["灰色的牌组是隐藏的",{"2":{"89":1}}],["除",{"0":{"668":1},"2":{"611":1}}],["除特殊情况外",{"2":{"489":1}}],["除非你非常确定你遇到的问题与海豹本身的运行无关",{"2":{"387":1}}],["除非敏感信息的范围过大",{"2":{"363":1}}],["除此之外",{"2":{"283":1}}],["除了上述由官方提供支持的规则之外",{"2":{"717":1}}],["除了上面提到的",{"2":{"194":1}}],["除了本节所述的",{"2":{"599":1}}],["除了使用",{"2":{"577":1}}],["除了海豹",{"2":{"542":1}}],["除了",{"2":{"187":1}}],["除了骰主",{"2":{"152":1}}],["除了形如",{"2":{"113":1}}],["除了这个牌组以外的牌组都被视为不导出",{"2":{"89":1}}],["除发送消息外的任何历史记录",{"2":{"8":1}}],["└─names",{"2":{"326":1}}],["└─scripts",{"2":{"326":1}}],["└─lagrange",{"2":{"326":2}}],["└─reply",{"2":{"326":1}}],["└─",{"2":{"88":1}}],["└─1",{"2":{"88":1}}],["│",{"2":{"88":1,"326":3}}],["则开始记录指定的日志",{"2":{"700":1}}],["则开始记录本群的当前日志",{"2":{"700":1}}],["则不能创建",{"2":{"700":1}}],["则只在指定分组中进行查询",{"2":{"616":1}}],["则会失去相应的技能点数",{"2":{"589":1}}],["则守秘人可以快速推进行动",{"2":{"586":1}}],["则是",{"2":{"493":1}}],["则是一个布尔值",{"2":{"126":1}}],["则需安装",{"2":{"490":1}}],["则更为常用",{"2":{"433":1}}],["则使用更早的一份备份重新替换",{"2":{"355":1}}],["则",{"2":{"317":1}}],["则调用",{"2":{"276":1}}],["则在",{"2":{"247":1}}],["则在生成",{"2":{"116":1}}],["则海豹核心将通过所有好友请求",{"2":{"247":1}}],["则指定",{"2":{"196":1}}],["则跳过本回合",{"2":{"174":1}}],["则变量",{"2":{"110":3}}],["则应该用",{"2":{"109":1}}],["则对应的词条会显示为",{"2":{"100":1}}],["则牌堆文件所在文件夹结构应是",{"2":{"88":1}}],["则可以在该项下面缩进一个空格",{"2":{"79":1}}],["告诉你的用户如何解压",{"2":{"88":1}}],["图书馆使用",{"2":{"588":1}}],["图标",{"2":{"270":1}}],["图例中所使用的软件为",{"2":{"88":1}}],["图片要放到那个文件夹下",{"2":{"88":1}}],["图",{"2":{"87":1,"88":1,"98":1,"282":2,"339":1}}],["发货单",{"2":{"627":1}}],["发行版都是免费的",{"2":{"417":1}}],["发现的可能的",{"2":{"368":1}}],["发出的消息",{"2":{"252":1,"623":1}}],["发生了超过普通人类认知的离谱事情",{"2":{"250":1}}],["发件邮箱",{"0":{"234":1}}],["发送消息会有随机延迟",{"2":{"662":1}}],["发送通知",{"2":{"345":1}}],["发送警告",{"2":{"253":1}}],["发送分享卡片等功能",{"2":{"148":1}}],["发送图片",{"0":{"339":1},"2":{"148":1}}],["发送图片等",{"0":{"87":1},"1":{"88":1}}],["发送者",{"2":{"148":1}}],["发送者信息",{"2":{"141":1}}],["发送的文本中",{"2":{"148":1}}],["发送平台",{"2":{"146":1,"149":1,"167":1}}],["发送时间等",{"2":{"146":1,"149":1,"167":1}}],["发送时间",{"2":{"141":1}}],["发布带图牌堆最常见的选择是牌堆文件连同图片打包成一个压缩包",{"2":{"88":1}}],["发起",{"0":{"44":1},"2":{"41":1}}],["个最高值",{"2":{"607":1}}],["个最低值",{"2":{"607":1}}],["个排除",{"2":{"607":2}}],["个数学运算",{"2":{"611":1}}],["个数",{"2":{"572":1,"677":1}}],["个数据库文件",{"2":{"353":1}}],["个内置扩展",{"2":{"543":1,"599":1}}],["个部分组成的格式",{"2":{"213":1}}],["个部分组成的",{"2":{"213":1}}],["个关键属性",{"2":{"173":1}}],["个选项",{"2":{"162":2,"163":1}}],["个选项并继续",{"2":{"162":2}}],["个参数之后的所有参数",{"2":{"142":1}}],["个参数是否在",{"2":{"142":1}}],["个被",{"2":{"126":1}}],["个人快捷指令",{"2":{"682":2}}],["个人",{"2":{"281":1}}],["个人骰子面数",{"2":{"201":1}}],["个人临时变量",{"2":{"201":1}}],["个人觉得可以视其为类",{"2":{"126":1}}],["个人变量",{"2":{"126":2,"201":1}}],["个",{"2":{"86":2,"176":1,"244":1,"572":1,"590":1,"609":1,"610":2,"647":1,"735":1,"736":1}}],["个项目",{"2":{"86":1}}],["个金币",{"2":{"84":2}}],["标志通过特定的关键字",{"2":{"696":1}}],["标志可以无序排列",{"2":{"696":1}}],["标志",{"2":{"696":1}}],["标签为",{"2":{"518":1}}],["标签页下",{"2":{"410":1}}],["标签页",{"2":{"255":1,"257":1}}],["标题",{"2":{"162":1}}],["标记",{"2":{"609":2,"610":1,"623":1}}],["标记为",{"2":{"147":1,"148":1,"149":1}}],["标记权重的项目不会被视为单个项目的多个副本",{"2":{"86":1}}],["标准下",{"2":{"409":1}}],["标准",{"2":{"69":1,"98":3}}],["✨闪光海豹✨",{"2":{"85":3,"86":3}}],["权重影响的是抽出的顺序",{"2":{"86":1}}],["权重与不放回抽取",{"0":{"86":1}}],["权重",{"0":{"85":1},"1":{"86":1}}],["权限授予若干位维护人员",{"2":{"596":1}}],["权限列表",{"2":{"596":2}}],["权限的交互平台做以下操作",{"2":{"703":1}}],["权限的用户将看到消息内容和发送者的",{"2":{"679":1}}],["权限的用户使用",{"2":{"596":1}}],["权限的门槛很高",{"2":{"24":1}}],["权限不足",{"2":{"450":1,"455":1,"459":1}}],["权限管理",{"2":{"346":1,"349":1}}],["权限值",{"2":{"152":1}}],["权限识别样例",{"2":{"153":1}}],["权限识别",{"0":{"152":1,"153":1},"1":{"153":1}}],["权限等级",{"2":{"137":1}}],["权限问题",{"2":{"32":1}}],["权限",{"0":{"26":1,"471":1},"1":{"472":1},"2":{"24":1,"26":3,"152":1,"231":1,"349":1,"450":1,"470":1,"475":1,"520":1,"596":3}}],["爆金币",{"2":{"84":1}}],["研究旧牌堆",{"2":{"84":1,"86":1}}],["企鹅早该爆金币辣",{"2":{"84":3}}],["插件已经正确安装",{"2":{"465":1}}],["插件不兼容",{"2":{"463":2}}],["插件需要",{"2":{"462":1}}],["插件脚本",{"2":{"326":1}}],["插件设置",{"0":{"305":1}}],["插件列表并进行管理",{"2":{"302":1}}],["插件列表",{"0":{"302":1},"2":{"302":1}}],["插件是什么",{"0":{"299":1}}],["插件功能",{"2":{"298":1}}],["插件的使用",{"0":{"467":1},"1":{"468":1,"469":1,"470":1,"471":1,"472":1}}],["插件的使用方法不同",{"2":{"306":1}}],["插件的",{"2":{"461":1}}],["插件的更新",{"0":{"303":1}}],["插件的支持",{"2":{"301":1}}],["插件的管理页面",{"2":{"301":1}}],["插件的方式来在海豹中使用",{"2":{"199":1}}],["插件的工程化编写是",{"2":{"191":1}}],["插件的工程化编写",{"0":{"177":1,"191":1},"1":{"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1},"2":{"191":2}}],["插件作者只需要指定目标海豹版本即可",{"2":{"196":1}}],["插件名",{"2":{"194":2}}],["插件编写",{"0":{"189":1},"1":{"190":1,"191":1}}],["插件元数据",{"0":{"188":1},"2":{"188":1,"193":1,"196":1}}],["插件就是运行在一个非浏览器环境中",{"2":{"187":1}}],["插件文件中完成",{"2":{"176":1}}],["插件也可以使用",{"2":{"170":1}}],["插件若要在",{"2":{"170":1}}],["插件仓库",{"2":{"146":1,"300":1,"546":1}}],["插件",{"0":{"298":1,"300":1,"301":1,"306":1,"307":1,"465":1},"1":{"299":1,"300":1,"301":1,"302":2,"303":2,"304":2,"305":2,"306":1,"307":1},"2":{"125":1,"197":1,"199":1,"300":1,"305":1,"307":1,"361":1,"546":2,"717":1}}],["插件实现也是可以的",{"2":{"57":1}}],["插入文本为",{"2":{"282":1}}],["插入海豹内置脚本语言",{"0":{"91":1}}],["插入掷骰表达式",{"0":{"84":1}}],["捏碎所有薯片",{"2":{"83":1}}],["泡面偷走叉子调料包",{"2":{"83":1}}],["拷打木落三次",{"2":{"83":3}}],["拷打木落",{"2":{"83":8}}],["带有权重调整的项目不会被视为在牌组中有多个副本",{"2":{"83":1}}],["指骰主能通过浏览器访问到的管理后台",{"2":{"438":1}}],["指明了其依赖",{"2":{"194":1}}],["指定面数的骰池",{"2":{"677":1}}],["指定默认查询分组",{"0":{"617":1}}],["指定值前面的加号",{"2":{"589":1}}],["指定的成长值",{"2":{"589":1}}],["指定当成长检定成功与失败时的技能成长点数",{"2":{"589":1}}],["指定成长值",{"0":{"589":1}}],["指定损失的理智",{"0":{"582":1}}],["指定两个其他人对抗",{"0":{"580":1}}],["指定字数",{"2":{"318":1}}],["指定分组",{"2":{"271":1}}],["指定类别",{"2":{"271":1}}],["指定依赖插件涉及到对应的插件名",{"2":{"194":1}}],["指定依赖的格式为",{"2":{"194":1}}],["指定依赖的格式",{"0":{"194":1}}],["指定你的扩展的目标海豹版本",{"2":{"188":1}}],["指定你的扩展依赖的其他扩展",{"2":{"188":1}}],["指定所有显示的牌组",{"2":{"89":1}}],["指令使角色进行长休",{"2":{"732":1}}],["指令使用法术",{"2":{"731":1}}],["指令使用",{"2":{"676":1}}],["指令设定角色的法术位",{"2":{"731":1}}],["指令设置角色名",{"2":{"563":1}}],["指令相冲突的部分",{"2":{"720":1}}],["指令与",{"2":{"720":1}}],["指令标志",{"0":{"696":1}}],["指令标志组成",{"2":{"692":1}}],["指令返回的帮助信息",{"2":{"695":1}}],["指令可以有别名",{"2":{"694":1}}],["指令前面都带有前缀",{"2":{"693":1}}],["指令前缀一般是便于输入的中英文句号",{"2":{"693":1}}],["指令前缀",{"0":{"693":1}}],["指令参数",{"0":{"695":1},"2":{"692":1}}],["指令参数与返回值",{"0":{"147":1}}],["指令名称",{"2":{"719":1}}],["指令名只要求在同一扩展内不重复",{"2":{"694":1}}],["指令名",{"0":{"694":1},"2":{"692":1}}],["指令名字",{"2":{"146":1,"149":1}}],["指令是和骰子互动的基本方式",{"2":{"692":1}}],["指令回复",{"0":{"692":1},"1":{"693":1,"694":1,"695":1,"696":1},"2":{"691":1}}],["指令时允许省略加骰线",{"2":{"684":1}}],["指令响应测试",{"0":{"681":1}}],["指令对",{"2":{"651":1}}],["指令的行为与预期不符",{"2":{"694":1}}],["指令的作用是管理上述第二种群聊无关角色卡",{"2":{"615":1}}],["指令的表达式在不包含骰子算符时",{"2":{"602":1}}],["指令查看自己和所在群聊的统一",{"2":{"597":1}}],["指令查看你的账号",{"2":{"231":1}}],["指令格式列出",{"2":{"566":1}}],["指令快速上手",{"2":{"553":1}}],["指令了解你需要注意哪些事项",{"2":{"691":1}}],["指令了",{"2":{"543":1}}],["指令兼容性",{"0":{"522":1}}],["指令下有两个步骤",{"2":{"514":1}}],["指令无法使用可以看看",{"2":{"326":1}}],["指令测试界面的右上角提供一个切换开关",{"2":{"323":1}}],["指令测试",{"0":{"323":1},"2":{"322":2}}],["指令式编程和函数式编程",{"2":{"299":1}}],["指令退群",{"2":{"232":1,"663":1}}],["指令添加",{"0":{"225":1}}],["指令应该实现以下动作",{"2":{"176":1}}],["指令中添加",{"2":{"175":1}}],["指令上下文",{"2":{"150":1,"155":1}}],["指令解析器会将指令信息解析",{"2":{"149":1}}],["指令",{"0":{"240":1,"468":1,"533":1},"1":{"469":1,"470":1},"2":{"149":2,"175":2,"240":1,"241":1,"681":3,"682":2,"719":6,"730":1}}],["指令核心执行流程",{"0":{"148":1}}],["指令信息",{"2":{"146":1}}],["指令进行死亡豁免",{"2":{"733":1}}],["指令进行",{"2":{"102":1}}],["指令会对词条进行模糊检索",{"2":{"100":1}}],["指令会列出所有允许抽取的牌组",{"2":{"89":1}}],["指令执行结束后",{"2":{"83":1}}],["指此次抽取后抽取的牌组保持原样",{"2":{"83":1}}],["尺度是一次抽牌指令",{"2":{"83":1}}],["每有一个骰子骰出",{"2":{"688":1}}],["每有一个大于等于加骰线",{"2":{"609":1}}],["每有一个大于等于成功线",{"2":{"609":1}}],["每天刷新的",{"2":{"674":1}}],["每天凌晨",{"2":{"248":1}}],["每位玩家都需要创造一位调查员",{"2":{"559":1}}],["每隔",{"2":{"486":1}}],["每行日志的开头都带有时间戳",{"2":{"387":1}}],["每批次内退出两个群将间隔",{"2":{"248":1}}],["每两批之间将会间隔你所指定的分钟数",{"2":{"248":1}}],["每秒",{"2":{"244":1}}],["每",{"2":{"244":1,"618":1}}],["每记录",{"2":{"243":1}}],["每骰结果可能是",{"2":{"207":1}}],["每日新闻",{"2":{"193":2,"194":3,"195":2}}],["每一轮骰点被包含在一对花括号",{"2":{"609":1,"610":1}}],["每一轮游戏中",{"2":{"174":1}}],["每一项公共条件是一个逻辑判断",{"2":{"314":1}}],["每一个扩展提供若干指令和其他功能",{"2":{"599":1}}],["每一个回复结果可以有多条回复文本",{"2":{"319":1}}],["每一个回复项可以有一个或者多个",{"2":{"319":1}}],["每一个自定义回复项都包括两个部分",{"2":{"315":1}}],["每一个文案都以类似下图的格式展示",{"2":{"270":1}}],["每一个身份都有一个对应的数字",{"2":{"152":1}}],["每一行指定一个",{"2":{"195":1}}],["每页放多少个选项",{"2":{"162":1}}],["每群每天一次",{"0":{"115":1}}],["每个单项都是",{"2":{"632":1}}],["每个人都能轻松地对接上官方提供的机器人服务",{"2":{"502":1}}],["每个",{"2":{"188":1}}],["每个玩家都要决定",{"2":{"174":1}}],["每个玩家创建一个角色",{"2":{"174":1}}],["每个角色有",{"2":{"173":1}}],["每个身份所对应的数字如下表所示",{"2":{"152":1}}],["每个牌组都可以单独控制云端相关设置",{"2":{"96":1}}],["每个模块都存放在对应的仓库中",{"2":{"36":1}}],["每次导入数据前都进行一次导出",{"2":{"338":1,"551":1}}],["每次获取有效期",{"2":{"230":1}}],["每次抽取这个牌组时",{"2":{"96":1}}],["每次",{"2":{"94":1}}],["每次都相当于从全新牌组中抽取",{"2":{"83":1}}],["放入",{"0":{"465":1}}],["放入服务端核心",{"2":{"464":1}}],["放到空目录备用",{"2":{"356":1}}],["放置于迁入海豹的对应目录",{"2":{"549":1}}],["放置图片资源的文件夹",{"2":{"326":1}}],["放置你使用的qq客户端配置文件",{"2":{"326":1}}],["放回抽取牌堆",{"2":{"134":1}}],["放回抽取",{"2":{"83":1,"262":2}}],["放回抽取与不放回抽取",{"0":{"83":1}}],["放在和",{"2":{"356":1}}],["放在",{"2":{"32":1}}],["追尾了一辆高级黑色轿车",{"2":{"82":3,"89":6}}],["追尾了",{"2":{"82":3,"89":9}}],["早上",{"2":{"82":3,"89":6}}],["保护好你的骰子",{"2":{"596":1}}],["保证连接模式匹配",{"2":{"490":1}}],["保留一定时间内",{"2":{"217":1,"218":1}}],["保留一定数量",{"2":{"217":1,"218":1}}],["保存到角色卡列表",{"2":{"720":1}}],["保存",{"2":{"672":1}}],["保存后重启软件",{"2":{"659":1}}],["保存后点击左上角",{"2":{"659":1}}],["保存计算表达式",{"2":{"565":1}}],["保存在海豹的主程序所在目录",{"2":{"354":1}}],["保存前不要切换左侧的分类",{"2":{"270":1}}],["保存设置",{"2":{"214":1}}],["保存文件时务必确认开启了操作系统的扩展名显示",{"2":{"80":1}}],["保持容器与宿主机网络隔离",{"0":{"481":1}}],["保持耐心",{"0":{"394":1},"2":{"394":1}}],["保持",{"0":{"45":1}}],["保持和上游同步",{"2":{"43":1}}],["名单",{"2":{"224":1}}],["名为",{"2":{"144":1,"520":1}}],["名字前缀有",{"2":{"704":1}}],["名字>",{"2":{"146":1,"149":2,"166":2}}],["名字",{"0":{"736":1},"2":{"98":1,"719":1}}],["名称任意",{"2":{"80":3}}],["名词或操作时",{"2":{"365":1}}],["名词",{"0":{"397":1},"1":{"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"412":1,"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1,"426":1,"427":1,"428":1,"429":1,"430":1,"431":1,"432":1,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1,"440":1,"441":1,"442":1,"443":1,"444":1},"2":{"48":1,"357":1,"365":1,"368":1,"372":1,"375":1,"387":1,"516":1}}],["牌组关键字列表",{"2":{"626":1}}],["牌组数量",{"2":{"626":1}}],["牌组名称",{"2":{"626":2,"627":1}}],["牌组4",{"2":{"113":1}}],["牌组3",{"2":{"113":1}}],["牌组2",{"2":{"113":1}}],["牌组1",{"2":{"113":1}}],["牌组的别名",{"2":{"93":1}}],["牌组的隐藏和导出控制",{"0":{"89":1}}],["牌组中仍被视为只有",{"2":{"86":1}}],["牌组",{"2":{"83":2}}],["牌组表",{"2":{"80":1,"90":1}}],["牌堆信息",{"2":{"626":1}}],["牌堆和自定义回复都是海豹提供的扩展性功能",{"2":{"624":1}}],["牌堆云端内容",{"0":{"265":1}}],["牌堆更新",{"0":{"264":1}}],["牌堆更新与云牌堆",{"0":{"263":1},"1":{"264":1,"265":1}}],["牌堆更新日期",{"2":{"80":2}}],["牌堆被读取到了",{"2":{"261":1}}],["牌堆管理",{"0":{"628":1},"2":{"261":1}}],["牌堆仓库",{"2":{"260":1}}],["牌堆以",{"2":{"259":1}}],["牌堆以某种结构化的格式保存成文件",{"2":{"259":1}}],["牌堆是什么",{"0":{"259":1}}],["牌堆名>",{"2":{"151":2}}],["牌堆名称",{"2":{"150":1,"151":2}}],["牌堆与自定义回复的结合",{"0":{"113":1}}],["牌堆支持云端内容",{"2":{"96":1}}],["牌堆配置云端内容",{"0":{"96":1}}],["牌堆内容不是一成不变的",{"2":{"90":1}}],["牌堆列表里并没有出现那个文件",{"2":{"386":1}}],["牌堆列表",{"2":{"89":1}}],["牌堆没有支持这一功能",{"2":{"89":1}}],["牌堆中定义了",{"2":{"89":1}}],["牌堆中",{"2":{"89":4,"93":1}}],["牌堆中的表示正好相反",{"2":{"82":1}}],["牌堆打包",{"0":{"88":1}}],["牌堆抽取结果字符串中",{"2":{"82":1}}],["牌堆语法",{"0":{"81":1},"1":{"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1}}],["牌堆文件",{"2":{"326":1,"388":1}}],["牌堆文件扩展名正确吗",{"2":{"80":1}}],["牌堆文件的编码",{"2":{"62":1}}],["牌堆协议",{"2":{"80":3}}],["牌堆版本",{"2":{"80":3}}],["牌堆简介",{"2":{"80":3}}],["牌堆创建日期",{"2":{"80":2}}],["牌堆作者可以实时调整云端内容",{"2":{"265":1}}],["牌堆作者",{"2":{"80":3}}],["牌堆的基础上修改了牌堆",{"2":{"386":1}}],["牌堆的更多功能",{"0":{"92":1},"1":{"93":1,"94":1,"95":1,"96":1}}],["牌堆的标题",{"2":{"80":3}}],["牌堆的最基本格式如上",{"2":{"80":3}}],["牌堆时遇上了看不懂的内容",{"2":{"79":1}}],["牌堆区分开",{"2":{"69":1}}],["牌堆",{"0":{"258":1,"624":1},"1":{"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"625":1,"626":1,"627":1,"628":1,"629":1},"2":{"46":1,"69":1,"259":2,"262":1,"361":1,"625":1,"626":1}}],["恼",{"2":{"80":3}}],["田所浩二",{"2":{"80":4}}],["野兽牌堆",{"2":{"80":6,"90":3,"93":1,"96":1}}],["哼哼哼啊啊啊啊啊",{"2":{"80":4,"90":3,"93":1}}],["两部分",{"2":{"416":1,"488":1}}],["两部分组成",{"2":{"245":1}}],["两者组合时",{"2":{"409":1}}],["两者仅需保留一行",{"2":{"80":1}}],["两字可以触发大于等于",{"2":{"318":1}}],["两种模式",{"2":{"682":1}}],["两种架构",{"2":{"518":1}}],["两种方法往往是相辅相成的",{"2":{"373":1}}],["两种触发方式可以同时使用",{"2":{"219":1}}],["两种写法实现效果相同",{"2":{"116":1}}],["两个点数都可以是包含骰点的表达式",{"2":{"589":1}}],["两个其他玩家",{"2":{"580":1}}],["两个页面",{"2":{"368":1,"380":1}}],["两个部分",{"2":{"102":1}}],["两个牌组",{"2":{"80":1}}],["两次确认后出现",{"2":{"12":1}}],["快速上手",{"0":{"718":1},"1":{"719":1,"720":1,"721":1,"722":1,"723":1,"724":1,"725":1,"726":1,"727":1,"728":1,"729":1,"730":1,"731":1,"732":1,"733":1}}],["快速文档查找",{"0":{"619":1}}],["快速交谈",{"2":{"556":1}}],["快速了解和其它骰系的区别",{"2":{"553":1}}],["快速开始",{"0":{"187":1,"516":1},"1":{"517":1,"518":1,"519":1,"520":1},"2":{"49":1,"689":1}}],["快捷指令示例",{"2":{"682":1}}],["快捷指令触发",{"2":{"281":1}}],["快捷指令",{"0":{"281":1},"2":{"281":4,"682":1}}],["快点更新",{"2":{"110":2}}],["快端上来罢",{"2":{"80":5,"90":3,"93":1}}],["同义词表",{"0":{"557":1}}],["同一概念的不同常用称呼等价",{"2":{"556":1}}],["同一个目录内",{"2":{"386":1}}],["同一个目录",{"2":{"356":1}}],["同一种形式在",{"2":{"79":1}}],["同样是迁移海豹的",{"2":{"551":1}}],["同样可以部署在",{"2":{"517":1}}],["同样地",{"2":{"342":1,"368":1}}],["同样的",{"2":{"170":1,"409":1}}],["同上",{"2":{"126":5,"201":1,"623":1,"645":1}}],["同时还包括技能检定",{"2":{"690":1}}],["同时使用",{"2":{"682":1}}],["同时使用前缀和后缀匹配",{"0":{"117":1}}],["同时也包括操弄禁忌知识的人类势力",{"2":{"712":1}}],["同时也包括今日人品",{"2":{"673":1}}],["同时也是作为游戏核心的秘密组织的名字",{"2":{"712":1}}],["同时也做了很强的兼容性处理",{"2":{"544":1}}],["同时是牌堆名与牌组名",{"2":{"626":1}}],["同时会计算",{"2":{"590":1}}],["同时对于自定义回复功能进行了强化",{"2":{"525":1}}],["同时对程序进行修改",{"2":{"364":1}}],["同时秉持",{"2":{"523":1}}],["同时强烈建议正在使用该方案的用户迁移",{"2":{"486":1}}],["同时在功能上非常受限",{"2":{"485":1}}],["同时在程序中修复它",{"2":{"364":1}}],["同时部署海豹与",{"0":{"474":1},"1":{"475":1,"476":1,"477":1,"478":1,"479":1}}],["同时一般包含时间信息以方便定位对应的事件",{"2":{"430":1}}],["同时",{"2":{"373":1,"394":1,"477":1,"485":1,"502":1,"599":1}}],["同时开启两个海豹实例",{"0":{"335":1},"1":{"336":1,"337":1}}],["同时注意",{"2":{"270":1}}],["同时清空用户该等级的计数",{"2":{"253":1}}],["同时建议使用上述客户端连接",{"2":{"239":1}}],["同时你应当在下方看到一条类似于",{"2":{"12":1}}],["复杂牌组提供以下选项",{"2":{"93":1}}],["复杂牌组",{"2":{"93":1}}],["复杂牌组和普通牌组在使用上没有什么区别",{"2":{"93":1}}],["复杂的",{"2":{"79":1}}],["复制到此处即可",{"2":{"679":1}}],["复制到浏览器打开",{"2":{"450":1,"455":1,"459":1}}],["复制电脑海豹的",{"2":{"551":1}}],["复制并保存",{"2":{"453":1,"511":1}}],["复制链接发给手机滑条",{"2":{"17":1}}],["复制链接到浏览器",{"2":{"12":1}}],["复制错误",{"2":{"17":1}}],["复制",{"2":{"12":1,"448":1}}],["只要存在暴击的骰子",{"2":{"610":1}}],["只要大概知道有什么指令",{"2":{"52":1}}],["只显示被禁用",{"2":{"597":1}}],["只陈述结果",{"2":{"586":1}}],["只在你明确知道为何要使用",{"2":{"517":1}}],["只需一个不到",{"2":{"523":1}}],["只需简单修改",{"2":{"475":1}}],["只需要直接在匹配文本中写出形如",{"2":{"106":1}}],["只有在你完全确定某进程的用途与功能时",{"2":{"361":1}}],["只有一个设备",{"0":{"333":1}}],["只会看到单独的",{"2":{"322":1}}],["只是给你一个或许更好的建议",{"2":{"376":1}}],["只是编写需要遵循对应的结构方便读取",{"2":{"259":1}}],["只是处理了一下发送者传过来的消息",{"2":{"167":1}}],["只能在当前设备上管理海豹",{"2":{"245":1}}],["只能在牌堆内部调用",{"2":{"89":1}}],["只对",{"2":{"244":1}}],["只列出其中主要的一些文件",{"2":{"181":1}}],["只被视为一次指令",{"2":{"83":1}}],["只允许使用空格",{"2":{"78":1}}],["缩进的空格数并不重要",{"2":{"78":1}}],["缩进的长度表示了层级",{"2":{"78":1}}],["缩进不允许",{"2":{"78":1}}],["缩进是有含义的",{"2":{"78":2}}],["~",{"2":{"77":1}}],["双重十字",{"0":{"714":1},"2":{"714":1}}],["双重十字规则骰点",{"0":{"685":1},"2":{"714":1}}],["双方可能都实现某种程度的成功",{"2":{"587":1}}],["双击启动即可",{"2":{"490":1}}],["双击",{"2":{"354":1}}],["双击运行",{"2":{"12":2,"518":1}}],["双十字掷骰",{"2":{"719":1}}],["双十字规则是一种多轮的骰点规则",{"2":{"610":1}}],["双十字骰点",{"0":{"610":1}}],["双十字",{"2":{"207":1,"546":1}}],["双下划线",{"2":{"89":1}}],["双引号不会对特殊字符转义",{"2":{"77":1}}],["行内注释",{"0":{"74":1}}],["行政法规",{"2":{"46":1}}],["空白名片",{"2":{"706":1}}],["空气",{"2":{"161":1}}],["空",{"2":{"70":1,"281":1}}],["由代骰",{"2":{"567":2,"613":1}}],["由工具生成了录入数据的指令",{"2":{"556":1}}],["由高到低分别是",{"2":{"152":1}}],["由",{"2":{"70":3,"71":1,"72":1,"109":1,"213":2,"576":1}}],["由于搜索库的限制",{"2":{"616":1}}],["由于多项式",{"2":{"611":1}}],["由于等于劣势骰",{"2":{"606":1}}],["由于惩罚骰",{"2":{"605":1}}],["由于骰4个6面骰",{"2":{"602":1}}],["由于骰5个24面骰",{"2":{"602":1}}],["由于天气不错",{"2":{"602":1}}],["由于要私聊发送检定结果",{"2":{"575":1}}],["由于属性和技能在检定时基本不做区分",{"2":{"559":1}}],["由于笔者的游戏栈",{"2":{"556":1}}],["由于官方",{"2":{"486":1}}],["由于内置客户端的实现不完全",{"2":{"487":1}}],["由于内置客户端",{"2":{"486":1}}],["由于通过",{"2":{"475":1,"480":1}}],["由于你并没有领会每一个细节",{"2":{"372":1}}],["由于最新版",{"2":{"239":1}}],["由于经过了",{"2":{"151":1}}],["由于海豹的",{"2":{"100":1}}],["由于模拟器对性能要求较高",{"2":{"24":1}}],["由于项目的特殊性",{"2":{"9":1}}],["由于",{"2":{"6":1,"31":1,"32":1,"105":2,"423":1,"455":1,"502":1,"523":1,"524":1}}],["风格的注释",{"2":{"69":1,"73":1}}],["起",{"2":{"69":1,"152":1,"214":1,"215":1,"216":1,"322":1,"679":1,"680":1,"681":1,"682":1}}],["分别代表",{"2":{"608":1}}],["分别填入",{"2":{"475":1}}],["分别对每个",{"2":{"475":1}}],["分别对应着该回复项的触发条件和骰子的回复动作",{"2":{"315":1}}],["分组>",{"2":{"695":1}}],["分组名分别是",{"2":{"616":1}}],["分组名",{"2":{"616":2,"617":1}}],["分组选择中存在一个",{"2":{"293":1}}],["分组",{"2":{"271":1,"293":2}}],["分",{"2":{"242":1}}],["分号的使用",{"2":{"203":1}}],["分钟",{"2":{"201":1,"230":1,"659":2}}],["分为",{"2":{"100":1}}],["分割",{"2":{"71":1,"72":1}}],["分隔符",{"2":{"278":1,"281":1}}],["分隔即可",{"2":{"100":1}}],["分隔",{"2":{"69":1,"203":1}}],["分离部署",{"2":{"12":1}}],["分离部署登录流程",{"0":{"12":1}}],["且≤",{"2":{"593":2}}],["且判定失败为大失败",{"2":{"593":1}}],["且判定成功为大成功",{"2":{"593":1}}],["且版本大于等于",{"2":{"195":1}}],["且后者的版本必须大于等于",{"2":{"194":1}}],["且只能存一个",{"2":{"160":1}}],["且不与第一个",{"2":{"110":1}}],["且不支持尾逗号",{"2":{"68":1}}],["且文件一般在",{"2":{"27":1}}],["根目录",{"2":{"551":1}}],["根据你使用的规则",{"2":{"720":1}}],["根据你的系统选择相应版本",{"2":{"489":1}}],["根据你的系统选择相应版本下载",{"2":{"489":1}}],["根据平台不同",{"2":{"720":1}}],["根据服务提供商",{"2":{"657":1}}],["根据当前房规确定",{"2":{"571":1}}],["根据原则",{"2":{"556":1}}],["根据我们的观察",{"2":{"524":1}}],["根据系统不同",{"2":{"518":1}}],["根据猫好感度",{"2":{"113":1}}],["根据骰点结果展示不同文案",{"0":{"56":1}}],["根本不存在",{"2":{"68":2,"72":2,"78":2}}],["什",{"2":{"68":2,"72":2,"78":2}}],["什么是骰子",{"0":{"690":1}}],["什么是命令行一知半解",{"2":{"372":1}}],["什么是开源程序",{"0":{"362":1}}],["什么是开源",{"0":{"362":1}}],["什么是自定义回复",{"0":{"309":1}}],["什么是自定义文案",{"0":{"268":1}}],["什么是帮助文档",{"0":{"289":1}}],["什么是拦截功能",{"0":{"250":1}}],["什么是相对路径",{"2":{"88":1}}],["什么是签名",{"0":{"21":1}}],["什么是",{"0":{"20":1,"364":1}}],["狐狸核心",{"2":{"68":2,"72":2,"78":2}}],["持续开发中",{"2":{"68":3,"72":2,"78":2}}],["状态",{"2":{"68":5,"72":4,"78":4}}],["简称",{"2":{"712":1,"713":1,"714":1,"715":1}}],["简称为",{"2":{"172":1}}],["简略写法",{"0":{"583":1}}],["简体与繁体字等价",{"2":{"556":1}}],["简繁汉字的属性被视为同一属性",{"2":{"531":1,"535":1}}],["简言之",{"2":{"362":1}}],["简短",{"2":{"275":1}}],["简单介绍",{"2":{"462":1}}],["简单说",{"2":{"174":1}}],["简单牌组表",{"2":{"93":1}}],["简介",{"2":{"68":5,"72":4,"78":4,"122":1}}],["简易配置",{"2":{"8":1}}],["含义",{"2":{"188":1}}],["含义相同",{"2":{"68":1}}],["含有中华人民共和国法律",{"2":{"46":1}}],["哈希表",{"2":{"68":1}}],["表演",{"2":{"638":2}}],["表述时不以",{"2":{"559":1}}],["表达式用法请参考",{"2":{"684":1,"685":1}}],["表达式形如",{"2":{"609":1,"610":1}}],["表达式中可以包含骰点",{"2":{"564":1,"638":1}}],["表达式指定自动清理的时机",{"2":{"219":1}}],["表达式规定自动备份的时机",{"2":{"216":1}}],["表达式",{"2":{"213":2,"563":3,"564":1,"565":1,"601":1,"638":1,"640":2,"643":1,"684":1,"685":1}}],["表达式为真",{"0":{"106":1},"2":{"106":1,"115":2,"316":1}}],["表名将作为这个牌组的名称",{"2":{"93":1}}],["表中的信息不是必须的",{"2":{"80":1}}],["表示可以在所列各项中选择一个",{"2":{"695":1}}],["表示必须在所列各项中选择一个",{"2":{"695":1}}],["表示此参数可以被省略",{"2":{"695":1}}],["表示你应以相应内容替换此处内容",{"2":{"695":1}}],["表示该项的权重",{"2":{"85":1}}],["表示放回抽取",{"2":{"82":2}}],["表示不放回抽取",{"2":{"82":2}}],["表示",{"2":{"77":1,"242":1,"729":1}}],["表还有一种更紧凑的内联表示法",{"2":{"68":1}}],["表头",{"2":{"68":1}}],["表",{"0":{"68":1},"2":{"68":1}}],["表的一种紧凑表示法",{"2":{"65":1}}],["直至目前",{"2":{"485":1}}],["直到这些细节足够你应对眼前的问题和未来可能遇到的相似的问题",{"2":{"373":1}}],["直到对每一个细节再无疑惑的方式",{"2":{"371":1}}],["直到数据库文件正常",{"2":{"355":1}}],["直到该行结束的所有文本都被视为注释",{"2":{"74":1}}],["直到下一个非空白字符或结束引号为止",{"2":{"67":1}}],["直接写数值",{"2":{"729":1}}],["直接点是就可以了",{"2":{"666":1}}],["直接点击",{"2":{"42":1}}],["直接重复步骤",{"2":{"659":1}}],["直接指明技能名和数值",{"2":{"569":1}}],["直接下载对应版本的服务端核心文件",{"2":{"463":1}}],["直接下载最新版即可",{"2":{"356":1}}],["直接上传",{"2":{"312":1}}],["直接上传的",{"2":{"88":1}}],["直接使用被提示错误",{"0":{"184":1}}],["直接在要匹配的文本一栏中写入正则表达式即可",{"2":{"105":1}}],["直接表示",{"2":{"77":1}}],["直接将日志复制到聊天窗口中会严重影响日志的可读性",{"2":{"387":1}}],["直接将代码复制到聊天窗口中会极大地破坏这种代码规范",{"2":{"386":1}}],["直接将",{"2":{"28":1}}],["直接把文件拖动到模拟器就可以传文件了",{"2":{"27":1}}],["时请注意辨别",{"2":{"696":1}}],["时显示",{"2":{"614":1}}],["时附加一个奖励骰",{"2":{"533":1}}],["时响应",{"2":{"502":1}}],["时出现报错",{"2":{"490":1}}],["时代定义的一套接口语言",{"2":{"399":1}}],["时更快地学习新概念的办法",{"2":{"374":1}}],["时分秒",{"2":{"214":2}}],["时就在安装这个文件里面所指示的依赖包",{"2":{"181":1}}],["时会返回的帮助内容",{"2":{"146":1}}],["时间戳",{"2":{"188":1}}],["时间点",{"2":{"82":5,"89":17}}],["时间",{"2":{"77":1}}],["时间不确定",{"2":{"17":1}}],["时",{"2":{"67":1,"96":2,"98":1,"102":1,"126":2,"193":1,"196":1,"248":1,"252":1,"311":1,"371":1,"405":1,"433":1,"464":1,"475":1,"478":1,"490":1,"568":1,"663":1}}],["因拍摄角度而看不到部分信息",{"2":{"363":1}}],["因",{"2":{"237":1}}],["因为",{"2":{"666":1}}],["因为多个文本匹配度相近",{"2":{"618":1}}],["因为在实际交互中",{"2":{"414":1,"421":1,"423":1,"433":1,"444":1}}],["因为你从没在电脑上截屏过",{"2":{"372":1}}],["因为帮助文档中提供的信息都是服务于特定项目的",{"2":{"368":1}}],["因为摸到",{"2":{"174":1}}],["因为黑名单用户的消息会被过滤掉",{"2":{"152":1}}],["因为第一行的空换行也直接读取了",{"2":{"67":1}}],["因此每个骰子使用自定义回复的方法可能完全不同",{"2":{"697":1}}],["因此机器人只能使用第三方软件作为假用户接入",{"2":{"691":1}}],["因此没有列出最佳匹配条目的正文内容",{"2":{"618":1}}],["因此在跑团时",{"2":{"543":1}}],["因此在开始前",{"2":{"496":1}}],["因此在对应",{"2":{"114":1}}],["因此可能无法正常发送图片",{"2":{"480":1}}],["因此可以方便开发者与用户高效地共享信息",{"2":{"410":1}}],["因此当你通过",{"2":{"438":1}}],["因此本节中介绍的手段并不总是万无一失",{"2":{"342":1}}],["因此移除时使用的是同一个函数",{"2":{"156":1}}],["因此作为前缀时可能导致将其识别为指令而非自定义回复的情况",{"2":{"105":1}}],["因此它常用来快速编写有大段文字的帮助文档",{"2":{"100":1}}],["因此你的安卓手机版本必须超过安卓",{"2":{"31":1}}],["因此",{"2":{"24":1,"358":1,"366":1,"367":2,"368":1,"369":2,"373":1,"383":1,"386":1,"387":2,"389":1,"392":1,"423":1,"426":1,"475":1,"480":1,"485":1,"547":1,"556":1,"596":1,"691":1,"693":1}}],["好好规划一下换行符",{"2":{"114":1}}],["好耶",{"2":{"67":1}}],["好友越多占用越高",{"2":{"496":1}}],["好友邀请",{"2":{"232":1}}],["好友列表",{"2":{"8":1}}],["好友",{"2":{"8":1}}],["它作为牌组名出现",{"2":{"626":1}}],["它作为牌堆名出现",{"2":{"626":1}}],["它提供了一种访问",{"2":{"444":1}}],["它提供方法来操控文本",{"2":{"299":1}}],["它包含了",{"2":{"440":1}}],["它给用户提供了通过输入命令与操作系统进行交互的交互方式",{"2":{"433":1}}],["它也可以用于桌面计算",{"2":{"417":1}}],["它也将极大地帮助回答者排查你所遇到的问题",{"2":{"387":1}}],["它也应提供帮助文本",{"2":{"176":1}}],["它是一个好问题的一部分",{"2":{"384":1}}],["它能够在收到的消息符合一定条件时",{"2":{"309":1}}],["它支持面向对象程序设计",{"2":{"299":1}}],["它支持你直接使用换行",{"2":{"67":1}}],["它归属于",{"2":{"270":1}}],["它的含义与",{"2":{"314":1}}],["它的版本号是",{"2":{"261":1}}],["它的核心代码如下",{"2":{"167":1}}],["它传递过来的信息是",{"2":{"167":1}}],["它决定是否放回抽取",{"2":{"126":1}}],["它会自动检测端口",{"2":{"666":1}}],["它会解析并执行用户输入的命令",{"2":{"433":1}}],["它会输出后面文本的执行结果",{"2":{"102":1}}],["它会返回上一节中的示例",{"2":{"96":1}}],["它会连同它后面的所有空白",{"2":{"67":1}}],["它们的详细信息在本章的后续内容中逐一介绍",{"2":{"599":1}}],["它们也被视为同义词",{"2":{"556":1}}],["它们完全指代的是同一属性",{"2":{"556":1}}],["它们往往能比传统搜索更快地获得信息",{"2":{"369":1}}],["它们是",{"2":{"421":1}}],["它们是海豹数据在导出时的一份快照",{"2":{"338":1,"551":1}}],["它们是快速创建新自定义回复的不同方式",{"2":{"312":1}}],["它们是所有功能的中坚",{"2":{"51":1}}],["它们很可能会提供二次封装后",{"2":{"125":1}}],["它们能在分享时说明更多信息",{"2":{"80":3}}],["它们按照扩展列出了每个指令的详细用法",{"2":{"52":1}}],["数值",{"2":{"636":1}}],["数秒钟后",{"2":{"518":1}}],["数学运算",{"0":{"205":1}}],["数据统计",{"0":{"701":1,"710":1}}],["数据序列化语言被发明出来",{"2":{"432":1}}],["数据序列化语言",{"0":{"432":1},"2":{"412":1,"435":1,"442":1}}],["数据使用等",{"2":{"343":1}}],["数据导出路径为",{"2":{"338":1}}],["数据迁移",{"0":{"330":1}}],["数据库损坏发生的原因很多",{"2":{"352":1}}],["数据库检查和修复",{"0":{"329":1,"352":1},"1":{"353":1,"354":1,"355":1,"356":1}}],["数据库文件",{"2":{"327":2}}],["数据目录",{"2":{"326":1}}],["数据类型和赋值",{"0":{"202":1}}],["数据处理模板",{"0":{"163":1}}],["数据结构",{"2":{"130":2}}],["数据结构的子成员是一个数组",{"2":{"79":1}}],["数量",{"2":{"161":1,"584":1,"590":1,"627":1,"631":2,"687":1,"719":4,"723":1,"728":1,"735":1,"736":1}}],["数字id",{"2":{"616":1}}],["数字类型",{"2":{"202":1}}],["数字格式的",{"2":{"201":1}}],["数字格式的星期",{"2":{"201":1}}],["数字格式的现时间",{"2":{"201":3}}],["数字格式的现月份",{"2":{"201":1}}],["数字格式的现日期",{"2":{"201":2}}],["数字格式的年份",{"2":{"201":1}}],["数字论证",{"2":{"80":5,"90":3,"93":2}}],["数字",{"2":{"66":1,"84":2,"695":1}}],["数组类型",{"2":{"157":3}}],["数组中的每一项都是一个",{"2":{"157":1}}],["数组合并",{"2":{"96":1}}],["数组是用",{"2":{"69":1}}],["数组",{"0":{"69":1,"71":1,"79":1},"2":{"65":1,"70":1,"299":1}}],["字样的是自动生成的备份",{"2":{"214":1}}],["字段同上",{"2":{"158":1}}],["字段的值为内容组成一个牌组",{"2":{"89":1}}],["字段的值为关键字",{"2":{"89":1}}],["字段",{"2":{"89":1}}],["字典",{"2":{"68":1}}],["字符都可以使用",{"2":{"67":1}}],["字符",{"2":{"66":1}}],["字符串当然不能和数值比较大小",{"2":{"212":1}}],["字符串类型",{"2":{"150":3,"155":3,"157":2}}],["字符串数组",{"2":{"96":1}}],["字符串数组数据",{"2":{"95":1}}],["字符串",{"0":{"67":1},"2":{"65":1,"70":1,"77":1,"160":1}}],["字母和数字",{"2":{"201":1}}],["字母",{"2":{"66":1}}],["也能看到群号",{"2":{"679":1}}],["也能正常响应用户的命令",{"2":{"385":1}}],["也请各位骰主谨慎对待大家的信任",{"2":{"671":1}}],["也在此感谢一代又一代无名作者和译者做出的工作",{"2":{"620":1}}],["也就无法收到暗骰结果",{"2":{"612":1}}],["也就是说",{"2":{"568":1}}],["也就是增加一个触发词",{"2":{"149":1}}],["也就是中间所有分隔符都用一个空格替代",{"2":{"142":1}}],["也只有胜者可以获得技能成长标记",{"2":{"587":1}}],["也只是兴趣的一部分",{"2":{"394":1}}],["也相同应用",{"2":{"578":1}}],["也指向同一属性",{"2":{"556":1}}],["也支持很方便地多开",{"2":{"545":1}}],["也提供自动卸载",{"2":{"520":1}}],["也提供了此文章的文件",{"2":{"377":1}}],["也不自动开启",{"2":{"664":1}}],["也不要在临时目录中运行海豹核心",{"2":{"518":1}}],["也不可用",{"2":{"487":1}}],["也不对相应后果负责",{"2":{"485":1}}],["也不等于",{"2":{"110":1}}],["也即各种暗骰指令不受影响",{"2":{"455":1}}],["也即默认页面下",{"2":{"430":1}}],["也经常被使用到的一种",{"2":{"423":1}}],["也会暂停",{"2":{"700":1}}],["也会计算属性的总值供用户参考",{"2":{"590":1}}],["也会同时抽取具体条目",{"2":{"586":2}}],["也会更方便开发者们归档问题和修改程序",{"2":{"395":1}}],["也会将实际去匹配的拼音展示出来",{"2":{"254":1}}],["也希望你能友善且相对客观地叙述问题",{"2":{"394":1}}],["也希望你通过本系列科普有所收获",{"2":{"374":1,"396":1}}],["也应该把你尝试过的方法描述出来",{"2":{"388":1}}],["也包含着我们不理解的知识的情况",{"2":{"371":1}}],["也有可能是胡编乱造",{"2":{"369":1}}],["也有可能要求你有其它知识的了解",{"2":{"321":1}}],["也有助于你更快地解决问题",{"2":{"363":1}}],["也有稍微复杂的",{"2":{"167":1}}],["也是娱乐骰",{"0":{"543":1}}],["也是登录二维码",{"2":{"477":1}}],["也是一种",{"2":{"433":1}}],["也是大部分开源项目正式的反馈渠道",{"2":{"410":1}}],["也是维护海豹社区良好氛围的行为",{"2":{"391":1}}],["也是插件的数据目录",{"2":{"326":1}}],["也是经常被使用的",{"2":{"317":1}}],["也是文本",{"2":{"202":1}}],["也是这样",{"2":{"66":1}}],["也更好地提示使用插件的骰主",{"2":{"196":1}}],["也非常欢迎你向模板仓库提",{"2":{"184":1}}],["也可手动填写新的分组名来创建文件夹",{"2":{"293":1}}],["也可用于编写骰子的使用帮助",{"2":{"289":1}}],["也可能是频道",{"2":{"720":1}}],["也可能是因为触发了某些自动规则添加的",{"2":{"222":1}}],["也可能登上电梯后不慎消失在超市的某个漆黑楼层中",{"2":{"713":1}}],["也可能称为",{"2":{"657":1}}],["也可能面临高达每月",{"2":{"6":1}}],["也可达成类似的效果",{"2":{"83":1}}],["也可以从",{"2":{"691":1}}],["也可以从文件名中确定",{"2":{"355":1}}],["也可以用来设置其他属性",{"2":{"643":1}}],["也可以略去不写",{"2":{"589":1}}],["也可以强制指定一个技能的数值",{"2":{"588":1}}],["也可以写成一行",{"2":{"543":1}}],["也可以视为",{"2":{"444":1}}],["也可以很好地根据这五个要素的思考过程组织问题",{"2":{"379":1}}],["也可以找到该时间点前的最后一份",{"2":{"355":1}}],["也可以指定是",{"2":{"319":1}}],["也可以通过",{"2":{"319":1}}],["也可以换成",{"2":{"162":1}}],["也可以设定为其他的",{"2":{"160":1}}],["也可以包含",{"2":{"148":1}}],["也可以嵌入",{"2":{"107":1}}],["也可以使用",{"2":{"100":1,"498":1}}],["也可以使用以",{"2":{"79":1}}],["也可以使用缩进层级表示对象关系",{"2":{"78":1}}],["也可以使用别人搭好的",{"2":{"8":1}}],["也可以是个人的",{"2":{"679":1}}],["也可以是你",{"2":{"369":1}}],["也可以是用",{"2":{"66":1}}],["也可以是完善文档等等",{"2":{"39":1}}],["也可以选择使用",{"2":{"32":1}}],["也可以在启动前直接手动新建",{"2":{"490":1}}],["也可以在",{"2":{"29":1}}],["也可以前往",{"2":{"24":1}}],["也可以参考本节内容",{"2":{"24":1}}],["都市传说不再是什么可以轻松无视的",{"2":{"713":1}}],["都存在掷骰检定指令",{"2":{"694":1}}],["都被设计为可插拔的",{"2":{"543":1}}],["都被视为注释",{"2":{"75":1}}],["都占用",{"2":{"486":1}}],["都有可能和你所遇到的问题有关",{"2":{"389":1}}],["都将帮助回答者更有效地了解你的背景信息",{"2":{"383":1}}],["都将被看作是字符串",{"2":{"66":1}}],["都重新去查找学习这个概念所包含的下属知识",{"2":{"371":1}}],["都不具备未卜先知的能力",{"2":{"363":1}}],["都不会出现用户可直接读出的报错信息",{"2":{"22":1}}],["都能触发该回复项",{"2":{"317":1}}],["都可以被用作前缀",{"2":{"693":1}}],["都可以进行",{"2":{"311":1}}],["都可以尝试使用自定义回复",{"2":{"309":1}}],["都可以在右侧看见当前分类的",{"2":{"269":1}}],["都会给出",{"2":{"265":1}}],["都会调用该接口获取该牌组的最新数据",{"2":{"94":1}}],["都挂载在这个内置对象上",{"2":{"187":1}}],["都需要用到海豹所提供的一种简单的脚本语言",{"2":{"124":1}}],["引用图片正确格式示例",{"2":{"339":1}}],["引用自说明",{"2":{"9":1}}],["引号键则允许包含任何",{"2":{"66":1}}],["引起来的字符串",{"2":{"66":1}}],["内键入",{"2":{"464":1}}],["内核",{"2":{"426":1}}],["内存占用也不会超过数百",{"2":{"524":1}}],["内存占用会随着持续运行而稍稍增长并有所波动",{"2":{"524":1}}],["内存",{"2":{"524":2}}],["内存指代的是",{"2":{"361":1}}],["内存不足到底指的是哪里的内存不足",{"0":{"359":1},"1":{"360":1,"361":1}}],["内部元素为字符串",{"2":{"157":2}}],["内部元素为整数时间戳",{"2":{"157":1}}],["内直接赋值的写法和新开一行使用条件语句的写法",{"2":{"116":1}}],["内置部分人物卡上没有的默认技能等级",{"2":{"532":1}}],["内置脚本语法",{"2":{"321":1}}],["内置脚本语言",{"0":{"200":1},"1":{"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1},"2":{"107":1,"124":1,"283":1}}],["内置",{"2":{"269":1}}],["内置客户端暂不支持",{"2":{"487":1}}],["内置客户端或分离部署",{"2":{"389":1}}],["内置客户端的配置文件夹",{"2":{"327":1}}],["内置客户端的二进制文件",{"2":{"326":1}}],["内置客户端",{"0":{"487":1},"2":{"239":1,"486":2,"487":3}}],["内置对象",{"2":{"187":1}}],["内置文件",{"2":{"125":1}}],["内置的",{"2":{"18":1,"201":1,"269":2}}],["内容为",{"2":{"667":1}}],["内容相似时触发",{"2":{"104":1}}],["内容",{"2":{"100":1,"104":1,"201":1,"498":1}}],["内心空虚",{"2":{"99":1}}],["内联表",{"2":{"65":1}}],["采用了不放回抽取",{"2":{"83":1}}],["采用",{"2":{"65":1,"77":1,"101":1}}],["浮点数",{"2":{"65":1,"70":1,"77":1}}],["整数时间戳",{"2":{"157":1}}],["整数类型",{"2":{"157":1}}],["整数",{"2":{"65":1,"70":1,"77":1}}],["整体流程",{"0":{"41":1}}],["包",{"2":{"183":1,"332":1}}],["包吗",{"0":{"183":1}}],["包含",{"2":{"405":1}}],["包含等文本匹配方式不够用",{"2":{"321":1}}],["包含了配置项的类型",{"2":{"170":1}}],["包含以下字段",{"2":{"150":1,"157":1}}],["包含文本",{"2":{"104":1,"317":1}}],["包裹",{"2":{"70":2,"77":1}}],["包裹的一组键值对",{"2":{"70":1,"72":1}}],["包裹的一组值",{"2":{"70":1,"71":1}}],["包裹的一系列键值对",{"2":{"65":1}}],["包裹的一系列值",{"2":{"65":1,"69":1}}],["包裹的行作为表名",{"2":{"68":1}}],["包裹的内容作为字符串",{"2":{"67":1}}],["包裹起来的一串文字",{"2":{"65":1}}],["包括farevell",{"2":{"620":1}}],["包括不限于速记",{"2":{"532":1}}],["包括不以",{"2":{"252":1}}],["包括获取",{"2":{"502":1}}],["包括生成的配置文件在内",{"2":{"490":1}}],["包括但不限于突发断电",{"2":{"352":1}}],["包括指令回复和自定义回复",{"2":{"252":1}}],["包括商用",{"2":{"188":1}}],["包括角色卡",{"2":{"175":1}}],["包括编写规则模板和编写指令",{"2":{"172":1}}],["包括换行",{"2":{"67":1,"75":1}}],["包括自定义回复",{"2":{"46":1}}],["包括",{"2":{"24":1,"26":1,"187":1,"475":1,"519":1,"690":1}}],["值直葬",{"2":{"558":1}}],["值",{"2":{"170":1,"638":2,"643":1,"719":1}}],["值可以是如下类型",{"2":{"70":1,"77":1}}],["值需要是下述类型之一",{"2":{"65":1}}],["值为",{"2":{"29":1}}],["键值为",{"2":{"136":1}}],["键值",{"0":{"70":1,"77":1}}],["键值对使用冒号结构表示",{"2":{"77":1}}],["键值对以",{"2":{"70":1}}],["键值对后必须换行",{"2":{"65":1}}],["键值对",{"0":{"65":1},"2":{"65":1}}],["键名可以是裸键名",{"2":{"66":1}}],["键名",{"0":{"66":1}}],["键名在等号的左边而值在右边",{"2":{"65":1}}],["键",{"2":{"65":1}}],["键启动",{"2":{"32":1}}],["用空格分割",{"2":{"695":2}}],["用空格拼接成一个字符串",{"2":{"142":1}}],["用文本编辑器打开",{"2":{"672":1}}],["用文本编辑器编辑",{"2":{"667":1}}],["用这条指令可以查看",{"2":{"618":1}}],["用关键字进行词条查询",{"2":{"616":1}}],["用迁出海豹的",{"2":{"551":1}}],["用打包的数据覆盖迁入海豹的对应目录",{"2":{"549":1}}],["用以下方法即可启动海豹",{"2":{"518":1}}],["用鼠标右击压缩包",{"2":{"358":1}}],["用法举例",{"2":{"207":1}}],["用途",{"2":{"201":1}}],["用户可以去频道公屏发送一个",{"2":{"681":1}}],["用户可以查看和修改源代码",{"2":{"417":1}}],["用户可能使用某些自动工具创建了一名调查员",{"2":{"556":1}}],["用户运行的",{"2":{"520":1}}],["用户使用",{"2":{"517":1}}],["用户生成容器进程",{"2":{"475":1}}],["用户执行海豹进程可能会导致一些权限问题",{"2":{"475":1}}],["用户界面",{"2":{"438":1}}],["用户通常使用输入指令的方式与操作系统或程序进行交互",{"2":{"422":1}}],["用户社区里更快地解决问题",{"2":{"396":1}}],["用户需要这样一个科普性质的界面",{"2":{"376":1}}],["用户群的群公告",{"2":{"381":1}}],["用户群的群员",{"2":{"363":1}}],["用户群的社区氛围似乎又有些不尽如人意",{"2":{"376":1}}],["用户群中向管理说明以外",{"2":{"364":1}}],["用户群问问题会被要求发送截图",{"0":{"363":1},"2":{"386":1,"387":1}}],["用户群",{"2":{"201":1}}],["用户不存在或未被拉黑",{"2":{"159":1}}],["用户id>",{"2":{"159":4}}],["用户昵称",{"2":{"157":1}}],["用户",{"2":{"155":1,"157":1,"679":2}}],["用户也能抽取到最新内容",{"2":{"94":1}}],["用什么编写",{"0":{"125":1}}],["用于指示海豹回复你一条消息",{"2":{"681":1}}],["用于设置临时属性",{"2":{"643":1}}],["用于在",{"2":{"533":1}}],["用于处理音乐相关请求",{"2":{"498":1}}],["用于交互",{"2":{"444":1}}],["用于提示用户",{"2":{"421":1}}],["用于与",{"2":{"414":1}}],["用于区分网络中的不同设备",{"2":{"409":1}}],["用于精确控制查询范围的分组",{"2":{"292":1}}],["用于筛选出指定小类下的文案条目",{"2":{"271":1}}],["用于",{"2":{"187":1}}],["用于网络请求",{"2":{"187":1}}],["用于自定义扩展",{"2":{"187":1}}],["用于自动化发布海豹的每日构建包与",{"2":{"36":1}}],["用于读取",{"2":{"181":1}}],["用于演示如何抽取牌堆",{"2":{"151":1}}],["用于消除编译报错",{"2":{"149":1}}],["用于撤回等",{"2":{"141":1}}],["用于创建",{"2":{"133":1}}],["用于创建一个新的配置项",{"2":{"126":1}}],["用于注册扩展和定义指令的",{"2":{"132":1}}],["用于注册一个",{"2":{"126":6}}],["用于注册一个配置项",{"2":{"126":1}}],["用于获取一个",{"2":{"126":6}}],["用于获取一个配置项的值",{"2":{"126":1}}],["用于查找名为",{"2":{"126":1}}],["用于建立一个名为",{"2":{"126":1}}],["用于判断指令执行结果",{"2":{"126":1}}],["用于填写一些额外的展示内容",{"2":{"122":1}}],["用来单独控制这个插件是否开启",{"2":{"302":1}}],["用来实现回复发送者",{"2":{"148":1}}],["用来创建自定义",{"2":{"126":1}}],["用来定义新的指令",{"2":{"126":1}}],["用来测试",{"2":{"102":1}}],["用来记录相关说明性内容",{"2":{"64":1}}],["用勺子把西瓜最中间的一块全挖走",{"2":{"83":1}}],["用",{"2":{"77":1,"115":1,"159":1}}],["注册后的配置项会在",{"2":{"171":1}}],["注册后进行",{"2":{"171":1}}],["注册单选项函数的参数为",{"2":{"171":1}}],["注册配置项需在",{"2":{"171":1}}],["注册配置项",{"0":{"171":1}}],["注册插件配置项",{"0":{"170":1},"1":{"171":1},"2":{"305":1}}],["注册规则",{"2":{"168":1}}],["注册命令",{"2":{"151":2,"153":1,"159":5,"171":1}}],["注册",{"2":{"149":2}}],["注册指令",{"0":{"149":1}}],["注册扩展和指令的代码已经写好",{"2":{"177":1}}],["注册扩展",{"2":{"144":1,"151":1,"153":1,"159":1,"169":1,"171":1}}],["注册到系统中",{"2":{"126":1}}],["注释块",{"0":{"75":1}}],["注释也可以放在行尾",{"2":{"64":1}}],["注释以",{"2":{"64":1,"76":1}}],["注释",{"0":{"64":1,"73":1,"76":1},"1":{"74":1,"75":1}}],["注意同个账号不能同时登录原版",{"2":{"496":1}}],["注意此处的签名服务需要是",{"2":{"490":1}}],["注意汉字的长度",{"2":{"318":1}}],["注意检查自己导入的内容是不是完整复制进来的",{"2":{"272":1}}],["注意必须是半角符号",{"2":{"194":1}}],["注意不要与现有的重名",{"2":{"179":1}}],["注意不要和别的扩展的",{"2":{"160":1}}],["注意按照小驼峰命名法大写",{"2":{"170":1}}],["注意即使是非指令关键词也是依附于扩展的",{"2":{"169":1}}],["注意这些似乎只能在",{"2":{"128":1}}],["注意需要配合",{"2":{"126":1}}],["注意级词表",{"2":{"122":1}}],["注意级词汇",{"2":{"121":2,"122":2}}],["注意是",{"2":{"12":1}}],["注意",{"2":{"6":1,"8":1,"9":1,"22":1,"23":1,"24":3,"27":1,"31":3,"35":1,"43":1,"62":1,"63":1,"66":1,"69":1,"78":1,"80":1,"82":1,"88":1,"93":2,"94":1,"98":2,"100":1,"105":1,"116":1,"126":2,"129":1,"144":2,"146":1,"147":1,"152":1,"162":1,"186":1,"201":1,"202":2,"203":1,"242":1,"244":1,"245":1,"253":1,"265":1,"270":1,"272":1,"278":1,"318":1,"320":1,"338":1,"361":1,"363":1,"386":1,"387":1,"430":1,"450":1,"455":2,"458":1,"459":1,"462":1,"475":1,"480":1,"486":2,"487":1,"490":1,"492":2,"500":1,"506":1,"510":1,"518":2,"547":1,"551":1,"588":1,"596":1,"597":1,"626":1,"696":1,"700":1,"702":1}}],["应填写为",{"2":{"247":1}}],["应用内设置",{"0":{"351":1}}],["应用启动管理",{"2":{"346":1}}],["应用和服务",{"2":{"343":1,"346":1}}],["应用管理",{"2":{"343":1}}],["应用详情",{"2":{"343":1}}],["应用信息",{"2":{"343":3,"349":1}}],["应用分身",{"2":{"336":1}}],["应用双开",{"2":{"336":1}}],["应用举例",{"2":{"210":1}}],["应用进行注入等的危险操作需要",{"2":{"26":1}}],["应该怎么做的办法",{"2":{"396":1}}],["应该怎么做",{"2":{"309":1}}],["应该",{"2":{"126":1,"136":1}}],["应该为",{"2":{"63":1}}],["应是一个整数",{"2":{"80":1}}],["却使用了",{"2":{"63":2}}],["导航栏",{"2":{"430":1}}],["导航栏顶部的内存占用",{"2":{"361":1}}],["导出属性值和法术位",{"2":{"636":1}}],["导出属性值",{"0":{"566":1}}],["导出后不要再运行海豹核心",{"2":{"338":1,"551":1}}],["导出数据",{"2":{"338":1,"356":1,"487":1,"551":1}}],["导出文案内容",{"2":{"272":1}}],["导出",{"0":{"272":1},"2":{"272":1}}],["导入完成后也可以把",{"2":{"551":1}}],["导入完成后再点击启动核心",{"2":{"551":1}}],["导入数据",{"2":{"338":1,"487":1,"551":1}}],["导入自定义回复文件",{"0":{"312":1}}],["导入后点击",{"2":{"254":1}}],["导入",{"2":{"254":1,"272":1}}],["导入包括但不限于以下情形的内容",{"2":{"46":1}}],["导致",{"2":{"510":1}}],["导致海豹无法响应直接发起的私聊",{"2":{"455":1}}],["导致它没能被正确执行",{"2":{"392":1}}],["导致缺少条目",{"2":{"272":1}}],["导致发生空行",{"2":{"114":1}}],["导致输入了错误的符号",{"2":{"63":1}}],["记下以供后续使用",{"2":{"490":1}}],["记住你所做的",{"2":{"383":1}}],["记住你做了什么",{"0":{"383":1}}],["记住这个端口号",{"2":{"29":1}}],["记得考虑这点",{"2":{"320":1}}],["记得随时保存自己的修改",{"2":{"315":1}}],["记得检查是否在输入法的中文输入状态",{"2":{"63":1}}],["记为",{"2":{"207":1}}],["记录日志",{"0":{"700":1}}],["记录",{"2":{"161":2}}],["记事本",{"2":{"125":1}}],["半角符号",{"2":{"63":1}}],["语句",{"0":{"203":1}}],["语义版本控制",{"2":{"188":1}}],["语言编写扩展插件",{"2":{"299":1}}],["语言规范所提供的",{"2":{"187":1}}],["语言本身",{"2":{"186":1}}],["语言",{"2":{"101":1}}],["语言教程",{"2":{"63":1}}],["语法入门可以参考",{"2":{"412":1,"435":1,"442":1}}],["语法",{"2":{"98":1}}],["语法的扩展",{"2":{"69":1}}],["语法快速入门",{"0":{"63":1},"1":{"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1}}],["语法支持更多现代特性",{"2":{"62":1}}],["菜鸟教程",{"2":{"63":1,"97":1,"101":1,"186":1,"213":1}}],["格式和塔骰格式",{"2":{"542":1}}],["格式为",{"2":{"290":1}}],["格式是",{"2":{"261":1}}],["格式组织起来",{"2":{"259":1}}],["格式化错误",{"2":{"212":1}}],["格式化",{"2":{"125":1}}],["格式的自定义回复文件",{"2":{"312":1}}],["格式的文件",{"2":{"254":1}}],["格式的包也是可以使用的",{"2":{"183":1}}],["格式的包",{"2":{"183":1}}],["格式的敏感词库",{"0":{"122":1}}],["格式的",{"2":{"100":1}}],["格式的帮助文档中嵌套引用其它条目",{"2":{"98":1}}],["格式的帮助文档",{"0":{"98":1,"100":1},"1":{"99":1},"2":{"100":1}}],["格式的复杂牌组中",{"2":{"96":1}}],["格式的牌堆编写",{"2":{"62":1}}],["格式的牌堆",{"2":{"62":1}}],["格式错乱会无法识别",{"2":{"78":1}}],["格式诞生较晚",{"2":{"62":1}}],["格式",{"2":{"62":1,"65":1,"77":1,"97":1,"98":1,"122":4,"161":2,"165":1,"166":2,"213":1}}],["journalctl",{"2":{"520":1}}],["join",{"2":{"161":1}}],["j",{"0":{"411":1},"1":{"412":1},"2":{"657":1}}],["jar",{"2":{"464":5,"465":1}}],["jaro",{"2":{"104":2}}],["java",{"2":{"462":12,"464":1}}],["javascriptext",{"2":{"149":2}}],["javascriptconst",{"2":{"146":1,"163":1,"167":2}}],["javascriptcmdseal",{"2":{"146":1,"147":1,"148":1}}],["javascriptcmd",{"2":{"126":1,"130":1}}],["javascriptseal",{"2":{"134":1,"136":1,"167":2}}],["javascript",{"0":{"199":1,"298":1,"299":1},"1":{"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1},"2":{"126":2,"127":1,"128":1,"129":1,"131":1,"132":1,"133":1,"135":1,"137":2,"138":1,"139":1,"140":1,"141":1,"142":1,"144":1,"149":2,"151":2,"153":1,"159":1,"161":2,"162":1,"165":2,"166":2,"167":1,"168":2,"169":1,"172":1,"176":2,"186":7,"187":3,"188":2,"190":1,"194":2,"195":1,"199":4,"298":1,"299":3,"309":1,"599":1,"717":1}}],["jpg",{"2":{"88":2,"165":1,"339":1}}],["jwcc",{"2":{"69":1}}],["jrrp和",{"2":{"543":1}}],["jrrp",{"0":{"674":1},"2":{"60":1,"129":1,"210":1,"269":1,"674":1}}],["jsr",{"0":{"676":1},"2":{"676":1}}],["jsmodule",{"2":{"185":1}}],["jsbind",{"2":{"170":7}}],["js扩展信任测试",{"2":{"159":1}}],["js扩展信任",{"2":{"159":1}}],["js扩展拉黑测试",{"2":{"159":1}}],["js扩展拉黑",{"2":{"159":1}}],["jsvm",{"2":{"126":1}}],["json5",{"2":{"98":3}}],["jsonc",{"2":{"69":1}}],["json",{"0":{"70":1,"71":1,"72":1,"98":1,"412":1},"1":{"99":1},"2":{"62":2,"63":2,"68":2,"69":6,"70":2,"71":2,"72":2,"80":6,"82":1,"84":1,"85":1,"86":1,"88":2,"89":5,"90":1,"91":1,"95":2,"96":1,"97":3,"98":8,"99":1,"126":1,"135":1,"160":3,"161":3,"162":8,"163":2,"167":6,"179":1,"181":2,"259":1,"261":1,"290":1,"388":1,"412":1,"432":1,"477":3,"490":4,"492":2,"498":5}}],["js",{"0":{"190":1,"300":1,"301":1,"306":1,"307":1},"1":{"302":1,"303":1,"304":1,"305":1},"2":{"57":1,"125":1,"126":1,"144":5,"159":4,"160":2,"162":1,"169":1,"171":5,"176":1,"177":4,"179":3,"180":4,"181":3,"183":2,"185":1,"187":7,"188":2,"190":1,"191":2,"299":1,"300":2,"301":3,"302":2,"305":1,"306":1,"307":1,"596":1}}],["展示当前",{"2":{"643":1}}],["展示列表",{"2":{"597":1}}],["展示我的权限",{"2":{"153":1}}],["展示",{"0":{"60":1}}],["当角色名变化时也会自动更新",{"2":{"706":1}}],["当用户角色卡的数值变化时",{"2":{"705":1}}],["当人物已经昏迷",{"2":{"638":1}}],["当生命值归零",{"2":{"638":2}}],["当存在临时生命",{"2":{"638":1}}],["当指定的牌组名称不存在时",{"2":{"627":1}}],["当一个账号被标记后",{"2":{"623":1}}],["当调查员在游戏中成功使用了技能",{"2":{"587":1}}],["当房规设定为规则书标准",{"2":{"568":1}}],["当遇到无法使用时可以尝试以下解决方案",{"2":{"487":1}}],["当遇到不理解的概念时",{"2":{"368":1}}],["当任一镜像有更新时",{"2":{"479":1}}],["当服务器后台日志中出现",{"2":{"466":1}}],["当出现",{"2":{"464":1}}],["当消息长度",{"2":{"318":1}}],["当消息命中敏感词的时候",{"2":{"253":1}}],["当骰子收到和内容",{"2":{"317":1}}],["当回复项有多个条件时",{"2":{"316":1}}],["当回复项较多的时候",{"2":{"315":1}}],["当有人",{"2":{"661":1}}],["当有群员或管理进一步地询问相关问题",{"2":{"394":1}}],["当有多条指令时以",{"2":{"281":1}}],["当有用户触发黑名单事件时",{"2":{"227":1}}],["当成长失败且有失败成长值时则调用",{"2":{"278":2}}],["当成长失败且没有失败成长值时则调用",{"2":{"278":2}}],["当理智归零时则调用",{"2":{"277":1}}],["当同一个用户触发同一等级的次数超过对应设置时",{"2":{"253":1}}],["当插件使用了在",{"2":{"196":1}}],["当插件开发完成后",{"2":{"179":1}}],["当你用鼠标选中控制台内的文本时",{"2":{"423":1}}],["当你访问",{"2":{"409":1}}],["当你的海豹与",{"2":{"409":1}}],["当你的海豹核心运行在公网时可设置密码",{"2":{"245":1}}],["当你的增减表达式错误时",{"2":{"276":1}}],["当你的检定为多轮检定时",{"2":{"275":1}}],["当你在帮助文档中写下",{"2":{"291":1}}],["当你在凝视深渊的时候",{"2":{"254":1}}],["当你在复制粘贴",{"2":{"78":1}}],["当你试图在下文所述的条件算符或条件语句中",{"2":{"202":1}}],["当你写好了代码",{"2":{"180":1}}],["当连续两轮所有玩家都选择不摸鱼时",{"2":{"174":1}}],["当",{"2":{"126":2,"485":1}}],["当前日志设定为指定的日志",{"2":{"700":1}}],["当前日志指向本群的其中一个日志记录",{"2":{"700":1}}],["当前正在运行",{"2":{"666":1}}],["当前角色需已设定最大生命值且当前生命值大于",{"2":{"649":1}}],["当前判定线的五分之一",{"2":{"571":1}}],["当前判定线的二分之一",{"2":{"571":1}}],["当前",{"2":{"405":1,"659":1}}],["当前回复文件",{"0":{"311":1}}],["当前备份文件列表",{"2":{"214":1}}],["当前人物卡的名字",{"2":{"201":1}}],["当前等级",{"2":{"159":2}}],["当前群组信息等",{"2":{"146":1,"149":1,"167":1}}],["当前群信息",{"2":{"137":1}}],["当前玩家数据",{"2":{"137":1}}],["当前只能查阅海豹源码",{"2":{"126":1}}],["当前在模式2",{"2":{"58":1}}],["当前在模式1",{"2":{"58":1}}],["当前在默认模式",{"2":{"58":1}}],["当正则表达式获得匹配时",{"2":{"105":1}}],["当执行",{"2":{"96":1}}],["当牌组的名称以",{"2":{"89":3}}],["当然如果你没做过自定义配置",{"2":{"660":1}}],["当然不用",{"2":{"316":1}}],["当然你也可以使用其它协议",{"2":{"188":1}}],["当然可以",{"2":{"183":1}}],["当然",{"2":{"22":1,"62":1,"102":1,"167":1,"270":1,"317":1,"342":1,"369":1,"376":1,"377":1,"392":1}}],["`另一种插入表达式的写法",{"2":{"202":1}}],["`特殊文本类型",{"2":{"202":1}}],["`json",{"2":{"170":6}}],["`抱歉",{"2":{"167":1}}],["`http",{"2":{"167":1}}],["`正在试图捕捉$",{"2":{"166":1}}],["`骰子面数应是数字`",{"2":{"165":1}}],["`结果是",{"2":{"162":1}}],["`当前分歧",{"2":{"162":6,"163":1}}],["`已新建分歧",{"2":{"162":1}}],["`群内安价收集",{"2":{"162":1}}],["`投喂记录",{"2":{"161":1}}],["`用户$",{"2":{"159":1}}],["`你在群$",{"2":{"165":1}}],["`你给海豹投喂了$",{"2":{"161":1}}],["`你抓到一只海豹",{"2":{"148":1,"149":1}}],["`你需要的回复文本`",{"2":{"115":1}}],["`煤气灯`",{"2":{"134":2}}],["`我要",{"2":{"131":1}}],["`$",{"2":{"159":1,"162":2}}],["`$g群友经典语录`",{"2":{"131":2}}],["`$m今日打卡次数`",{"2":{"131":2}}],["`$xxx`即",{"2":{"126":1}}],["`$xxx`",{"2":{"126":10}}],["`那我出",{"2":{"116":3}}],["`在一天触发多次时的回复`",{"2":{"115":1}}],["`内容6`",{"2":{"113":1}}],["`内容5`",{"2":{"113":1}}],["`内容4`",{"2":{"113":1}}],["`内容3`",{"2":{"113":1}}],["`内容2`",{"2":{"113":1}}],["`内容1`",{"2":{"113":3}}],["`",{"2":{"58":1,"59":6,"109":1,"113":20,"116":3,"126":4,"129":2,"148":1,"149":1,"151":2,"159":1,"161":4,"162":9,"163":1,"165":1,"166":1,"167":6,"170":6,"202":2}}],["$",{"2":{"151":1,"159":6,"161":2,"162":14,"163":2,"165":1,"167":1,"421":1,"556":5}}],["$xxx",{"2":{"126":2}}],["$g群主体重",{"2":{"201":1}}],["$g开头",{"2":{"201":1}}],["$g",{"2":{"115":1,"201":1}}],["$g文案模式==2",{"2":{"58":1}}],["$g文案模式==1",{"2":{"58":1}}],["$g文案模式==0",{"2":{"58":1}}],["$g文案模式",{"2":{"58":3,"59":3}}],["$m今日人品",{"2":{"201":1}}],["$m开头",{"2":{"201":1}}],["$mstory=0",{"2":{"119":1}}],["$mstory",{"2":{"119":10}}],["$mplayerwin",{"2":{"116":2}}],["$mplayerlose",{"2":{"116":2}}],["$mplayertime",{"2":{"116":6}}],["$m变量==$tdate",{"2":{"115":1}}],["$m变量=$tdate",{"2":{"115":1}}],["$m变量",{"2":{"115":4}}],["$m",{"2":{"115":1,"201":1}}],["$mcatfavor不同",{"2":{"113":1}}],["$mcatfavor",{"2":{"113":5}}],["$m金币=$m金币",{"2":{"91":3}}],["$m金币=$m金币+114",{"2":{"91":3}}],["$t目标指令",{"2":{"281":1}}],["$t目标文案",{"2":{"59":4}}],["$t指令来源",{"2":{"281":1}}],["$t列表内容",{"2":{"281":1}}],["$t原因句子",{"2":{"280":1}}],["$t总结果文本",{"2":{"278":1}}],["$t提示",{"2":{"277":1}}],["$t附加语",{"2":{"277":1}}],["$t变更列表",{"2":{"276":1}}],["$t判定结果",{"2":{"275":1}}],["$t结果文本",{"2":{"275":2,"277":1,"278":2,"280":2}}],["$t消息类型",{"2":{"201":1}}],["$t游戏模式",{"2":{"201":1}}],["$t平台",{"2":{"201":1}}],["$t文本长度",{"2":{"201":1}}],["$ttimestamp",{"2":{"201":1}}],["$tsecond",{"2":{"201":1}}],["$tmsgid",{"2":{"201":1}}],["$tminute",{"2":{"201":1}}],["$tmonth",{"2":{"201":1}}],["$thour",{"2":{"201":1}}],["$tweekday",{"2":{"201":1}}],["$tyear",{"2":{"201":1}}],["$t个人骰子面数",{"2":{"201":1}}],["$t群组骰子面数",{"2":{"283":2}}],["$t群号",{"2":{"201":2}}],["$t群名",{"2":{"201":1}}],["$tqq",{"2":{"201":1}}],["$tqq昵称",{"2":{"201":1}}],["$t账号id",{"2":{"201":2}}],["$t随机点数",{"2":{"201":1}}],["$t开头",{"2":{"201":1}}],["$t",{"2":{"201":6}}],["$t人品",{"2":{"129":2,"210":5}}],["$tday",{"2":{"201":1}}],["$tdate",{"2":{"115":3,"201":1}}],["$tdiceplay==",{"2":{"116":6}}],["$tdiceplay==$t0",{"2":{"116":1}}],["$tdiceplay=",{"2":{"116":3}}],["$tdiceplay=条件算符",{"2":{"116":1}}],["$tdiceplay",{"2":{"116":6}}],["$trand之后再次判断的时候",{"2":{"116":1}}],["$trand==3",{"2":{"116":1}}],["$trand==2",{"2":{"116":2}}],["$trand==1",{"2":{"113":2,"116":2}}],["$trand=d3",{"2":{"116":3}}],["$trand=d10",{"2":{"113":2}}],["$trand=d6",{"2":{"113":1}}],["$trand",{"2":{"111":2,"116":1}}],["$t测试赋值为",{"2":{"110":1}}],["$t测试",{"2":{"110":5}}],["$t测试==2",{"2":{"110":1}}],["$t测试==1",{"2":{"110":1}}],["$t测试=1",{"2":{"109":1,"110":1}}],["$ta",{"2":{"105":1}}],["$t0=0",{"2":{"212":1}}],["$t0==",{"2":{"116":6}}],["$t0",{"2":{"105":1,"111":8,"116":4,"202":11,"203":3,"212":3}}],["$t玩家",{"2":{"105":1,"116":3,"129":1,"148":1,"201":2,"210":1,"708":1}}],["$t2",{"2":{"105":1}}],["$t输出3",{"2":{"114":2}}],["$t输出2",{"2":{"114":5}}],["$t输出1",{"2":{"114":2}}],["$t输出0",{"2":{"114":2}}],["$t输出",{"2":{"58":1,"110":5,"113":2,"114":1,"115":3,"116":3}}],["$t输出=$trand==6",{"2":{"113":1}}],["$t输出=$trand==5",{"2":{"113":1}}],["$t输出=$trand==4",{"2":{"113":1}}],["$t输出=$trand==3",{"2":{"113":1}}],["$t输出=$trand==2",{"2":{"113":1}}],["$t输出=$trand==1",{"2":{"113":1}}],["$t输出=`不存在指定模式",{"2":{"58":1}}],["$t输出=",{"2":{"58":3,"110":3}}],["$t1=",{"2":{"109":1,"212":1}}],["$t1==",{"2":{"58":3}}],["$t1",{"2":{"58":5,"105":3,"203":2,"212":4}}],["$t计算结果",{"2":{"56":3}}],["$t计算过程",{"2":{"56":1}}],["$t表达式文本",{"2":{"56":1}}],["回答者可以更加高效的帮助你定位问题",{"2":{"388":1}}],["回答问题并由我确认",{"2":{"247":1}}],["回到手机海豹的界面中点击",{"2":{"551":1}}],["回到",{"2":{"346":1}}],["回复消息",{"0":{"679":1}}],["回复项有几个结果",{"2":{"319":1}}],["回复项的结果",{"0":{"319":1},"1":{"320":1}}],["回复项的条件支持多个",{"2":{"316":1}}],["回复项的条件",{"0":{"316":1},"1":{"317":1,"318":1}}],["回复可以是直接的回复",{"2":{"319":1}}],["回复结果延迟",{"0":{"320":1}}],["回复结果",{"0":{"107":1},"1":{"108":1,"109":1,"110":1,"111":1},"2":{"319":1}}],["回复",{"2":{"58":2,"115":3,"117":1,"129":1,"317":1}}],["回车",{"2":{"12":1,"26":5}}],["来辅助识别",{"2":{"696":1}}],["来组织功能和指令",{"2":{"694":1}}],["来源",{"2":{"675":1}}],["来源可能是骰主在后台设置的",{"2":{"222":1}}],["来令对方进行死亡豁免",{"2":{"652":1}}],["来令对方进行长休",{"2":{"650":1}}],["来消耗对方的法术位",{"2":{"648":1}}],["来操作对方的法术位",{"2":{"646":1}}],["来操作对方的",{"2":{"644":1}}],["来操作对方的属性值",{"2":{"567":1,"639":1}}],["来使用骰子机器人了",{"2":{"691":1}}],["来使用对方的技能进行检定",{"2":{"573":1,"641":1}}],["来使修改生效",{"2":{"302":1}}],["来代指",{"2":{"559":1}}],["来管理服务",{"2":{"520":1}}],["来连接海豹和对应平台",{"2":{"519":1}}],["来访问后台",{"2":{"518":2}}],["来启动海豹核心",{"2":{"668":1}}],["来启动海豹",{"2":{"518":2}}],["来区分出账号是否是正常用户",{"2":{"485":1}}],["来提供",{"2":{"416":1,"488":1}}],["来提供切换命令",{"2":{"57":1}}],["来个大佬救救",{"2":{"385":1}}],["来将不重要的项折叠起来",{"2":{"315":1}}],["来为你编写回复提供更多有用信息",{"2":{"311":1}}],["来刷新",{"2":{"292":1}}],["来搜索词条内容",{"2":{"291":1}}],["来插入他们",{"2":{"283":1}}],["来指定插件的目标海豹版本",{"2":{"196":1}}],["来指定扩展依赖的其他扩展",{"2":{"193":1}}],["来进行更复杂的限制",{"2":{"194":1}}],["来编写插件",{"2":{"190":1}}],["来编写牌堆",{"2":{"62":1}}],["来自",{"2":{"187":1}}],["来帮忙完善",{"2":{"184":1}}],["来开启其中一个",{"2":{"694":1}}],["来开启",{"2":{"175":1}}],["来生成",{"2":{"173":1}}],["来获取配置项",{"2":{"171":1}}],["来获取一个新的",{"2":{"170":1}}],["来简化代码",{"2":{"167":1}}],["来重写这段代码",{"2":{"167":1}}],["来查看当前可用的关键字",{"2":{"622":1}}],["来查看目标用户的黑名单",{"2":{"159":1}}],["来查看黑名单和信任列表",{"2":{"159":1}}],["来信任目标用户",{"2":{"159":1}}],["来解除拉黑",{"2":{"159":1}}],["来拉黑目标用户",{"2":{"159":1}}],["来了解更多",{"2":{"144":1}}],["来换行",{"2":{"100":1}}],["来换行了",{"2":{"67":1}}],["来抽取牌堆",{"2":{"151":2}}],["来抽取",{"2":{"93":1,"586":1}}],["来识别牌组是否隐藏",{"2":{"89":1}}],["来给予权限",{"2":{"9":1}}],[">=2",{"2":{"194":1,"195":1}}],[">=",{"2":{"162":2,"168":1,"202":1,"209":2,"210":4,"211":1}}],[">",{"2":{"56":1,"105":1,"108":1,"114":1,"142":3,"162":1,"202":1,"210":4,"212":2,"270":1,"282":1,"526":2,"536":1,"565":1,"567":1,"569":1,"570":1,"571":1,"572":1,"573":1,"574":1,"576":2,"578":2,"579":2,"582":1,"585":1,"590":1,"598":1,"599":2,"602":1,"603":1,"604":1,"605":1,"606":2,"607":4,"608":2,"609":2,"610":1,"611":2,"612":1,"613":1,"614":1,"626":1,"627":1,"631":1,"632":1,"633":1,"638":2,"640":1,"642":1,"643":4,"645":1,"647":1,"649":1,"651":4,"675":1,"676":1,"677":1,"679":3,"682":1,"684":2}}],["啧",{"2":{"56":2}}],["乐",{"2":{"56":2}}],["=0",{"2":{"684":1}}],["=d30",{"2":{"632":1}}],["=d20+2",{"2":{"632":1,"729":1}}],["=d20+3",{"2":{"632":1}}],["=399",{"2":{"613":1}}],["=3942",{"2":{"611":1}}],["=3",{"2":{"612":1,"651":1}}],["=32",{"2":{"610":1}}],["=36",{"2":{"605":1}}],["=87",{"2":{"605":1}}],["=8",{"2":{"603":1}}],["=42",{"2":{"605":1}}],["=4",{"2":{"602":1,"609":1}}],["=48",{"2":{"602":1}}],["=96+",{"2":{"593":1}}],["=60",{"2":{"602":1}}],["=600",{"2":{"113":1}}],["=6",{"2":{"565":1,"607":1}}],["=7",{"2":{"536":1,"603":1,"606":1}}],["=>",{"2":{"126":1,"130":2,"146":1,"147":1,"148":1,"149":1,"151":2,"153":1,"159":6,"161":1,"162":3,"165":1,"166":1,"167":4,"168":1,"169":1,"171":1}}],["=13",{"2":{"611":1}}],["=11",{"2":{"607":1,"609":1,"611":1}}],["=10",{"2":{"607":2}}],["=100",{"2":{"113":1}}],["=17",{"2":{"606":1}}],["=19",{"2":{"606":1}}],["=14",{"2":{"602":1}}],["=16",{"2":{"536":1,"606":1}}],["=1500",{"2":{"113":1}}],["=1",{"2":{"110":1,"684":1}}],["=20",{"2":{"651":1}}],["=224",{"2":{"613":1}}],["=25",{"2":{"611":1}}],["=2500",{"2":{"113":1}}],["=250",{"2":{"113":1}}],["=2",{"2":{"110":1,"194":3,"609":1}}],["===",{"2":{"159":6,"161":1,"162":2,"165":1,"544":3}}],["==userscript==",{"2":{"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"168":1,"171":1,"187":1,"188":1,"194":2,"195":1}}],["==",{"2":{"56":2,"59":3,"106":1,"111":1,"116":1,"119":7,"149":1,"151":1,"153":1,"159":4,"161":1,"162":1,"165":2,"166":1,"168":2,"171":2,"187":1,"188":1,"202":4}}],["=",{"2":{"56":1,"58":7,"59":3,"64":1,"65":1,"67":2,"68":7,"69":5,"80":10,"82":2,"83":3,"85":1,"89":4,"90":4,"91":1,"93":7,"95":3,"96":21,"104":2,"111":3,"113":2,"115":5,"116":9,"119":3,"122":13,"126":1,"130":6,"144":1,"146":4,"147":4,"148":5,"149":14,"151":13,"153":11,"159":48,"161":16,"162":37,"163":2,"165":9,"166":13,"167":4,"168":26,"169":3,"171":17,"173":1,"179":1,"185":1,"202":9,"203":5,"212":3,"565":1,"608":1,"609":1,"631":5,"638":1,"640":3,"642":1}}],["单独设置某一环的法术位上限",{"2":{"645":1}}],["单词",{"2":{"626":1}}],["单个群配置",{"2":{"498":1}}],["单个回复项的条件",{"2":{"314":1}}],["单行",{"2":{"281":1}}],["单条",{"2":{"278":2}}],["单项",{"2":{"276":1,"632":2}}],["单项结果文本",{"2":{"56":1,"275":3,"277":1,"280":2}}],["单位名称",{"2":{"633":1}}],["单位2",{"2":{"633":1}}],["单位1",{"2":{"633":1}}],["单位毫秒",{"2":{"498":1}}],["单位是秒",{"2":{"320":1}}],["单位是",{"2":{"248":1}}],["单位未知",{"2":{"128":1}}],["单",{"0":{"190":1}}],["单人模组",{"0":{"119":1}}],["单相思",{"2":{"99":1}}],["单击加号",{"2":{"33":1}}],["单击你刚刚传到模拟器里的文件",{"2":{"27":1}}],["示例文件以",{"2":{"475":1}}],["示例文档",{"0":{"99":1}}],["示例结果",{"2":{"201":1}}],["示例中的",{"2":{"188":1}}],["示例代码",{"0":{"151":1,"153":1,"159":1,"161":1,"162":1,"171":1}}],["示例为每人每天一次",{"2":{"115":1}}],["示例如下",{"2":{"96":1}}],["示例",{"0":{"55":1,"110":1,"111":1},"1":{"56":1,"57":1,"58":1,"59":1,"60":1},"2":{"56":1,"60":1,"83":1,"85":1,"105":2,"108":1,"114":1,"117":1,"119":1,"149":1,"161":1,"165":1,"166":1,"168":1,"187":1,"270":1,"309":1,"317":1,"526":1,"536":1,"565":1,"567":1,"569":1,"570":1,"571":1,"572":1,"573":1,"574":1,"576":1,"578":1,"579":1,"582":1,"585":1,"590":1,"598":1,"599":1,"602":1,"603":1,"604":1,"605":1,"606":2,"607":1,"608":1,"609":2,"610":1,"611":2,"612":1,"613":1,"614":1,"617":1,"618":2,"619":1,"622":1,"626":1,"627":2,"631":1,"632":1,"633":1,"638":1,"640":1,"642":1,"643":4,"645":1,"647":1,"649":1,"651":1,"675":2,"676":1,"677":1,"678":1,"679":2,"684":2,"737":1}}],["充分利用海豹核心提供的自定义能力",{"2":{"53":1}}],["就称本轮暴击",{"2":{"610":1}}],["就只剩下",{"2":{"543":1}}],["就像是地址",{"2":{"409":1}}],["就会更简单",{"2":{"363":1}}],["就作为一个开源程序活动在大家的视线中",{"2":{"362":1}}],["就是指令参数",{"2":{"695":1}}],["就是指令名",{"2":{"694":1}}],["就是",{"2":{"694":1}}],["就是通过网络生成",{"2":{"438":1}}],["就是把程序的源代码放在公共平台",{"2":{"362":1}}],["就是修好的数据库了",{"2":{"356":1}}],["就新建了一个文件夹",{"2":{"358":1}}],["就无法正常运行",{"2":{"358":1}}],["就能快速分享相关设置了",{"2":{"272":1}}],["就可以在海豹中使用了",{"2":{"199":1}}],["就可以完成了",{"2":{"148":1}}],["就不存在了",{"2":{"174":1}}],["就好比你在商场门口想要把随身物品存进暂存柜中",{"2":{"160":1}}],["就开始判断",{"2":{"116":1}}],["就最好多做几次实验",{"2":{"114":1}}],["就很足够了",{"2":{"52":1}}],["就填上吧",{"2":{"8":1}}],["了解海豹的扩展能力",{"2":{"553":1}}],["了解海豹语",{"0":{"124":1}}],["了解如何快速搭建海豹",{"2":{"553":1}}],["了解全部指令",{"2":{"553":1}}],["了解一个概念背后的一些细节",{"2":{"373":1}}],["了解自定义回复的编写",{"2":{"57":1}}],["了解指令的基本格式",{"2":{"51":1}}],["了解更多",{"2":{"33":1}}],["基本设置",{"2":{"486":1,"596":1,"599":1,"663":1,"664":1,"702":1}}],["基本上全部的特性",{"2":{"187":1}}],["基础值3",{"2":{"638":2}}],["基础值1",{"2":{"638":1}}],["基础设置",{"0":{"228":1},"1":{"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1}}],["基础部分",{"2":{"101":1}}],["基础牌堆编写",{"0":{"80":1}}],["基础概念",{"0":{"689":1},"1":{"690":1,"691":1,"692":1,"693":1,"694":1,"695":1,"696":1,"697":1},"2":{"51":1}}],["基于",{"2":{"36":1,"246":1}}],["钉钉支持",{"0":{"446":1}}],["钉钉",{"0":{"445":1},"1":{"446":1},"2":{"50":1,"519":1}}],["迁移数据到手机",{"0":{"551":1}}],["迁移",{"0":{"547":1},"1":{"548":1,"549":1,"550":1,"551":1},"2":{"49":1}}],["迁移至新的",{"2":{"24":1}}],["现为12",{"2":{"649":1}}],["现代的终端通常会生成一个窗口",{"2":{"444":1}}],["现代的",{"2":{"440":1}}],["现代",{"2":{"186":1}}],["现在关闭",{"2":{"677":1}}],["现在可以进入海豹",{"2":{"659":1}}],["现在就配置完成了",{"2":{"659":1}}],["现在已经很不好用了",{"2":{"658":1}}],["现在",{"2":{"187":1,"666":1}}],["现在要写一个名为",{"2":{"146":1}}],["现在请不要这么做了",{"2":{"84":1,"86":1}}],["现在需要将旧部署转移到新的机器",{"2":{"49":1}}],["现各大骰系都用此程序",{"2":{"20":1}}],["从而执行了来自其他扩展的指令",{"2":{"694":1}}],["从当前骰池抽取一个数值",{"2":{"677":1}}],["从先攻列表中删除指定单位",{"2":{"633":1}}],["从指定群组中退出",{"2":{"596":1}}],["从目前的表现看来",{"2":{"485":1}}],["从群聊中触发的私聊",{"2":{"455":1}}],["从此只要是自定义回复能实现的功能",{"2":{"371":1}}],["从类似",{"2":{"369":1}}],["从海豹的",{"2":{"356":1}}],["从中解压出数据库文件",{"2":{"355":1}}],["从任务列表隐藏",{"2":{"347":1}}],["从上到下依次执行",{"2":{"319":1}}],["从序列",{"2":{"75":1}}],["从",{"2":{"69":2,"71":1,"72":1,"73":1,"126":3,"135":2,"152":1,"188":2,"193":1,"196":1,"214":1,"215":1,"216":1,"292":1,"294":1,"314":1,"322":1,"323":1,"324":1,"486":1,"500":1,"517":2,"563":1,"616":1,"617":1,"679":1,"680":1,"681":2,"682":2}}],["从零开始",{"0":{"47":1},"1":{"48":1,"49":1,"50":1,"51":1,"52":1,"53":1}}],["从主分支",{"2":{"41":1}}],["政策",{"2":{"46":1}}],["编号",{"2":{"738":1}}],["编译到",{"2":{"190":1}}],["编译成",{"2":{"181":1}}],["编译成功的",{"2":{"180":1}}],["编解码",{"2":{"187":1}}],["编程语言的教学超出了本文档的目的",{"2":{"186":1}}],["编码为",{"2":{"126":1}}],["编码转换等诸多功能",{"2":{"125":1}}],["编码编写",{"2":{"98":1}}],["编码",{"2":{"62":1,"126":1}}],["编写对它的解读",{"2":{"674":1}}],["编写一个简单的",{"2":{"464":1}}],["编写一条自定义指令",{"2":{"149":2}}],["编写插件时",{"2":{"190":1}}],["编写插件的内容",{"2":{"172":1}}],["编写的包都是可以引用的",{"2":{"183":1}}],["编写新的",{"0":{"172":1},"1":{"173":1,"174":1,"175":1,"176":1}}],["编写代骰指令",{"0":{"166":1},"2":{"166":2}}],["编写暗骰指令",{"0":{"165":1},"2":{"165":1}}],["编写指令的具体处理代码",{"2":{"146":1}}],["编写",{"2":{"125":1,"305":1,"307":1}}],["编写敏感词库",{"0":{"120":1},"1":{"121":1,"122":1},"2":{"257":1}}],["编写帮助文档",{"0":{"97":1},"1":{"98":1,"99":1,"100":1},"2":{"297":1}}],["编写牌堆",{"0":{"61":1},"1":{"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1},"2":{"266":1,"412":1,"435":1,"442":1}}],["编写自定义回复",{"0":{"101":1},"1":{"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1},"2":{"57":1,"321":1}}],["编写复杂文案",{"0":{"54":1},"1":{"55":1,"56":1,"57":1,"58":1,"59":1,"60":1},"2":{"287":1}}],["编写人员",{"2":{"46":1}}],["编辑页填写信息",{"2":{"44":1}}],["海族",{"2":{"736":1}}],["海外版或许是一个尚可接受的选择",{"2":{"369":1}}],["海洋馆工作人员",{"2":{"46":1}}],["海豹社区还通过插件的形式为其它规则提供了支持",{"2":{"717":1}}],["海豹通过",{"2":{"694":1}}],["海豹回复你一条消息",{"2":{"681":1}}],["海豹不会回应",{"2":{"661":1}}],["海豹不会做出回应",{"2":{"661":1}}],["海豹不会与非好友帐号私聊",{"2":{"655":1}}],["海豹也会回应",{"0":{"661":1}}],["海豹默认骰子面数为100",{"2":{"600":1}}],["海豹默认的",{"2":{"438":1}}],["海豹提供",{"2":{"599":1}}],["海豹提供了官方的",{"2":{"518":1}}],["海豹提供了多个平台的安装包",{"2":{"517":1}}],["海豹提供了一种简单易学的脚本语言",{"2":{"200":1}}],["海豹提供了一系列时间变量来调用",{"2":{"115":1}}],["海豹提供了相应的",{"2":{"177":1}}],["海豹除了核心指令之外",{"2":{"543":1}}],["海豹搭载了全文搜索技术",{"2":{"527":1}}],["海豹主要对接其",{"2":{"500":1}}],["海豹推荐使用正向连接",{"2":{"490":1}}],["海豹连接",{"0":{"478":1,"491":1,"499":1}}],["海豹数据等",{"2":{"475":1}}],["海豹中必须填入与你的",{"2":{"409":1}}],["海豹中的权限等级",{"2":{"152":1}}],["海豹工作目录内的文件结构可以参考",{"2":{"405":1}}],["海豹依然不会在私聊中回复我",{"2":{"388":1}}],["海豹用户群的群员们并不会如此严苛",{"2":{"377":1}}],["海豹文件路径",{"0":{"338":1}}],["海豹为了安全不允许调用非海豹文件夹内的图片",{"2":{"326":1}}],["海豹为这种格式的牌堆支持了更多功能",{"2":{"62":1}}],["海豹格式的",{"2":{"201":3}}],["海豹会将图片在容器内的绝对路径传递给",{"2":{"475":1,"480":1}}],["海豹会向通知列表发送一条通知",{"2":{"248":1}}],["海豹会尝试在兼容的情况下尽可能地加载插件",{"2":{"196":1}}],["海豹会首先输出空变量",{"2":{"114":1}}],["海豹额外在环境中提供了如下全局对象",{"2":{"187":1}}],["海豹才会触发此流程",{"2":{"169":1}}],["海豹允许你在一个",{"2":{"144":1}}],["海豹仍会按照自定义回复中设置的格式输出",{"2":{"114":1}}],["海豹没能逃脱凶猛恶汉们的掌控",{"2":{"114":1}}],["海豹遵循命令行脚本的通行做法",{"2":{"105":1}}],["海豹骰子的回复内容几乎可以进行完全的自定义",{"2":{"268":1}}],["海豹骰",{"2":{"100":1,"552":1}}],["海豹骰不对非自身提供以外的内容合法性负责",{"2":{"46":1}}],["海豹语表达式",{"2":{"151":1}}],["海豹语",{"2":{"91":1,"124":1,"200":1}}],["海豹将此指令迁移至",{"2":{"679":1,"680":1,"681":1,"682":1}}],["海豹将使用",{"2":{"490":1}}],["海豹将依次从上往下检查更新",{"2":{"90":1}}],["海豹将以",{"2":{"89":1,"95":1}}],["海豹支持使用",{"2":{"682":1}}],["海豹支持",{"2":{"681":1,"682":1}}],["海豹支持在每个群组中分别设置默认的查询分组",{"2":{"617":1}}],["海豹支持在牌堆中使用",{"2":{"69":1}}],["海豹支持其他编程语言编写插件吗",{"0":{"199":1}}],["海豹支持用正则匹配",{"2":{"105":1}}],["海豹支持的",{"2":{"98":1}}],["海豹支持为牌堆提供云端内容",{"2":{"94":1}}],["海豹支持读取以",{"2":{"69":1}}],["海豹目前可以健康食用的",{"2":{"290":1}}],["海豹目前支持了许多平台",{"2":{"50":1}}],["海豹目录",{"2":{"12":1}}],["海豹新版官方手册",{"2":{"36":1}}],["海豹的计算只支持整数",{"2":{"602":1}}],["海豹的其他功能都作为",{"2":{"599":1}}],["海豹的设计初衷是",{"2":{"523":1}}],["海豹的日志通常可以在三个地方找到",{"2":{"430":1}}],["海豹的日志中包含了大量的有效信息",{"2":{"387":1}}],["海豹的本地文件",{"0":{"325":1},"1":{"326":1,"327":1,"328":1,"329":1,"330":1},"2":{"405":1,"518":1}}],["海豹的更新有时会调整和删除部分文案条目",{"2":{"271":1}}],["海豹的抽取指令为",{"2":{"80":1}}],["海豹的自动构建仓库",{"2":{"36":1}}],["海豹的前端代码",{"2":{"36":1}}],["海豹的",{"2":{"36":1,"187":1}}],["海豹的所有源代码都托管在",{"2":{"36":1}}],["海豹的源代码以",{"2":{"4":1}}],["海豹官方无力解决此类问题",{"2":{"485":1}}],["海豹官方无法做出任何保证",{"2":{"485":1}}],["海豹官方安装包中也默认提供了",{"2":{"290":1}}],["海豹官方不对此提供帮助",{"2":{"27":1}}],["海豹官方也不对",{"2":{"24":1}}],["海豹官网",{"2":{"1":1}}],["海豹开发了",{"2":{"542":1}}],["海豹开发组也正在着手对新的",{"2":{"24":1}}],["海豹开源组织",{"2":{"1":1,"36":1}}],["海豹从旧版升级后",{"2":{"271":1}}],["海豹从",{"2":{"24":1,"446":1,"487":1,"488":1,"493":1,"500":2,"502":1,"508":1}}],["海豹",{"2":{"23":1,"85":3,"86":11,"100":1,"149":2,"265":1,"430":1}}],["海豹已于",{"2":{"6":1,"23":1}}],["海豹核心不提供统计整体成功率的功能",{"2":{"710":1}}],["海豹核心不支持关闭暗骰",{"2":{"655":1}}],["海豹核心可以以",{"2":{"702":1}}],["海豹核心可以对接其提供的",{"2":{"416":1,"488":1}}],["海豹核心没有预置的自定义回复",{"2":{"697":1}}],["海豹核心使用词条标题模糊搜索",{"2":{"616":1}}],["海豹核心使用稍微更多的内存使用全文搜索",{"2":{"616":1}}],["海豹核心使用不含秒数",{"2":{"213":1}}],["海豹核心也支持通过装载",{"2":{"599":1}}],["海豹核心内置的房规列出如下",{"2":{"593":1}}],["海豹核心兼容了简化卡格式",{"2":{"563":1}}],["海豹核心兼容了溯洄核心",{"2":{"522":1}}],["海豹核心只占用大概",{"2":{"524":1}}],["海豹核心对指令格式不敏感",{"2":{"522":1}}],["海豹核心在容器中的工作目录是根目录",{"2":{"518":1}}],["海豹核心将以",{"2":{"702":1}}],["海豹核心将表达式翻译成字节码",{"2":{"544":1}}],["海豹核心将尝试安装一个由",{"2":{"520":1}}],["海豹核心将会在后台运行并弹出提示",{"2":{"518":1}}],["海豹核心将无法正常运行",{"2":{"349":1}}],["海豹核心与",{"0":{"466":1},"2":{"466":2}}],["海豹核心支持与安装了",{"2":{"461":1}}],["海豹核心支持使用",{"2":{"299":1}}],["海豹核心要求的",{"2":{"405":1}}],["海豹核心检测不到其他必要的文件",{"2":{"358":1}}],["海豹核心默认搭载了",{"2":{"616":1}}],["海豹核心默认每",{"2":{"355":1}}],["海豹核心默认提供每",{"2":{"214":1}}],["海豹核心正在运行",{"2":{"350":1}}],["海豹核心需要必要的权限来正常运行",{"2":{"343":1}}],["海豹核心添加了",{"2":{"322":1}}],["海豹核心功能的文案",{"2":{"269":1}}],["海豹核心的日志记录只在骰子启用时进行",{"2":{"700":1}}],["海豹核心的数据文件全平台通用",{"2":{"547":1}}],["海豹核心的底层架构",{"2":{"545":1}}],["海豹核心的版本号",{"2":{"389":1}}],["海豹核心的敏感词主要分为四个等级",{"2":{"253":1}}],["海豹核心的诞生离不开开源社区和其它开源软件的支持",{"2":{"4":1}}],["海豹核心会在频道私聊中回复你",{"2":{"681":1}}],["海豹核心会按以下规则进行忽略",{"2":{"623":1}}],["海豹核心会进行提示",{"2":{"612":1}}],["海豹核心会第一时间跟进以解决这一问题",{"2":{"455":1}}],["海豹核心会自动从该群组中退出",{"2":{"248":1}}],["海豹核心会检查在每个",{"2":{"248":1}}],["海豹核心会调用你写的这个函数",{"2":{"146":1}}],["海豹核心产生的所有备份都位于",{"2":{"214":1}}],["海豹核心提供的扩展",{"2":{"181":1}}],["海豹核心提供了自定义指令前缀功能",{"2":{"693":1}}],["海豹核心提供了一种自动安装为系统服务",{"2":{"520":1}}],["海豹核心提供了",{"2":{"304":1}}],["海豹核心提供了多种扩展功能",{"2":{"123":1}}],["海豹核心提供了许多指令",{"2":{"51":1}}],["海豹核心跟随",{"2":{"101":1}}],["海豹核心无法核查从接口处获取的数据",{"2":{"94":1}}],["海豹核心",{"0":{"552":1},"2":{"68":3,"72":2,"201":1,"324":1,"343":1,"345":1}}],["海豹核心目前支持",{"2":{"62":1}}],["海豹核心成功运行后",{"2":{"50":1}}],["海豹核心是由一群热心的开发者无偿开发并开源发布的",{"2":{"48":1}}],["海豹核心官方版只支持",{"2":{"46":1}}],["海豹核心源码的托管地址",{"2":{"1":1}}],["诋毁",{"2":{"46":1}}],["侵犯他人知识产权或涉及第三方商业秘密及其他专有权利的",{"2":{"46":1}}],["侵害他人合法权益的",{"2":{"46":1}}],["木马及其相关内容的",{"2":{"46":1}}],["木落>尝试使用",{"2":{"556":3}}],["木落>的属性变化",{"2":{"556":1}}],["木落>的属性录入完成",{"2":{"556":1}}],["木落>的个人属性为",{"2":{"556":1}}],["木落>掷出了",{"2":{"544":1}}],["木落",{"2":{"3":1,"144":2,"149":2,"161":2,"166":2,"168":1,"187":1,"188":1,"201":4,"632":2,"633":1}}],["教育",{"2":{"556":1,"590":2}}],["教唆使用外挂",{"2":{"46":1}}],["教程",{"2":{"12":1,"63":1,"122":1,"186":2}}],["侮辱或者诽谤他人",{"2":{"46":1}}],["恐怖或者教唆犯罪的",{"2":{"46":1}}],["凶杀",{"2":{"46":1}}],["赌博",{"2":{"46":1}}],["色情",{"2":{"46":1}}],["散布任何贬损",{"2":{"46":1}}],["散布淫秽",{"2":{"46":1}}],["散布谣言",{"2":{"46":1}}],["扰乱社会秩序",{"2":{"46":1}}],["宣扬",{"2":{"46":1}}],["宣扬邪教和封建迷信的",{"2":{"46":1}}],["宣布",{"2":{"24":1}}],["破坏社会稳定的",{"2":{"46":1}}],["破坏国家宗教政策",{"2":{"46":1}}],["破坏国家统一的",{"2":{"46":1}}],["破坏民族团结的",{"2":{"46":1}}],["民族歧视",{"2":{"46":1}}],["煽动民族仇恨",{"2":{"46":1}}],["损害国家荣誉和利益的",{"2":{"46":1}}],["颠覆国家政权",{"2":{"46":1}}],["泄露国家秘密",{"2":{"46":1}}],["危害国家安全",{"2":{"46":1}}],["危险级词表",{"2":{"122":1}}],["危险级词汇",{"2":{"121":1,"122":2}}],["危险",{"2":{"6":2,"7":1,"23":1,"24":2,"253":1,"284":1,"311":1,"463":2,"485":1,"487":1,"691":1}}],["非",{"2":{"502":1}}],["非常欢迎你使用海豹官方的骰子",{"2":{"503":1}}],["非常不建议你将文档放在这个文件夹中进行管理",{"2":{"293":1}}],["非常感谢",{"2":{"2":1}}],["非零和非空字符串为",{"2":{"202":1}}],["非浏览器环境",{"2":{"187":1}}],["非自带的插件",{"2":{"46":1}}],["您不得在使用海豹骰服务时",{"2":{"46":1}}],["您清楚并明白您对通过骰子提供的全部内容负责",{"2":{"46":1}}],["您需了解",{"2":{"46":1}}],["和参数相似",{"2":{"696":1}}],["和规则",{"2":{"659":1}}],["和一小段空闲时间",{"2":{"523":1}}],["和一级文件夹同级",{"2":{"293":1}}],["和错误",{"2":{"430":1}}],["和开源性",{"2":{"417":1}}],["和提供",{"2":{"416":1,"488":1}}],["和提出的功能请求",{"2":{"368":1}}],["和实际运行时的工作目录即为",{"2":{"405":1}}],["和信任用户可使用",{"2":{"240":1}}],["和默认值",{"2":{"126":5}}],["和",{"0":{"453":1},"2":{"48":1,"62":1,"65":1,"80":1,"86":1,"102":1,"104":1,"110":1,"116":1,"122":2,"126":2,"136":2,"152":1,"174":1,"186":1,"187":1,"194":2,"195":1,"219":1,"238":1,"254":1,"290":1,"311":1,"315":1,"316":1,"368":2,"380":1,"416":1,"418":1,"425":1,"430":1,"453":2,"454":1,"462":1,"485":1,"486":3,"490":1,"496":1,"512":1,"516":1,"518":2,"524":1,"555":1,"556":1,"568":1,"616":2,"682":1,"691":1,"693":1,"694":1}}],["和海豹无关",{"2":{"46":1}}],["和功能建议都可反馈在",{"2":{"38":1}}],["功能相同",{"2":{"575":1}}],["功能相关的文案",{"2":{"269":1}}],["功能丰富的生产力",{"2":{"440":1}}],["功能导入它们",{"2":{"313":1}}],["功能需使用单独生成的授权码",{"2":{"235":1}}],["功能",{"0":{"673":1},"1":{"674":1,"675":1,"676":1,"677":1,"678":1,"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1},"2":{"46":1,"269":2,"271":1,"309":1,"322":1,"337":1,"486":1,"673":1,"679":1,"680":1,"681":1,"682":1,"713":1,"714":1,"715":1,"716":1}}],["功能分支就可以被删除了",{"2":{"44":1}}],["功能分支",{"2":{"44":1}}],["功能建议",{"0":{"38":1}}],["主流的语言",{"2":{"367":1}}],["主页",{"2":{"346":1}}],["主动发送一条提醒信息",{"2":{"243":1}}],["主脑发送消息并接收回复",{"2":{"167":1}}],["主函数",{"2":{"149":1}}],["主要分为",{"2":{"500":1}}],["主要用于自己的电脑",{"2":{"245":1}}],["主要用于服务器",{"2":{"245":1}}],["主要使用",{"2":{"167":1}}],["主要是和当前环境以及用户相关的内容",{"2":{"146":1,"149":1,"167":1}}],["主要查看",{"2":{"126":1}}],["主要为快捷指令",{"2":{"673":1}}],["主要为",{"2":{"23":1}}],["主分支",{"2":{"44":1}}],["主仓库",{"2":{"44":1}}],["会将两个连字符",{"2":{"696":1}}],["会将用户发的信息进行分段",{"2":{"146":1,"149":1}}],["会提示你已经禁止再向骰子发送私聊消息",{"2":{"681":1}}],["会提示快捷发起",{"2":{"44":1}}],["会弹窗询问是否更换端口",{"2":{"666":1}}],["会弹出二次确认框",{"2":{"311":1}}],["会给消息通知列表的各个接收者发送通知",{"2":{"663":1}}],["会",{"2":{"633":1}}],["会使调查员陷入临时性或不定性疯狂",{"2":{"581":1}}],["会另外占用",{"2":{"524":1}}],["会发送一条含有",{"2":{"514":1}}],["会发生很糟糕的事情",{"2":{"284":1}}],["会视为风险账号",{"2":{"485":1}}],["会自动处理主机名解析",{"2":{"478":1}}],["会自动创建",{"2":{"476":1}}],["会下载",{"2":{"464":1}}],["会大大帮助你找到正确的方向",{"2":{"373":1}}],["会导致新产生的数据被之前导出的数据覆盖",{"2":{"338":1,"551":1}}],["会涉及到海豹提供的其他系统",{"2":{"321":1}}],["会首先判断文件的公共条件是否全部满足",{"2":{"314":1}}],["会有如下效果",{"2":{"661":1}}],["会有莫名其妙的",{"2":{"487":1}}],["会有一个名为",{"2":{"311":1}}],["会有更新",{"2":{"184":1}}],["会通知骰主",{"2":{"253":1}}],["会向触发用户发送警告信息",{"2":{"253":1}}],["会向骰主提示海豹版本不兼容而拒绝加载",{"2":{"196":1}}],["会检查其中的",{"2":{"252":1}}],["会对以下消息进行通知",{"2":{"232":1}}],["会对你的使用大有帮助",{"2":{"51":1}}],["会退出禁言的事发群",{"2":{"227":1}}],["会变得不幸",{"2":{"203":1}}],["会展示在插件列表页面",{"2":{"188":1}}],["会被替换为抽取结果",{"2":{"151":1}}],["会在没有该文件时自动创建默认配置",{"2":{"492":1}}],["会在重启海豹后丢失",{"2":{"353":1}}],["会在编译时自动加到目标文件头部",{"2":{"181":1}}],["会在",{"2":{"141":1}}],["会出现这样的效果",{"2":{"114":1}}],["会依次调用配置的",{"2":{"96":1}}],["会强制增加相应标识",{"2":{"94":1}}],["会先执行其中的掷骰表达式",{"2":{"84":1}}],["会索取超级用户权限",{"2":{"26":1}}],["到的指令和消息",{"2":{"510":1}}],["到显示的目录删除",{"2":{"487":1}}],["到海豹的",{"2":{"364":1}}],["到本地",{"2":{"178":1}}],["到本地操作",{"2":{"43":1}}],["到终端后回车",{"2":{"12":1}}],["仓库",{"2":{"489":1,"490":1}}],["仓库中提交一个",{"2":{"395":1}}],["仓库位于",{"2":{"260":1,"290":1,"300":1,"313":1}}],["仓库可以填仓库链接",{"2":{"188":1}}],["仓库与上游同步",{"0":{"45":1}}],["仓库到本地后进行修改",{"2":{"43":1}}],["仓库的",{"2":{"38":1}}],["操作角色卡",{"0":{"634":1},"1":{"635":1,"636":1,"637":1,"638":1,"639":1}}],["操作人物卡",{"0":{"559":1},"1":{"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1}}],["操作他人属性",{"0":{"529":1}}],["操作时请注意",{"2":{"506":1}}],["操作更新",{"2":{"340":1}}],["操作",{"2":{"43":2,"311":1}}],["操作系统设计的开源操作系统",{"2":{"417":1}}],["操作系统",{"2":{"32":1}}],["出场了",{"2":{"633":1}}],["出目互不相同的骰点",{"2":{"677":1}}],["出目32",{"2":{"610":1}}],["出目大于等于暴击线的骰子称为此骰子",{"2":{"610":1}}],["出",{"2":{"168":3,"593":18}}],["出于对公平性的考虑",{"2":{"144":1}}],["出的数值",{"2":{"129":1}}],["出的是",{"2":{"116":3}}],["出的新仓库",{"2":{"42":1}}],["出错时请严格检查",{"2":{"98":1}}],["出现如下窗口",{"2":{"659":1}}],["出现的小数被立即舍弃",{"2":{"602":1}}],["出现误判",{"2":{"321":1}}],["出现格式化错误",{"2":{"212":1}}],["出现了一些以",{"2":{"201":1}}],["出现相同词汇时按最高级别判断",{"2":{"122":1}}],["出现模块作用域",{"2":{"34":1}}],["出现该报错的原因很可能是因为",{"2":{"12":1}}],["出现",{"0":{"14":1,"16":1,"17":1,"18":1},"2":{"12":1}}],["出现以下消息后输入",{"2":{"12":1}}],["过于完善的兼容性",{"2":{"423":1}}],["过仓库",{"2":{"42":1}}],["过段时间重新尝试登录",{"2":{"17":1}}],["按需填写名字",{"2":{"510":1}}],["按需阅读文档",{"2":{"54":1,"61":1,"97":1,"101":1,"120":1,"123":1,"186":1,"200":1,"221":1,"249":1,"258":1,"267":1,"288":1,"298":1,"308":1,"558":1,"624":1,"630":1,"673":1,"698":1,"718":1,"734":1}}],["按步骤允许即可",{"2":{"490":1}}],["按默认设置",{"2":{"410":1}}],["按输入的",{"2":{"219":1}}],["按规则扣除生命值",{"2":{"176":1}}],["按如下模式调整你的自定义文案项",{"2":{"59":1}}],["按钮才可被海豹核心读取",{"2":{"338":1}}],["按钮去掉对应结果",{"2":{"319":1}}],["按钮禁用它来代替删除",{"2":{"311":1}}],["按钮后会取获取最新的插件数据",{"2":{"303":1}}],["按钮后会取获取最新的牌堆",{"2":{"264":1}}],["按钮来删除不想要的插件",{"2":{"302":1}}],["按钮来删掉对应的牌堆",{"2":{"261":1}}],["按钮进入页面复制粘贴",{"2":{"272":1}}],["按钮进行刷新",{"2":{"261":1}}],["按钮以生效变更",{"2":{"254":1}}],["按钮可以导入多个词库",{"2":{"254":1}}],["按钮",{"2":{"42":2,"178":2,"215":1,"224":1,"261":1,"270":2,"293":1,"294":1,"315":1,"338":1,"551":1,"659":1}}],["按照主持人的要求",{"2":{"721":1}}],["按照习惯",{"2":{"693":1}}],["按照下图填写",{"2":{"659":1}}],["按照下面的格式进行填写",{"2":{"30":1}}],["按照需求更换数字",{"2":{"464":1}}],["按照要求填写应用名字",{"2":{"453":1,"509":1}}],["按照要求填写应用名字并确认创建",{"2":{"448":1,"457":1}}],["按照模板填写可方便开发组快速定位问题",{"2":{"38":1}}],["按照",{"2":{"12":1,"477":1}}],["按照提示依次键入",{"2":{"9":1}}],["n我收到了",{"2":{"679":1}}],["n骰主你好",{"2":{"679":2}}],["n骰池已经抽空",{"2":{"677":1}}],["n你获得了3次死亡豁免检定失败",{"2":{"651":1}}],["n在昏迷状态下遭受了1点过量伤害",{"2":{"651":1}}],["n在昏迷状态下遭受了3点过量伤害",{"2":{"638":2}}],["n遭受了7点过量伤害",{"2":{"651":1}}],["n遭受了1点过量伤害",{"2":{"638":1}}],["n8",{"2":{"640":1}}],["n修改",{"2":{"638":2,"651":2}}],["n感知",{"2":{"638":1}}],["n读入",{"2":{"638":1,"643":6,"651":1}}],["n4",{"2":{"632":1}}],["n3",{"2":{"632":1}}],["n2",{"2":{"632":1}}],["n16",{"2":{"642":1}}],["n17",{"2":{"640":2}}],["n1",{"2":{"632":6,"633":1}}],["n自由分配模式请用",{"2":{"631":1}}],["n获取带属性名的预设请用",{"2":{"631":1}}],["n严峻",{"2":{"627":1}}],["n索具装备",{"2":{"627":1}}],["nrig",{"2":{"627":1}}],["n发票",{"2":{"627":1}}],["ngre5421",{"2":{"627":1}}],["ngre4889",{"2":{"627":1}}],["ngre3178",{"2":{"627":1}}],["ngre单词",{"2":{"626":1}}],["n更新时间",{"2":{"626":1}}],["n时间",{"2":{"626":1}}],["n牌组",{"2":{"626":1}}],["n牌组数量",{"2":{"626":1}}],["n牌堆",{"2":{"626":1}}],["n版本",{"2":{"626":1}}],["n作者",{"2":{"626":1}}],["n格式",{"2":{"626":1}}],["n掷出了",{"2":{"612":1,"613":1}}],["nd10=",{"2":{"603":2}}],["nd100=2",{"2":{"676":1}}],["nd100=24",{"2":{"570":1}}],["nd100=31",{"2":{"676":1}}],["nd100=53",{"2":{"676":1}}],["nd100=71",{"2":{"676":1}}],["nd100=6",{"2":{"676":1}}],["nd100=82",{"2":{"585":1}}],["nd100=87",{"2":{"570":1}}],["nd100=9",{"2":{"582":1}}],["nd100=1",{"2":{"570":1}}],["n>",{"2":{"599":1}}],["n命令",{"2":{"599":1}}],["nhp",{"2":{"590":2,"643":1}}],["n体型",{"2":{"590":2}}],["n体质",{"2":{"590":2}}],["n力量",{"2":{"590":2,"631":5,"638":2,"643":2}}],["n理智变化",{"2":{"582":1,"585":1}}],["n平手",{"2":{"579":1}}],["n木落胜出",{"2":{"578":1}}],["nszz",{"2":{"578":1,"579":1}}],["n悄悄进行了一项心理学检定",{"2":{"576":1}}],["n对的",{"2":{"574":1}}],["n生命值",{"2":{"567":2}}],["n的理智检定",{"2":{"585":1}}],["n的",{"2":{"573":1,"576":1}}],["n的个人属性为",{"2":{"567":1}}],["n的属性变化",{"2":{"567":1}}],["n的coc7属性录入完成",{"2":{"567":1}}],["nn",{"0":{"614":1},"2":{"563":1,"614":5,"719":1,"720":1}}],["ninvoice",{"2":{"627":1}}],["nightly",{"2":{"489":2,"490":2}}],["nickname",{"2":{"140":1,"141":1}}],["nt",{"2":{"426":1}}],["ntqq",{"0":{"426":1},"2":{"239":2,"246":1,"416":2,"418":1,"425":1,"426":1,"428":1,"485":1,"488":2,"490":3,"493":1,"496":2}}],["np=75",{"2":{"574":1}}],["np=91",{"2":{"574":1}}],["np=36",{"2":{"574":1}}],["np",{"0":{"337":1},"2":{"337":3}}],["npm",{"0":{"183":1},"2":{"177":1,"181":2,"183":1,"191":1}}],["nausterity",{"2":{"627":1}}],["napcatqq",{"0":{"425":1,"496":1,"497":1,"498":1},"1":{"497":1,"498":1,"499":1},"2":{"425":2,"440":1,"496":4,"497":1,"498":2}}],["napcat",{"2":{"239":1,"389":1,"486":4,"496":2,"498":2}}],["native",{"2":{"183":1}}],["namednd",{"0":{"736":1},"2":{"719":1,"736":1}}],["name",{"0":{"735":1},"2":{"69":2,"79":2,"80":1,"122":1,"130":2,"139":1,"146":1,"149":2,"151":3,"153":2,"157":1,"159":8,"161":7,"162":2,"165":2,"166":3,"168":3,"171":2,"179":1,"187":1,"188":2,"194":3,"195":1,"326":1,"518":1,"543":1,"735":1}}],["n出",{"2":{"168":1}}],["n已添加第$",{"2":{"163":1}}],["num=10",{"2":{"695":1}}],["num=",{"2":{"616":1}}],["number",{"2":{"162":2,"165":1}}],["num",{"2":{"162":7}}],["null",{"2":{"70":1,"77":1,"142":1,"356":6,"620":1}}],["n$",{"2":{"161":1}}],["n`",{"2":{"159":1}}],["n它的逃跑意愿为$",{"2":{"148":1,"149":1}}],["none",{"2":{"706":1}}],["noqueue",{"2":{"481":1}}],["no",{"2":{"481":1}}],["nogui",{"2":{"464":2}}],["node",{"2":{"177":2,"187":1,"191":1}}],["not",{"0":{"360":1}}],["notepad++",{"2":{"125":1}}],["notice",{"2":{"121":1,"122":1,"137":1}}],["nox",{"2":{"29":2}}],["n海豹的逃走骰",{"2":{"114":1}}],["n海豹现在离终点还有37格",{"2":{"114":1}}],["n形象是海豹",{"2":{"100":1}}],["nc",{"2":{"80":3,"122":1}}],["n",{"0":{"424":1},"1":{"425":1,"426":1},"2":{"67":2,"98":2,"100":1,"114":3,"142":5,"159":1,"161":2,"162":2,"243":1,"275":1,"278":1,"280":1,"282":1,"526":1,"590":1,"609":5,"626":3,"627":3,"631":5,"638":1,"675":1}}],["nexp",{"2":{"638":1}}],["next",{"2":{"42":1}}],["net",{"2":{"489":1,"490":4}}],["network",{"2":{"482":2,"518":1}}],["newbot",{"2":{"514":2}}],["newconfigitem",{"2":{"126":1,"170":1}}],["newcmdexecuteresult",{"2":{"126":1,"147":2,"148":2,"149":2,"151":2,"153":2,"159":11,"161":3,"162":7,"165":4,"166":2,"167":3,"171":3}}],["newcmditeminfo",{"2":{"126":1,"146":1,"149":1,"151":2,"153":1,"159":5,"161":1,"162":1,"165":1,"166":1,"171":1}}],["newtemplatebyyaml",{"2":{"126":1,"135":1}}],["newtemplate",{"2":{"126":1,"135":1}}],["newmessage",{"2":{"126":1,"136":1}}],["newrulecheckresult",{"2":{"126":1,"168":1}}],["newrule",{"2":{"126":1,"168":1}}],["newext",{"2":{"126":3}}],["new",{"2":{"42":1,"126":3,"144":1,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"169":1,"171":1,"448":1,"509":1,"615":1,"677":1,"700":1,"719":2,"721":1}}],["务必在删除时小心确认",{"2":{"311":1}}],["务必在本地测试通过",{"2":{"41":1}}],["务必区分",{"2":{"202":1}}],["务必使用更专业的编辑器",{"2":{"125":1}}],["务必注意使用半角符号",{"2":{"63":1}}],["务必选择以",{"2":{"27":1}}],["切换房规",{"2":{"719":1}}],["切换为对应规则的默认骰面数",{"2":{"622":1}}],["切换到",{"2":{"504":1,"712":1,"719":2}}],["切换到新仓库的分支页面",{"2":{"43":1}}],["切换标签页到",{"2":{"296":1}}],["切换",{"2":{"168":2}}],["切换命令实现",{"0":{"58":1}}],["切换对应协议后重新登录",{"2":{"16":1}}],["切出工作分支",{"0":{"43":1}}],["切出一个新分支作为工作分支",{"2":{"41":1}}],["后者将结果私聊发送",{"2":{"677":1}}],["后使用",{"2":{"514":1}}],["后使用即可",{"2":{"190":1}}],["后续列出的是它的同义词",{"2":{"557":1}}],["后续需要修改",{"2":{"475":1}}],["后续所有操作均在",{"2":{"41":1}}],["后在下方",{"2":{"450":1}}],["后并没有出现如上所示的图标",{"2":{"440":1}}],["后端的监听设置",{"2":{"481":1}}],["后端的配置",{"2":{"480":1}}],["后端无法正确解析海豹数据目录的路径",{"2":{"480":1}}],["后端发送本地图片时",{"2":{"475":1,"480":1}}],["后端及海豹",{"2":{"409":1}}],["后端",{"0":{"480":1},"1":{"481":1,"482":1},"2":{"409":1,"475":1,"480":2,"482":1}}],["后端位于同一主机上",{"2":{"409":1}}],["后端配置相同的端口号",{"2":{"409":1}}],["后端时",{"2":{"409":1}}],["后端会监听你在配置中指定的端口",{"2":{"409":1}}],["后端并采用正向",{"2":{"409":1}}],["后端和部署多只海豹时",{"2":{"409":1}}],["后端是",{"2":{"389":1}}],["后端代码仓库",{"2":{"36":1}}],["后台弹出界面",{"2":{"344":1}}],["后台行为",{"2":{"343":1}}],["后导出的",{"2":{"326":1}}],["后缀中的数字说明了其对",{"2":{"490":1}}],["后缀",{"2":{"321":1}}],["后缀不会反复出现在批量成长中",{"2":{"278":1}}],["后缀匹配",{"2":{"117":1,"317":1}}],["后",{"2":{"232":1,"291":1}}],["后面有一个简化的替代方案",{"2":{"353":1}}],["后面有空格",{"2":{"162":1}}],["后面的行都是该表的内容",{"2":{"68":1}}],["后三项为选填",{"2":{"100":1}}],["后合并你的代码",{"2":{"41":1}}],["上",{"2":{"691":1}}],["上限4个",{"2":{"647":1}}],["上限3个",{"2":{"645":1}}],["上不封顶",{"2":{"645":1}}],["上一轮中暴击的骰子数",{"2":{"610":1}}],["上通过",{"2":{"386":1}}],["上的",{"2":{"368":1,"493":1}}],["上下载文件之类的问题",{"2":{"364":1}}],["上同步发布更新",{"2":{"364":1}}],["上面已经陈述了一些应用",{"2":{"358":1}}],["上传到海豹",{"2":{"386":1}}],["上传插件",{"2":{"302":1}}],["上传",{"2":{"293":2,"312":1,"313":1}}],["上传帮助文档",{"0":{"293":1}}],["上传牌堆",{"2":{"261":1}}],["上传并重载",{"2":{"187":1}}],["上创建一个扩展的仓库",{"2":{"178":1}}],["上级主管部门下发通知中所禁止的其他内容的",{"2":{"46":1}}],["上提",{"2":{"40":1}}],["上文所述的",{"2":{"611":1}}],["上文",{"2":{"32":1,"34":1}}],["贡献指南",{"0":{"40":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1},"2":{"40":1}}],["向你所使用的骰子主人请求安装相应插件吧",{"2":{"717":1}}],["向每个指定的邮箱地址发送指定日志的全文",{"2":{"702":1}}],["向骰主发送消息",{"0":{"679":1}}],["向指令触发者",{"2":{"126":1}}],["向收到指令的群中发送",{"2":{"126":1}}],["向对应仓库发起",{"2":{"39":1}}],["向开发组反馈问题",{"2":{"38":1}}],["欢迎语",{"2":{"680":1}}],["欢迎加入官方答疑群",{"2":{"654":1}}],["欢迎加入官方群寻求帮助",{"2":{"653":1}}],["欢迎加入官方群",{"2":{"554":1}}],["欢迎前去",{"2":{"546":1}}],["欢迎",{"2":{"167":1}}],["欢迎您选择由木落等研发的海豹骰点核心",{"2":{"46":1}}],["欢迎各种类型的",{"2":{"39":1}}],["欢迎使用",{"2":{"12":1}}],["但他们的维护者",{"2":{"691":1}}],["但用户已经无法再通过私聊发送正确的指令",{"2":{"681":1}}],["但并非是海豹账号的好友",{"2":{"654":1}}],["但提示不包含骰点结果",{"2":{"612":1}}],["但只有一方获胜",{"2":{"587":1}}],["但只有成功等级达到要求的难度才判定为成功",{"2":{"571":1}}],["但能提供极为强大的资料查询功能",{"2":{"524":1}}],["但能够被",{"2":{"89":1}}],["但截止到目前",{"2":{"502":1}}],["但依然建议修改为最新格式",{"2":{"492":1}}],["但依然可以通过指定",{"2":{"89":1}}],["但目前",{"2":{"485":1}}],["但目前来说维护的并不完全",{"2":{"184":1}}],["但需要明白的是",{"2":{"485":1}}],["但已证实的是",{"2":{"485":1}}],["但推荐使用",{"2":{"462":1}}],["但从本质上来说",{"2":{"403":1}}],["但这样做的不稳定性非常大",{"2":{"403":1}}],["但由于其过于古老",{"2":{"423":1}}],["但由于沟通上的歧义或误解",{"2":{"392":1}}],["但由于各种原因",{"2":{"125":1}}],["但反例显然不应该出现在你的问题里",{"2":{"384":1}}],["但你知道黑框框里那堆文字就是日志",{"2":{"372":1}}],["但排版混乱或内容过于老旧已经不再适用",{"2":{"369":1}}],["但又足够你解决问题",{"2":{"368":1}}],["但又不至于直接使用学习门槛较高的正式编程语言",{"2":{"200":1}}],["但切忌评论轰炸",{"2":{"368":1}}],["但登录需要扫码",{"0":{"333":1}}],["但旧的数据不会删除",{"2":{"271":1}}],["但其本质只是一段文本",{"2":{"259":1}}],["但没有",{"2":{"201":1}}],["但会出现使用旧版本海豹的骰主",{"2":{"196":1}}],["但建议遵循",{"2":{"188":1}}],["但也没有太复杂",{"2":{"167":1}}],["但如果你仍然决定使用",{"2":{"487":1}}],["但如果你发现海豹核心仍然时常掉线",{"2":{"351":1}}],["但如果出现牌堆未更新等情况时",{"2":{"261":1}}],["但如果想要存放更多的数据以及非字符串类型的数据怎么办",{"2":{"160":1}}],["但如果有条件",{"2":{"38":1}}],["但不会存在多个",{"2":{"700":1}}],["但不同于参数往往需要处于按照一定的顺序出现",{"2":{"696":1}}],["但不能大于等于",{"2":{"174":1}}],["但不具备",{"2":{"152":1}}],["但不支持其它换行符与分页符",{"2":{"100":1}}],["但详细区别见暗骰例子",{"2":{"148":1,"149":1}}],["但同样存在缺失",{"2":{"126":1}}],["但通常也需要你具备一些知识",{"2":{"123":1}}],["但实际上没办法匹配上的情况",{"2":{"104":1}}],["但实际上的文件名是",{"2":{"80":1}}],["但海豹同样可以读取它",{"2":{"100":1}}],["但在牌堆编写过程中",{"2":{"89":1}}],["但顺序是随机的",{"2":{"83":1}}],["但必须是以",{"2":{"80":3}}],["但我们不建议这样做",{"2":{"144":1}}],["但我们不推荐也未尝试过使用它们",{"2":{"27":1}}],["但我们非常建议你保留并填写这些项",{"2":{"80":1}}],["但相同层级的元素必须左对齐",{"2":{"78":1}}],["但是在指令名与参数",{"2":{"695":1}}],["但是在源码中被注释",{"2":{"126":1}}],["但是需要你进行一些配置",{"2":{"657":1}}],["但是用户仍然可以用",{"2":{"556":1}}],["但是命令方块和控制台使用该指令会被视为公屏发送",{"2":{"469":1}}],["但是没有重启分离部署的",{"2":{"388":1}}],["但是基本对数据库文件夹的异常磁盘占用问题没有效果",{"2":{"388":1}}],["但是我修改之后",{"2":{"386":1}}],["但是我私聊它就不行",{"2":{"385":1}}],["但是我们非常建议你保留并填写这些项",{"2":{"80":2}}],["但是你差不多知道他指的是那个在电脑上弹出来的黑框框",{"2":{"372":1}}],["但是消息记录会随页面刷新而丢失",{"2":{"323":1}}],["但是有些编程语言是可以编译为",{"2":{"199":1}}],["但是它也被用到了很多",{"2":{"187":1}}],["但是由于黑名单会被过滤掉",{"2":{"153":1}}],["但是这样做有诸多不便之处",{"2":{"88":1}}],["但是这样写在最前面会多出换行",{"2":{"67":1}}],["但是否这样做取决于你的选择",{"2":{"69":1}}],["但是",{"2":{"51":1,"105":1,"194":1,"368":1,"369":1,"586":1,"596":1,"655":1}}],["反例",{"2":{"386":1,"387":1,"388":1,"389":1}}],["反斜杠",{"2":{"67":1}}],["反对中华人民共和国宪法所确定的基本原则的",{"2":{"46":1}}],["反馈以及功能请求",{"2":{"410":1}}],["反馈",{"0":{"38":1},"2":{"364":1}}],["反向websocket对接的地址",{"2":{"498":1}}],["反向连接",{"2":{"495":1}}],["反向",{"2":{"35":1,"490":1}}],["b3=",{"2":{"605":1}}],["b3",{"2":{"605":1}}],["b=",{"2":{"605":1}}],["b属性表达式",{"2":{"580":1}}],["b2",{"2":{"577":1}}],["b2=1",{"2":{"572":1}}],["b|p",{"2":{"572":1,"584":1,"719":1}}],["bing",{"2":{"369":1}}],["binaries",{"2":{"356":1}}],["bid=$",{"2":{"167":1}}],["bid",{"2":{"167":2}}],["bb",{"2":{"317":1}}],["bbb",{"2":{"212":2}}],["botlist",{"0":{"623":1},"2":{"623":4,"661":1}}],["botfather",{"2":{"514":2}}],["bot",{"0":{"241":1,"453":1,"511":1,"598":1},"2":{"238":1,"241":1,"252":2,"425":1,"448":1,"450":2,"453":2,"454":1,"496":1,"510":1,"511":3,"512":1,"514":1,"598":4,"656":2,"664":1,"681":1,"700":1,"719":2}}],["boolval",{"2":{"171":2}}],["bool",{"2":{"126":7,"137":2,"142":2,"170":2}}],["buff",{"0":{"643":1},"1":{"644":1},"2":{"638":1,"643":15,"644":1,"730":1}}],["bulidtools",{"2":{"463":1}}],["bukkit",{"2":{"463":3}}],["build+日期",{"2":{"517":1}}],["build",{"2":{"179":1,"180":2,"181":4,"183":1,"185":2,"518":1}}],["bug",{"0":{"38":1},"2":{"36":1,"38":2,"363":1,"364":2,"368":3,"395":2,"410":1,"487":2,"517":1}}],["brd",{"2":{"481":2}}],["broadcast",{"2":{"481":1}}],["brainshop",{"2":{"167":1}}],["break",{"2":{"153":4,"171":7}}],["brief",{"2":{"80":2,"98":1,"99":1}}],["below",{"2":{"464":1}}],["be",{"2":{"142":1}}],["blame",{"2":{"131":3}}],["btoa",{"2":{"126":1,"187":1}}],["backup",{"2":{"596":1}}],["backups",{"2":{"214":1,"355":1,"475":7,"476":1,"518":1,"548":1,"549":1}}],["bad",{"2":{"518":1}}],["bak",{"2":{"214":2}}],["basic",{"2":{"511":1}}],["bashsealdice",{"2":{"667":1}}],["bashsudo",{"2":{"657":1}}],["bashfind",{"2":{"550":1}}],["bashchmod",{"2":{"518":1}}],["bash$",{"2":{"481":1,"520":2}}],["bashdocker",{"2":{"476":1,"477":1,"479":1,"518":1}}],["bash",{"2":{"433":1,"668":1}}],["bashpnpm",{"2":{"180":2}}],["bashnpm",{"2":{"180":2}}],["baseinfo",{"2":{"140":1}}],["base64",{"2":{"126":2,"187":1}}],["base64string",{"2":{"126":1}}],["ban|warn|trust",{"2":{"597":1}}],["bantime",{"2":{"157":1}}],["banlistinfoitem",{"2":{"157":1,"158":1}}],["ban",{"0":{"597":1},"2":{"126":5,"152":2,"155":2,"156":2,"157":1,"158":1,"159":8,"356":1,"597":7}}],["bandizip",{"2":{"88":1}}],["bat",{"0":{"22":1},"2":{"9":2,"12":2,"29":1,"32":1,"464":5,"465":1}}],["bye",{"2":{"598":1,"656":1,"719":1}}],["by",{"2":{"80":3,"122":1,"464":1}}],["b",{"2":{"79":2,"98":4,"104":3,"117":1,"130":2,"147":4,"148":2,"149":2,"207":1,"544":2,"572":1,"580":2,"611":1,"623":5}}],["核心日志",{"2":{"327":1}}],["核心代码同样只有一行的",{"2":{"167":1}}],["核心指令是无法被关闭的指令",{"2":{"595":1}}],["核心指令",{"0":{"595":1},"1":{"596":1,"597":1,"598":1,"599":1,"600":1,"601":1,"602":1,"603":1,"604":1,"605":1,"606":1,"607":1,"608":1,"609":1,"610":1,"611":1,"612":1,"613":1,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1},"2":{"52":1,"225":1,"291":1,"292":1,"599":1,"684":1,"685":1,"719":1}}],["核心",{"0":{"279":1},"1":{"280":1,"281":1},"2":{"36":1,"38":1,"269":1,"282":1,"284":1,"286":2}}],["无限团",{"2":{"546":1}}],["无限制",{"2":{"345":1}}],["无头",{"0":{"437":1},"2":{"407":1,"425":1,"437":1}}],["无论之前用过哪一个都可以轻松上手",{"2":{"522":1}}],["无论仅仅是搜索还是尝试了具体的操作",{"2":{"383":1}}],["无论是试图实现一个功能",{"2":{"388":1}}],["无论是有效的还是无效的",{"2":{"383":1}}],["无论是帮助文档",{"2":{"367":1}}],["无论是普通用户还是开发者",{"2":{"36":1}}],["无论你只是想增加简单的回复",{"2":{"309":1}}],["无需额外下载即可使用相关内容搜索",{"2":{"290":1}}],["无前缀",{"2":{"278":1}}],["无后缀的回复",{"2":{"278":1}}],["无后缀两条区分",{"2":{"278":1}}],["无后缀",{"2":{"278":4}}],["无知亦是幸运",{"2":{"211":1}}],["无知之人",{"2":{"210":1}}],["无关的编程语言",{"2":{"199":1}}],["无实际意义",{"2":{"149":1}}],["无视物质损失",{"2":{"99":1}}],["无法再继续记录",{"2":{"702":1}}],["无法再维护此项目",{"2":{"7":1}}],["无法回复hp",{"2":{"649":1}}],["无法在线更新等",{"2":{"518":1}}],["无法使用命令行",{"0":{"354":1}}],["无法访问仓库",{"2":{"260":1,"290":1,"300":1,"313":1}}],["无法访问",{"2":{"38":1}}],["激活",{"2":{"34":1}}],["允许外部访问",{"2":{"659":1}}],["允许通过插件注入",{"2":{"418":1,"493":1}}],["允许任何人执行",{"2":{"238":1}}],["允许任意使用和分发",{"2":{"188":1}}],["允许自由开关",{"0":{"238":1}}],["允许在文件中使用",{"2":{"69":1}}],["允许后台存活和关闭后台高耗电等",{"2":{"34":1}}],["允许",{"2":{"34":1}}],["更改其他玩家的名片",{"2":{"705":1}}],["更改为文件夹内对应的服务端核心文件文件名",{"2":{"464":1}}],["更强的指令支持",{"0":{"544":1}}],["更常见的含义是偏向负面的",{"2":{"410":1}}],["更快地找到问题所在",{"2":{"379":1}}],["更复杂的自定义回复编写",{"2":{"321":1}}],["更复杂的回复",{"0":{"321":1},"2":{"316":1,"317":1}}],["更复杂的文案设置涉及到逻辑的编写",{"2":{"287":1}}],["更复杂的文案设置",{"0":{"287":1}}],["更建议使用",{"2":{"291":1}}],["更新属性值",{"0":{"564":1,"638":1}}],["更新至最新稳定版本",{"2":{"518":1}}],["更新海豹容器或",{"0":{"479":1}}],["更新",{"2":{"264":1,"303":1}}],["更新日期",{"2":{"122":1}}],["更老的文件将被删除",{"2":{"218":2}}],["更原始的",{"2":{"170":1}}],["更好的方式是参考海豹提供的",{"2":{"126":1}}],["更专业的编辑器能更好地帮助你编写相关格式的文件",{"2":{"125":1}}],["更多规则",{"0":{"717":1}}],["更多规则请看其它规则支持",{"2":{"600":1}}],["更多邮箱地址",{"2":{"702":1}}],["更多的内存占用和变慢的启动速度",{"2":{"618":1}}],["更多技能名称",{"2":{"588":1}}],["更多",{"0":{"554":1}}],["更多电池设置",{"2":{"346":1}}],["更多牌堆命令",{"2":{"262":1}}],["更多牌组设置",{"0":{"93":1}}],["更多请参阅",{"2":{"242":1}}],["更多内容请看",{"2":{"186":1}}],["更多示例片段",{"0":{"112":1},"1":{"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1}}],["更多设置",{"2":{"32":2}}],["更不会显示在列表中",{"2":{"89":3}}],["更换网络进行滑条",{"2":{"17":1}}],["还会向海豹日志染色器上传日志",{"2":{"700":1}}],["还提供一系列的自定义和娱乐功能",{"2":{"690":1}}],["还提供试用",{"2":{"1":1}}],["还需要在服务器系统中放行端口",{"2":{"657":1}}],["还需要注册扩展",{"2":{"144":1}}],["还是",{"2":{"568":1,"586":1}}],["还是别追究他为什么不在了",{"2":{"526":1,"675":1}}],["还是在使用中遇到了不符合预期的事件",{"2":{"388":1}}],["还是需要复杂的判断和响应",{"2":{"309":1}}],["还有疯魔的邪教徒们",{"2":{"558":1}}],["还有撤去一些自定义回复文件以及",{"2":{"388":1}}],["还有",{"2":{"369":1}}],["还有其它的前缀",{"2":{"201":1}}],["还有一些",{"2":{"126":1}}],["还没有任何选项呢`",{"2":{"162":2}}],["还可以让你看到更高效地获取那些有用的信息",{"2":{"367":1}}],["还可以使用",{"2":{"113":1}}],["还可以选择在",{"2":{"32":1}}],["还很陌生",{"2":{"97":1,"122":1}}],["+3",{"2":{"632":2}}],["+2",{"2":{"632":2,"729":1}}],["+0",{"2":{"608":1}}],["+1d4",{"2":{"651":1}}],["+1",{"2":{"522":1,"645":2}}],["+x",{"2":{"518":3}}],["++i",{"2":{"162":1}}],["++curpagerows",{"2":{"162":1}}],["+=",{"2":{"159":1,"161":1,"162":2}}],["+",{"2":{"32":1,"36":1,"104":1,"105":1,"111":1,"116":5,"151":1,"159":3,"162":6,"165":1,"174":1,"176":1,"205":1,"207":1,"275":1,"280":1,"544":7,"565":1,"589":3,"602":3,"604":1,"608":4,"610":1,"611":11,"613":2,"632":5,"638":1,"640":5,"642":1,"686":1,"719":1}}],["路径填入至系统变量中的",{"2":{"32":1}}],["添加规则",{"2":{"659":1}}],["添加海豹运作需要的权限",{"2":{"511":1}}],["添加本地储存",{"2":{"339":1}}],["添加图片的方法",{"2":{"339":1}}],["添加一项",{"2":{"315":1}}],["添加黑白名单",{"0":{"223":1},"1":{"224":1,"225":1,"226":1}}],["添加选项",{"2":{"163":1}}],["添加",{"2":{"152":1,"155":1,"156":1,"224":1,"495":1,"596":1}}],["添加至系统环境变量",{"2":{"32":1}}],["添加账号",{"2":{"11":1}}],["其队员",{"2":{"712":1}}],["其形式为",{"2":{"597":2}}],["其二是前者与幸运的总值",{"2":{"590":1}}],["其一是",{"2":{"590":1}}],["其包括目前实现了",{"2":{"416":1,"488":1}}],["其余选项可以参看对应的提示",{"2":{"252":1}}],["其值是在每次指令执行的初始阶段设置的",{"2":{"201":1}}],["其值等于",{"2":{"129":1}}],["其参数是是否执行成功",{"2":{"147":1}}],["其他符号如",{"2":{"693":1}}],["其他骰子做检定的时候",{"0":{"661":1}}],["其他服务商大同小异",{"2":{"659":1}}],["其他人",{"2":{"567":1,"573":1,"576":1,"585":1,"613":1,"639":1,"641":1,"644":1,"646":1,"648":1,"650":1,"652":1}}],["其他事项",{"0":{"393":1},"1":{"394":1,"395":1}}],["其他信息也相应展示",{"2":{"261":1}}],["其他格式的支持和更多问题排查",{"2":{"183":1}}],["其他问题",{"0":{"182":1,"198":1},"1":{"183":1,"184":1,"185":1,"199":1}}],["其他用户的权限等级为普通用户",{"2":{"152":1}}],["其他用户被视为拥有与群管理员等同的权限",{"2":{"152":1}}],["其他",{"0":{"136":1}}],["其他的都需要在条件中用多个进行嵌套",{"2":{"116":1}}],["其会将",{"2":{"126":2}}],["其会将$xxx",{"2":{"126":1}}],["其为插件元数据中的",{"2":{"194":1}}],["其为",{"2":{"126":2}}],["其它规则支持",{"0":{"711":1},"1":{"712":1,"713":1,"714":1,"715":1,"716":1,"717":1}}],["其它插件由海豹社区提供",{"2":{"546":1}}],["其它",{"2":{"269":1,"719":1}}],["其它写法",{"2":{"113":1}}],["其它版本的打开方式请自行搜索",{"2":{"32":1}}],["其仍会对",{"2":{"110":1}}],["其每个元素均是牌组的一个条目",{"2":{"95":1}}],["其中含有的表达式和变量都将被求值",{"2":{"678":1}}],["其中的",{"2":{"667":1,"694":1}}],["其中的大写字母用相应参数替换",{"2":{"609":1,"610":1}}],["其中的一行文案来使用",{"2":{"270":1}}],["其中1条为同义词",{"2":{"556":1}}],["其中有几个重要的设置项需要填写和注意",{"2":{"490":1,"498":1}}],["其中提示已创建了一个配置文件",{"2":{"490":1}}],["其中更多使用后者来编写资料查询文档",{"2":{"290":1}}],["其中重复的词取设置的最高等级",{"2":{"254":1}}],["其中第二列",{"2":{"100":1}}],["其中上半部分的一些项不是必须的",{"2":{"80":1}}],["其中以",{"2":{"80":1}}],["其中键名必须用",{"2":{"70":1}}],["其中",{"2":{"29":1,"80":1,"126":1,"151":1,"194":1,"481":1,"504":1,"557":1,"569":1,"582":1,"609":1,"610":1,"632":1,"695":1}}],["窗口",{"2":{"32":1}}],["并有诸多扩展写法",{"2":{"719":1}}],["并有相关配置",{"2":{"622":1}}],["并未提供公开的机器人接口",{"2":{"691":1}}],["并未完全实现戳一戳功能",{"2":{"486":1}}],["并开始下一回合",{"2":{"633":1}}],["并自动开启",{"2":{"622":2}}],["并自动开启对应扩展",{"2":{"600":2}}],["并支持使用此指令进行查询",{"2":{"616":1}}],["并绑定到当前群聊",{"2":{"615":1}}],["并可以单独开关",{"2":{"599":1}}],["并给自己重新添加",{"2":{"596":1}}],["并给予其足够的运行权限",{"2":{"518":1}}],["并给出成功率",{"2":{"166":1}}],["并重名为",{"2":{"498":1}}],["并重启",{"2":{"33":1}}],["并安装",{"2":{"490":1}}],["并写入内容",{"2":{"490":1}}],["并不受到",{"2":{"487":1}}],["并不受到官方支持",{"2":{"485":1}}],["并不会出现某些功能无法使用的差异",{"2":{"191":1}}],["并通过端口映射将容器端口暴露在宿主机",{"2":{"480":1}}],["并填入以下内容",{"2":{"475":1}}],["并删除海豹",{"2":{"458":1}}],["并删除无效数据",{"2":{"356":1}}],["并复制保存",{"2":{"510":1}}],["并复制",{"2":{"457":1}}],["并以文本的方式存储或传输",{"2":{"432":1}}],["并实现接入",{"2":{"385":1}}],["并按照下文中的指导",{"2":{"383":1}}],["并按照配置进行编译",{"2":{"181":1}}],["并附加开源许可协议的行为",{"2":{"362":1}}],["并改名回",{"2":{"356":1}}],["并选择你想要海豹被部署到的工作区后点击",{"2":{"509":1}}],["并选择开发应用",{"2":{"453":1}}],["并选择",{"2":{"347":1}}],["并进入",{"2":{"346":1}}],["并点击锁图标",{"2":{"344":1,"345":1}}],["并且需要数据互相同步",{"2":{"721":1}}],["并且不在这个群聊使用",{"2":{"720":1}}],["并且开始记录",{"2":{"700":1}}],["并且能配合海豹核心独特的变量系统使用",{"2":{"697":1}}],["并且能配合海豹核心的变量系统与牌堆功能使用",{"2":{"309":1}}],["并且输入密码登录",{"2":{"658":1}}],["并且使用指定个数",{"2":{"572":1}}],["并且支持同时连接不同平台",{"2":{"545":1}}],["并且插件将会开启一个端口",{"2":{"465":1}}],["并且",{"2":{"395":1,"403":1}}],["并且已经有其他用户向开发者请求加入此功能",{"2":{"368":1}}],["并且存在",{"2":{"368":2}}],["并且在未来很长一段时间里仍将是",{"2":{"367":1}}],["并且在",{"2":{"364":1}}],["并且你的海豹是公骰",{"2":{"361":1}}],["并且确保你的硬盘有适当的空闲空间",{"2":{"355":1}}],["并且很难处理",{"2":{"272":1}}],["并且为表达式中不同元素给出解释",{"2":{"101":1}}],["并没有任何实际作用",{"2":{"187":1,"188":1}}],["并设置为自己的扩展的名字",{"2":{"178":1}}],["并把规则中的动作编写成指令",{"2":{"176":1}}],["并掷骰得出结果",{"2":{"162":1}}],["并储存在几个参数中",{"2":{"149":1}}],["并将其安装到你的设备上",{"2":{"342":1}}],["并将",{"2":{"147":1,"148":1,"149":1,"475":1}}],["并返回一个获取链接",{"2":{"700":1}}],["并返回",{"2":{"126":1}}],["并记录场次",{"2":{"116":1}}],["并在下述海豹连接",{"2":{"475":1}}],["并在",{"2":{"110":1}}],["并允许自启动",{"2":{"346":1}}],["并允许",{"2":{"69":1,"349":1}}],["并回车",{"2":{"32":1}}],["并对外开放",{"2":{"31":1}}],["并长按",{"2":{"28":1}}],["劫持",{"2":{"31":1}}],["再返回这一节",{"2":{"516":1}}],["再点击卡片",{"2":{"659":1}}],["再点击",{"2":{"509":1}}],["再次运行脚本",{"2":{"465":1}}],["再次启动脚本",{"2":{"464":1}}],["再和大家说说你是怎么做的吧",{"2":{"392":1}}],["再按下键盘上的enter",{"2":{"358":1}}],["再按照相应图片的路径插入这样一段文本即可",{"2":{"282":1}}],["再用鼠标左键单击弹出菜单中带有解压到字样的选项就能解压这个压缩包",{"2":{"358":1}}],["再进行一次完整性检查",{"2":{"355":1}}],["再靠近一点",{"2":{"210":1}}],["再调用",{"2":{"170":1}}],["再发送给网络",{"2":{"167":1}}],["再注册到扩展中",{"2":{"145":1}}],["再组合到原字符串里",{"2":{"84":1}}],["再从同步后的主分支再新切分支进行操作",{"2":{"45":1}}],["再使用",{"2":{"31":1,"160":1}}],["再输入",{"2":{"26":2}}],["修复数据库",{"0":{"355":1,"356":1}}],["修补后的",{"2":{"31":1}}],["修改你服务器的防火墙",{"2":{"657":1}}],["修改配置",{"2":{"657":1}}],["修改配置完成后的文件夹如下",{"2":{"490":1}}],["修改指定属性的",{"2":{"643":1}}],["修改角色名",{"2":{"614":1,"719":1}}],["修改为",{"2":{"481":1}}],["修改后内容大致如下",{"2":{"490":1}}],["修改后文件夹如下所示",{"2":{"464":1}}],["修改后缀只是便于海豹识别",{"2":{"88":1}}],["修改文件后缀",{"2":{"464":1}}],["修改文件后缀为",{"2":{"88":1}}],["修改以及使用这份源代码",{"2":{"362":1}}],["修改完文件后请根据",{"2":{"498":1}}],["修改完文件后需要点击",{"2":{"338":1}}],["修改完成后点击右上角提交变更",{"2":{"43":1}}],["修改海豹核心安装包",{"2":{"337":1}}],["修改帮助文档后",{"2":{"292":1}}],["修改过",{"2":{"271":1}}],["修改好之后",{"2":{"270":1}}],["修改的自定义文案等海豹内部的数据",{"2":{"338":1,"551":1}}],["修改的文案内容还支持插入图片和",{"2":{"268":1}}],["修改的话就是删除之后增加",{"2":{"162":1}}],["修改其中",{"2":{"179":1}}],["修改内置功能",{"2":{"144":1}}],["修改",{"2":{"15":1,"337":1,"518":1}}],["f+1=0",{"2":{"608":1}}],["f=",{"2":{"608":1}}],["fvtt",{"0":{"607":1}}],["ff",{"2":{"481":6}}],["fri",{"2":{"464":1}}],["from",{"2":{"356":6,"509":1}}],["fun",{"2":{"543":3}}],["function",{"2":{"162":7,"163":1,"165":1,"167":1}}],["fumblevalue",{"2":{"168":2}}],["files",{"2":{"511":1}}],["filename",{"2":{"179":1}}],["file=https",{"2":{"167":2}}],["fish",{"2":{"172":1,"175":9,"176":1}}],["find",{"0":{"616":1},"1":{"617":1,"618":1,"619":1,"620":1},"2":{"100":1,"126":1,"144":1,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"169":1,"171":1,"291":1,"527":1,"550":1,"616":3,"617":3,"694":1,"695":8,"719":1}}],["fe50",{"2":{"481":1}}],["fe80",{"2":{"481":1}}],["feb",{"2":{"464":1}}],["fetch",{"2":{"167":5,"187":1}}],["feed",{"2":{"161":1}}],["feedinfo",{"2":{"161":3}}],["feature",{"2":{"43":1,"368":1}}],["floor",{"2":{"162":1}}],["floatval",{"2":{"171":2}}],["float",{"2":{"126":2,"170":1}}],["float64",{"2":{"104":1}}],["flag",{"2":{"142":1,"696":2}}],["flavor",{"2":{"101":1}}],["f",{"0":{"402":1},"1":{"403":1},"2":{"98":1,"207":1,"550":1,"611":1,"651":1}}],["forever",{"2":{"481":4}}],["foreach",{"2":{"159":1,"162":1}}],["for",{"2":{"161":1,"162":1,"356":1,"464":1,"511":1}}],["formattmpl",{"0":{"129":1},"2":{"126":1,"129":1}}],["format",{"0":{"129":1},"2":{"126":1,"129":2,"151":2}}],["formfeed",{"2":{"98":1}}],["fork仓库",{"2":{"44":1}}],["fork",{"0":{"42":1,"45":1},"2":{"41":2,"42":7,"44":1,"45":1}}],["forwardwebsocket",{"2":{"477":1,"490":3,"492":1}}],["forward",{"2":{"29":1}}],["fate",{"0":{"608":1}}],["false为禁用",{"2":{"498":1}}],["false",{"2":{"65":1,"70":1,"77":1,"126":5,"134":1,"150":1,"153":1,"159":1,"167":1,"185":1,"202":1,"353":1,"472":1,"498":7}}],["faq",{"0":{"13":1},"1":{"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"368":1}}],["failed",{"2":{"12":1}}],["里面是备份的压缩包",{"2":{"326":1}}],["里面包含了目前开放的接口的定义及其注释说明",{"2":{"146":1}}],["里新建一个",{"2":{"29":1}}],["里打开终端",{"2":{"29":1}}],["加",{"2":{"611":1}}],["加骰数加",{"2":{"609":1}}],["加骰线",{"2":{"609":1,"684":2}}],["加在一起为结果",{"2":{"608":1}}],["加号",{"2":{"270":1}}],["加好友验证",{"0":{"247":1}}],["加群邀请",{"2":{"232":1}}],["加入",{"2":{"188":2}}],["加入环境变量后再启用终端",{"2":{"29":1}}],["加载",{"2":{"28":1}}],["中管理跑团",{"2":{"703":1}}],["中寻找一个面向公众提供服务的骰子",{"2":{"691":1}}],["中为",{"2":{"690":1}}],["中可以添加消息通知的接收者",{"2":{"663":1}}],["中可以有多种等价表示方法",{"2":{"79":1}}],["中查看",{"2":{"557":1}}],["中文和英文缩写等价",{"2":{"556":1}}],["中快速尝试",{"2":{"552":1}}],["中设置分组的别名",{"2":{"616":1}}],["中设置各个扩展是否默认开启",{"2":{"543":1}}],["中设置每个批次的数量和批次间隔时间",{"2":{"248":1}}],["中获取的",{"2":{"490":1}}],["中获取到",{"2":{"489":1}}],["中验证其是否正确有效",{"2":{"490":1}}],["中自动构建的版本",{"2":{"489":1}}],["中翻阅了一下",{"2":{"372":1}}],["中反复刷屏同样的内容只会带来负面后果",{"2":{"368":1}}],["中双击运行压缩包内的",{"2":{"358":1}}],["中提供的一些辅助工具",{"2":{"322":1}}],["中你可以经常看见一个文案调用其他文案的情况",{"2":{"273":1}}],["中按时间从新到旧列出了当前存在的备份文件",{"2":{"220":1}}],["中选择你希望海豹拥有的权限",{"2":{"450":1}}],["中选择",{"2":{"217":1,"349":1,"450":1}}],["中通过",{"2":{"193":1,"196":1}}],["中即是",{"2":{"183":1}}],["中添加",{"2":{"175":1}}],["中注册这个游戏系统",{"2":{"175":1}}],["中注册可供用户修改的配置项",{"2":{"170":1}}],["中修改配置项的值",{"2":{"171":1}}],["中显示",{"2":{"171":1}}],["中第一个匹配的前缀",{"2":{"142":1}}],["中去除",{"2":{"142":1}}],["中有完整内容",{"2":{"137":1}}],["中已有详细例子",{"2":{"126":1}}],["中择一执行",{"2":{"110":1}}],["中识别隐藏的牌组",{"2":{"89":1}}],["中展示",{"2":{"89":1}}],["中就不会展示",{"2":{"89":2}}],["中午",{"2":{"82":3,"89":6}}],["中的部分任意组合",{"2":{"684":1}}],["中的说明",{"2":{"494":1}}],["中的海豹",{"0":{"473":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1},"2":{"486":1}}],["中的选项",{"2":{"185":1}}],["中的值作为",{"2":{"170":1}}],["中的变量",{"2":{"126":3}}],["中的词条内容可以直接换行",{"2":{"100":1}}],["中的",{"2":{"68":1,"219":1,"275":3,"276":1,"277":1,"278":2,"281":2,"387":1,"489":1,"693":1}}],["中的被动",{"2":{"35":1}}],["中启用",{"2":{"33":1}}],["中使用",{"2":{"32":1,"201":1}}],["中打开",{"2":{"29":1,"32":1}}],["中",{"2":{"29":1,"34":1,"36":1,"38":1,"70":1,"78":1,"89":2,"102":1,"104":1,"105":1,"125":1,"142":1,"187":1,"262":1,"270":1,"280":1,"344":1,"346":1,"416":1,"418":1,"421":1,"425":1,"500":1,"556":1,"586":1,"609":1,"610":1,"615":1,"626":2}}],["文本文件的形式发送指定日志的全文",{"2":{"702":1}}],["文本模板",{"2":{"678":1}}],["文本模板测试",{"0":{"678":1}}],["文本长度",{"0":{"318":1},"2":{"316":1}}],["文本类型",{"2":{"202":1}}],["文本匹配支持多种方式",{"2":{"317":1}}],["文本匹配",{"0":{"104":1,"105":1,"317":1},"2":{"115":3,"316":2}}],["文本",{"0":{"469":1},"2":{"102":1,"202":1,"317":1}}],["文本时",{"2":{"78":1}}],["文案常见问题",{"0":{"285":1},"1":{"286":1}}],["文案下方的标签代表了被默认文案所使用的特殊变量",{"2":{"283":1}}],["文案变量标签",{"0":{"283":1}}],["文案插入图片和",{"0":{"282":1}}],["文案的导入",{"0":{"272":1}}],["文案",{"2":{"270":1}}],["文案列表",{"0":{"270":1},"2":{"269":1,"270":1}}],["文案目前被分为以下几个大类",{"2":{"269":1}}],["文案调整",{"0":{"59":1}}],["文案为例",{"2":{"56":1}}],["文档的",{"2":{"490":1}}],["文档最基本的元素",{"2":{"65":1}}],["文档",{"2":{"28":1,"63":1,"122":1,"187":1,"242":1,"520":1}}],["文件附件的形式",{"2":{"702":1}}],["文件同步模式",{"2":{"487":1,"551":2}}],["文件同级的目录下",{"2":{"190":1}}],["文件中将",{"2":{"482":1}}],["文件中维护了海豹提供的",{"2":{"184":1}}],["文件放进",{"2":{"465":1}}],["文件后",{"2":{"464":1}}],["文件内",{"2":{"430":1}}],["文件和",{"2":{"405":1}}],["文件和文档",{"2":{"344":1}}],["文件目录树",{"0":{"326":1}}],["文件名中含有",{"2":{"214":1}}],["文件名格式是",{"2":{"214":1}}],["文件随时可能会有更新",{"2":{"190":1}}],["文件的方式",{"2":{"181":1}}],["文件在",{"2":{"180":1}}],["文件在本质上依然是",{"2":{"88":1}}],["文件以便上传到海豹骰时",{"2":{"180":1}}],["文件编写插件与使用模板工程编写本质上是没有区别的",{"2":{"191":1}}],["文件编写插件",{"0":{"190":1}}],["文件编写",{"2":{"177":1}}],["文件编码",{"2":{"98":1}}],["文件吧",{"2":{"88":1}}],["文件拖动到模拟器即可进行安装",{"2":{"28":1}}],["文件夹如下",{"2":{"490":1}}],["文件夹",{"2":{"405":1,"465":1,"487":1}}],["文件夹拖到了",{"2":{"386":1}}],["文件夹内布局",{"2":{"363":1}}],["文件夹内部的文档在一级文件夹下平铺展示",{"2":{"292":1}}],["文件夹压缩",{"2":{"88":1}}],["文件夹压缩为",{"2":{"88":1}}],["文件夹单击",{"2":{"32":1}}],["文件夹中新建",{"2":{"32":1}}],["文件夹中",{"2":{"27":1,"32":1}}],["文件夹放到硬盘根目录试试",{"2":{"15":1}}],["文件",{"2":{"12":1,"19":1,"29":1,"32":1,"33":1,"80":1,"88":3,"126":1,"146":1,"176":1,"187":1,"190":1,"326":1,"358":1,"464":1,"475":1,"477":1,"492":1}}],["文件复制到",{"2":{"12":1}}],["启用上面的系统设置已经足够",{"2":{"351":1}}],["启用了的回复文件会显示",{"2":{"311":1}}],["启用戳一戳",{"0":{"239":1},"2":{"486":1}}],["启用自动清理",{"2":{"217":1}}],["启用自动备份",{"2":{"216":1}}],["启用",{"2":{"28":1}}],["启动一个不向互联网公开的新海豹核心",{"2":{"668":1}}],["启动或重启海豹核心",{"2":{"520":1}}],["启动时若出现",{"2":{"518":1}}],["启动时有可能会先弹出如下警告",{"2":{"490":1}}],["启动脚本内容如下",{"2":{"464":1}}],["启动脚本",{"2":{"464":2}}],["启动服务端",{"0":{"464":1}}],["启动核心前请全部允许这些权限",{"2":{"344":1}}],["启动核心",{"2":{"337":1}}],["启动海豹核心",{"2":{"520":1}}],["启动海豹失败问题排查",{"2":{"518":1}}],["启动海豹",{"2":{"11":1}}],["启动",{"0":{"498":1,"518":1},"2":{"9":1,"464":1,"667":2}}],["强大的查询功能",{"0":{"527":1}}],["强自定义",{"0":{"525":1}}],["强烈建议你使用",{"2":{"423":1}}],["强烈建议全文阅读此文章",{"2":{"377":1}}],["强烈推荐",{"2":{"8":1}}],["强制依赖",{"2":{"195":2}}],["强行停止",{"2":{"28":1}}],["页码",{"2":{"616":1,"738":4}}],["页大小",{"2":{"616":1}}],["页面下载最新版本",{"2":{"497":1}}],["页面就像一个讨论区",{"2":{"368":1}}],["页面左上角的开关",{"2":{"310":1}}],["页面中也提供了相应的帮助信息",{"2":{"254":1}}],["页面中的脚本语言被人所熟知",{"2":{"187":1}}],["页面",{"2":{"214":1,"416":1,"418":1,"425":1,"489":1,"504":1,"511":2,"663":1}}],["页",{"2":{"102":1,"302":1,"466":1,"616":1}}],["页后",{"2":{"27":1}}],["页下载模块",{"2":{"27":1}}],["或不选择此项",{"2":{"695":1}}],["或快速查询",{"2":{"695":1}}],["或群组",{"2":{"691":1}}],["或类似服务器",{"2":{"657":1}}],["或检定失败基础上个位十位相同为大失败",{"2":{"593":1}}],["或检定成功基础上个位十位相同为大成功",{"2":{"593":1}}],["或惩罚骰",{"2":{"572":1}}],["或一个",{"2":{"568":1}}],["或翻译有变化",{"2":{"556":1}}],["或使用前面提到的配置出现问题",{"2":{"492":1}}],["或命令提示符等名词会被混用",{"2":{"414":1,"421":1,"423":1,"444":1}}],["或系统安全策略不允许随意监听此类端口",{"2":{"409":1}}],["或未反映在日志中",{"2":{"387":1}}],["或困难",{"0":{"385":1}}],["或许你已注意到",{"2":{"602":1}}],["或许你也可以学习编程",{"2":{"368":1}}],["或许可以增加此功能的优先级",{"2":{"368":1}}],["或插件",{"2":{"361":1}}],["或加载了大量牌堆",{"2":{"361":1}}],["或数据库文件变得很大",{"2":{"353":1}}],["或硬盘空间占满",{"2":{"352":1}}],["或发掘一些新的手段",{"2":{"342":1}}],["或想了解更多细节",{"2":{"321":1}}],["或官方群的群文件中找到其他骰主分享的文件",{"2":{"313":1}}],["或官方群的群文件中找到其他骰主分享的",{"2":{"300":1}}],["或官方群的群文件中找到其他骰主分享的帮助文档",{"2":{"290":1}}],["或官方群的群文件中找到其他骰主分享的牌堆",{"2":{"260":1}}],["或之前版本",{"2":{"214":1,"322":1,"323":1}}],["或空字符串被视为",{"2":{"202":1}}],["或是类似小写字母",{"2":{"343":1}}],["或是直接复制到海豹",{"2":{"187":1}}],["或是再新开一行用条件算符或者条件语句实现",{"2":{"116":1}}],["或下载模板项目",{"0":{"178":1}}],["或生命值归零",{"2":{"174":1}}],["或更早版本",{"2":{"152":1}}],["或更早版本的海豹核心",{"2":{"69":1}}],["或在场的所有调查员同时疯狂发作",{"2":{"586":1}}],["或在",{"2":{"482":1}}],["或在游戏中使用",{"2":{"465":1}}],["或在互联网自行搜索学习",{"2":{"101":1}}],["或在手机上运行虚拟机的",{"2":{"27":1}}],["或结束文件",{"2":{"65":1}}],["或",{"2":{"41":1,"65":1,"70":2,"80":1,"93":1,"98":1,"104":1,"126":3,"176":1,"201":1,"205":1,"217":1,"219":1,"254":1,"259":1,"317":1,"318":1,"323":1,"336":1,"368":1,"409":1,"421":1,"440":1,"482":1,"486":1,"517":1,"556":1,"577":1,"675":1,"682":1,"688":1}}],["或者没有正确提供指令所需参数时会返回指令的帮助信息",{"2":{"695":1}}],["或者没有可用的备份文件",{"2":{"356":1}}],["或者需要更多帮助",{"2":{"654":1}}],["或者需要编写大型插件",{"2":{"177":1,"191":1}}],["或者相同属性",{"2":{"579":1}}],["或者自己编写规则模板插件",{"2":{"546":1}}],["或者觉得并无必要",{"2":{"546":1}}],["或者使用终端启动海豹核心",{"2":{"520":1}}],["或者更高",{"2":{"517":1}}],["或者在动作前请求主持人的许可",{"2":{"720":1}}],["或者在阅读本节时",{"2":{"516":1}}],["或者在搜索引擎中查找了正则表达式教程",{"2":{"371":1}}],["或者你的问题明确了是一个",{"2":{"395":1}}],["或者你也可以学习编程",{"2":{"368":1}}],["或者一些你认为本该正常运行的功能表现得不正常",{"2":{"385":1}}],["或者不清楚某些术语该怎么说的情况下",{"2":{"376":1}}],["或者对计算机及服务器知之甚少的用户快速查询特定名词",{"2":{"397":1}}],["或者对计算机及服务器知之甚少的用户快速查询一些常见问题以及对应的答案",{"2":{"357":1}}],["或者对计算机及服务器知之甚少的用户问出更加明晰高效的问题",{"2":{"375":1}}],["或者对计算机及服务器知之甚少的用户在遇到不理解的教程",{"2":{"365":1}}],["或者反馈",{"2":{"364":1}}],["或者保存完复制过去",{"2":{"354":1}}],["或者直接使用",{"2":{"316":1}}],["或者开始开发时",{"2":{"179":1}}],["或者",{"2":{"67":1,"77":1,"319":1,"343":1,"347":1,"696":1,"725":1}}],["或者把",{"2":{"29":1}}],["或者其它文本编辑器",{"2":{"29":1}}],["或少复制了内容",{"2":{"17":1}}],["使每一次的结果都不相同",{"2":{"676":1}}],["使目标进行指定的理智检定",{"2":{"585":1}}],["使你的骰子更加鲜活",{"2":{"525":1}}],["使容器和宿主机位于同一网络中",{"2":{"518":1}}],["使前缀",{"2":{"278":1}}],["使之生效",{"2":{"214":1}}],["使得",{"2":{"26":1}}],["使用关键字对编辑推荐模组进行搜索",{"2":{"738":1}}],["使用关键字进行搜索",{"2":{"738":1}}],["使用其模板",{"2":{"707":1}}],["使用骰子有许多约定俗成的规则",{"2":{"691":1}}],["使用前请使用",{"2":{"691":1}}],["使用快捷指令的方式如下",{"2":{"682":1}}],["使用快捷指令",{"0":{"682":1}}],["使用以下命令",{"2":{"668":1}}],["使用这个指令将其他骰子进行标记",{"2":{"661":1}}],["使用密码登录",{"2":{"660":1}}],["使用法术位",{"0":{"647":1},"1":{"648":1}}],["使用可带调整值的表达式进行检定",{"2":{"640":1}}],["使用指定角色卡的数据覆盖当前群聊的独立卡",{"2":{"615":1}}],["使用指定的房规",{"2":{"594":1}}],["使用指定的属性或技能进行检定",{"2":{"569":1}}],["使用统一",{"2":{"597":3}}],["使用自己的一个属性",{"2":{"579":1}}],["使用不同技能对抗",{"0":{"579":1}}],["使用相同技能对抗",{"0":{"578":1}}],["使用相对路径",{"2":{"88":1}}],["使用有问题",{"2":{"554":1}}],["使用海豹",{"0":{"506":1}}],["使用最新的",{"2":{"492":1}}],["使用该版本的见",{"2":{"500":1}}],["使用该指令以抽取疯狂发作的总结症状与消耗时间",{"2":{"586":1}}],["使用该指令以抽取疯狂发作的即时症状与发作时间",{"2":{"586":1}}],["使用该指令需要",{"2":{"470":1}}],["使用该指令的玩家视为向海豹私聊发送了一条消息",{"2":{"469":1}}],["使用该模板在自己的",{"2":{"178":1}}],["使用在控制台使用",{"2":{"465":1}}],["使用的",{"2":{"389":1}}],["使用页面左上角的搜索按钮有助于提高你的信息效率",{"2":{"380":1}}],["使用百度搜索一下",{"2":{"358":1}}],["使用系统的双开功能",{"0":{"336":1}}],["使用于指定检定难度的情况",{"2":{"275":1}}],["使用和编译",{"0":{"180":1}}],["使用单",{"2":{"177":1,"191":1}}],["使用非指令关键词",{"0":{"169":1}}],["使用了之后就不要修改了",{"2":{"163":1}}],["使用命令行工具打开这个目录",{"2":{"356":1}}],["使用命令行程序进入海豹的目录",{"2":{"353":1}}],["使用命令行程序等有所了解",{"2":{"24":1}}],["使用命令",{"2":{"153":1}}],["使用示例",{"2":{"126":1}}],["使用正则匹配时",{"2":{"105":1}}],["使用中文作为键名时",{"2":{"66":1}}],["使用专业的编辑器能帮助你检查这些问题",{"2":{"63":1}}],["使用造成的任何后果与海豹开发组无关",{"2":{"46":1}}],["使用即代表您已同意使用须知的内容",{"2":{"46":1}}],["使用教程",{"2":{"33":1}}],["使用数据线连接电脑和手机",{"2":{"32":1}}],["使用运行开启的",{"2":{"32":1}}],["使用此方法请将",{"2":{"32":1}}],["使用更为老旧的",{"2":{"27":1}}],["使用时立即退出群",{"2":{"227":1}}],["使用时",{"2":{"25":1}}],["使用时会出现报错",{"2":{"23":1}}],["使用共享签名服务可能会提高账号被封禁的概率",{"2":{"8":1}}],["使用他人的签名服务可能会泄漏以下信息",{"2":{"8":1}}],["使用签名服务",{"0":{"7":1},"1":{"8":1,"9":1}}],["使用",{"0":{"110":1,"337":1},"2":{"6":1,"26":1,"27":1,"62":1,"67":1,"71":1,"72":1,"88":1,"100":1,"102":1,"110":1,"122":2,"151":3,"153":1,"157":1,"158":1,"159":5,"165":1,"171":1,"194":1,"225":1,"262":1,"291":1,"292":1,"313":1,"333":1,"339":1,"386":1,"489":1,"556":1,"586":1,"597":1,"628":1,"657":1,"684":1,"703":1,"706":1,"712":1}}],["模板的等价写法是",{"2":{"708":1}}],["模板",{"2":{"638":1,"708":1}}],["模板项目仓库",{"2":{"178":2}}],["模板项目",{"2":{"177":1}}],["模糊搜索指定牌组",{"2":{"626":1}}],["模糊匹配可能出现感觉能匹配上",{"2":{"104":1}}],["模糊匹配未命中",{"2":{"104":1}}],["模糊匹配将比较收到的消息与指定文本",{"2":{"104":1}}],["模糊匹配",{"0":{"104":1},"2":{"317":1}}],["模式",{"2":{"323":1,"490":1}}],["模式下",{"2":{"218":2}}],["模式2启用",{"2":{"58":1}}],["模式2",{"2":{"58":2}}],["模式1启用",{"2":{"58":1}}],["模式1",{"2":{"58":2}}],["模块有三个前提",{"2":{"34":1}}],["模块生效",{"2":{"26":1}}],["模块",{"0":{"27":1},"2":{"26":1,"27":1}}],["模拟器中使用",{"2":{"24":1}}],["z",{"0":{"443":1},"1":{"444":1},"2":{"609":4,"610":5}}],["zip",{"2":{"88":3,"178":1,"214":2}}],["z0",{"2":{"66":1}}],["za",{"2":{"66":1}}],["zygisk",{"2":{"26":2,"27":2}}],["zshchmod",{"2":{"518":1}}],["zsh",{"2":{"9":1,"433":1}}],["your",{"2":{"464":1,"511":2}}],["you",{"2":{"464":1}}],["yml",{"0":{"475":1},"2":{"80":1,"475":2,"482":1}}],["yamlalias",{"2":{"557":1}}],["yaml幸运转盘",{"2":{"91":1}}],["yamlcommand",{"2":{"89":1}}],["yaml捕捉海豹",{"2":{"85":1}}],["yaml时间点",{"2":{"82":1}}],["yamlname",{"2":{"80":1,"90":1,"475":2}}],["yamltrpg",{"2":{"79":1}}],["yaml海豹核心",{"2":{"78":2}}],["yaml",{"0":{"76":1,"77":1,"78":1,"79":1,"442":1},"2":{"62":1,"63":2,"77":1,"78":2,"79":7,"80":3,"82":2,"89":2,"126":1,"135":1,"259":1,"311":1,"312":1,"327":3,"432":1,"442":1,"557":1,"672":1}}],["y",{"0":{"441":1},"1":{"442":1},"2":{"26":1,"609":6,"610":4,"719":2}}],["把黑框框里的文字截图发了出去",{"2":{"372":1}}],["把下面的命令写到文件里面",{"2":{"29":1}}],["把文件上传到模拟器中",{"2":{"27":1}}],["把它安装到模拟器",{"2":{"26":1}}],["把手机",{"2":{"21":1}}],["通用特化支持",{"0":{"528":1},"1":{"529":1}}],["通用设置",{"0":{"348":1},"1":{"349":1,"350":1,"351":1}}],["通知权限",{"0":{"350":1}}],["通知",{"2":{"253":1}}],["通过这种方式",{"2":{"721":1}}],["通过这样的思考过程",{"2":{"379":1}}],["通过指令发送",{"2":{"679":1}}],["通过额外骰一定数量的十位骰",{"2":{"605":1}}],["通过将",{"2":{"482":1}}],["通过此方式部署的海豹与",{"2":{"474":1}}],["通过明确地告诉大家问题已经解决",{"2":{"391":1}}],["通过你提供的这些信息",{"2":{"388":1}}],["通过搜素自定义回复",{"2":{"371":1}}],["通过数据库修复指令",{"0":{"356":1}}],["通过回滚备份",{"0":{"355":1}}],["通过筛选可以快速查找到相应的词条内容",{"2":{"296":1}}],["通过投掷",{"2":{"173":1}}],["通过骰子出招和玩家出招两个变量判断",{"2":{"116":1}}],["通过配置牌堆文件的",{"2":{"89":1}}],["通过对结果变量的判断来实现展示不同文案",{"2":{"56":1}}],["通过并合并后",{"2":{"44":1}}],["通过",{"0":{"474":1},"1":{"475":1,"476":1,"477":1,"478":1,"479":1},"2":{"26":1,"83":1,"152":1,"194":1,"254":1,"259":1,"291":1,"361":1,"477":2,"486":1,"580":1}}],["通常流程",{"0":{"720":1},"1":{"721":1,"722":1,"723":1,"724":1,"725":1,"726":1,"727":1,"728":1,"729":1,"730":1,"731":1,"732":1,"733":1}}],["通常的疯狂发作应该使用",{"2":{"586":1}}],["通常由",{"2":{"520":1}}],["通常海豹核心也会一同关闭",{"2":{"520":1}}],["通常选择",{"2":{"489":1}}],["通常指用户与程序发生交互的位置",{"2":{"438":1}}],["通常指通过不生成图形化用户界面方式运行",{"2":{"437":1}}],["通常以特定的数据结构存储在内存之中",{"2":{"432":1}}],["通常有其约定",{"2":{"409":1}}],["通常使用全文搜索",{"2":{"695":1}}],["通常使用",{"2":{"409":1}}],["通常还包含",{"2":{"405":1}}],["通常这类文章是搬运而来",{"2":{"369":1}}],["通常包含了此开源项目的用户所遇到的问题",{"2":{"368":1}}],["通常包含使用此项目的用户高频提出的问题",{"2":{"368":1}}],["通常在",{"2":{"353":1}}],["通常而言",{"2":{"343":1}}],["通常为几分钟",{"2":{"292":1}}],["通常来说这是其他人分享给你的",{"2":{"312":1}}],["通常来说",{"2":{"171":1,"351":1,"356":1,"369":1,"386":1,"387":1,"409":1,"668":1}}],["通常会对参数值进行判断",{"2":{"147":1}}],["通常群文件的",{"2":{"125":1}}],["通常是使用",{"2":{"353":1}}],["通常是在执行海豹核心的终端使用",{"2":{"353":1}}],["通常是",{"2":{"41":1,"693":1}}],["通常用于获取",{"2":{"26":1}}],["通常",{"2":{"22":1,"421":1,"518":1}}],["通常简称",{"0":{"20":1}}],["通常情况下你不需要考虑黑名单用户的情况",{"2":{"152":1}}],["通常情况下无需修改",{"2":{"28":1}}],["通常情况下",{"2":{"9":1,"22":1,"169":1}}],["通常默认为",{"2":{"8":2}}],["选3个最大的",{"2":{"602":2}}],["选中后会多出一个",{"2":{"271":1}}],["选中牌堆文件和",{"2":{"88":1}}],["选中的文件就是要找的文件",{"2":{"29":1}}],["选中",{"2":{"28":1}}],["选项来指定目录挂载",{"2":{"518":1}}],["选项卡中的",{"2":{"450":1}}],["选项中选中",{"2":{"450":1}}],["选项中",{"2":{"269":1}}],["选项",{"2":{"26":1,"162":1,"222":1,"250":1,"261":1,"292":1,"301":1,"310":1,"314":1,"343":1}}],["选择组成的最好结果或最坏结果",{"2":{"605":1}}],["选择相应版本下载",{"2":{"489":1}}],["选择账号类型",{"2":{"487":1,"491":1,"499":1}}],["选择任一方式",{"2":{"477":1}}],["选择编译文件输出位置",{"2":{"463":1}}],["选择版本",{"2":{"463":1}}],["选择要构建的版本进行编译",{"2":{"463":1}}],["选择你希望海豹拥有的权限",{"2":{"459":1}}],["选择右上角的设置图标",{"2":{"351":1}}],["选择右上角小齿轮",{"2":{"337":1}}],["选择海豹核心任务卡片右上角的三个点",{"2":{"347":1}}],["选择获取的插件文件",{"2":{"302":1}}],["选择分组和相应文档后",{"2":{"293":1}}],["选择放到相较于上一条的后面",{"2":{"115":1}}],["选择本地修补",{"2":{"33":1}}],["选择已经下载的",{"2":{"33":1}}],["选择",{"2":{"12":1,"23":1,"28":1,"30":1,"32":1,"337":1,"345":1,"346":3,"347":1,"449":1,"454":1,"458":1,"466":1,"489":2,"501":1,"505":1,"512":1,"515":1}}],["选择简易配置",{"2":{"11":1}}],["mz",{"2":{"684":1}}],["my",{"2":{"622":2,"682":2}}],["myperm",{"2":{"153":6}}],["m的骰子总数",{"2":{"609":1}}],["mb",{"2":{"523":1,"524":3,"618":2}}],["mpim",{"2":{"510":1,"511":2}}],["m3",{"2":{"489":1}}],["m2",{"2":{"489":1,"517":1}}],["m1",{"2":{"489":1,"517":1}}],["mul",{"2":{"544":1}}],["multicast",{"2":{"481":1}}],["musicsignurl",{"2":{"498":1}}],["music",{"2":{"167":2}}],["ms",{"2":{"464":1}}],["msg=$",{"2":{"167":1}}],["msg",{"0":{"141":1},"2":{"126":9,"127":3,"129":2,"130":4,"136":4,"141":8,"146":2,"147":1,"148":2,"149":3,"151":5,"153":2,"159":16,"161":3,"162":21,"163":2,"165":6,"166":2,"167":7,"169":2,"171":10}}],["msgcontext",{"2":{"126":1,"150":1,"155":1}}],["mc",{"2":{"463":3}}],["mctx",{"2":{"166":5}}],["mdn",{"2":{"186":1,"187":1}}],["mention",{"2":{"510":1}}],["mem",{"2":{"495":1}}],["members",{"2":{"448":1}}],["memberkick",{"0":{"128":1},"2":{"126":1,"128":1}}],["memberban",{"0":{"128":1},"2":{"126":1,"128":1}}],["methods",{"2":{"450":1}}],["meta",{"2":{"80":2,"90":1,"93":1,"96":1,"122":1}}],["mean",{"2":{"371":1}}],["messagepostformat",{"2":{"498":1}}],["messagetype",{"2":{"126":1,"136":1,"141":1,"165":1}}],["message",{"2":{"126":2,"136":1,"141":1,"162":1,"167":3,"169":3,"448":1,"490":1,"492":1,"510":4}}],["mtu",{"2":{"481":1}}],["mt",{"2":{"125":1,"339":1}}],["mojang",{"2":{"464":1}}],["modu",{"0":{"738":1},"2":{"543":1,"738":7}}],["mode",{"2":{"58":2,"482":1,"510":2}}],["mod",{"2":{"46":1,"98":1,"99":1,"144":1,"553":1}}],["moe",{"2":{"32":1}}],["mark",{"2":{"544":4}}],["macos",{"2":{"433":1,"517":1,"518":4}}],["mac",{"2":{"416":1,"488":1,"489":2,"517":1,"518":1}}],["max",{"2":{"162":2}}],["math",{"2":{"148":2,"149":2,"162":2,"165":2,"166":2}}],["map",{"2":{"136":1,"150":1}}],["manual",{"2":{"42":1}}],["masterget",{"2":{"703":1}}],["master",{"0":{"229":1,"230":1,"231":1,"596":1,"671":1},"1":{"230":1,"231":1,"232":1},"2":{"41":1,"137":1,"152":1,"153":1,"171":1,"229":1,"230":2,"231":2,"238":1,"240":1,"253":1,"596":17,"621":1,"628":1,"679":2,"703":1}}],["main",{"2":{"41":1,"162":2,"327":1,"430":1}}],["magisk",{"2":{"26":2}}],["m",{"0":{"420":1},"1":{"421":1,"422":1,"423":1},"2":{"26":1,"609":2,"610":1,"667":1}}],["microsoft",{"2":{"490":2,"492":2}}],["miui",{"0":{"345":1}}],["minecrafteula",{"2":{"464":1}}],["minecraft",{"0":{"460":1,"461":1,"462":1,"465":1,"466":1,"467":1},"1":{"461":1,"462":1,"463":2,"464":2,"465":2,"466":1,"467":1,"468":2,"469":2,"470":2,"471":2,"472":2},"2":{"460":1,"461":2,"462":3,"463":2,"465":3,"466":5}}],["minify",{"2":{"185":2}}],["min",{"2":{"162":3}}],["mirai",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"20":1}}],["mit",{"2":{"4":1,"151":1,"153":1,"159":1,"162":1,"171":1,"188":1}}],["确确实实地存在于人们身边的世界",{"2":{"716":1}}],["确定问题",{"0":{"353":1},"1":{"354":1}}],["确保你设置了合适的密码",{"2":{"596":1}}],["确保你下载的是",{"2":{"356":1}}],["确保只有你完全信任的人能够接触到你骰子的",{"2":{"596":1}}],["确保截图中呈现了对应的日志",{"2":{"387":1}}],["确保海豹核心能够在后台存活",{"2":{"334":1}}],["确保最终抽取的牌组中不含重复条目",{"2":{"96":1}}],["确保安卓版本在安卓",{"2":{"25":1}}],["确认后点击下方",{"2":{"510":1}}],["确认后点击",{"2":{"448":1}}],["确认插件的更新内容之后",{"2":{"303":1}}],["确认内容完整再导入",{"2":{"272":1}}],["确认更新",{"2":{"264":1,"303":1}}],["确认牌堆的更新内容之后",{"2":{"264":1}}],["确认前请务必保证是从主分支切出的",{"2":{"43":1}}],["确认海豹版本",{"2":{"35":1}}],["确认端口没有重复",{"2":{"15":1}}],["确认没有启动多个",{"2":{"15":1}}],["作者木落",{"2":{"599":1}}],["作者名和版本号",{"2":{"194":1}}],["作者名为",{"2":{"194":1}}],["作者名",{"2":{"188":1}}],["作者为",{"2":{"126":1}}],["作者",{"2":{"98":1,"122":2,"144":1,"194":2,"553":1,"679":2}}],["作者已因",{"2":{"7":1}}],["作为骰主",{"2":{"703":1}}],["作为它的同义词",{"2":{"556":1}}],["作为服务端默认绑定到",{"2":{"409":1}}],["作为处理等级",{"2":{"253":1}}],["作为",{"2":{"187":1}}],["作为非指令关键词的标志",{"2":{"169":1}}],["作为标记",{"2":{"115":1}}],["作为标记变量",{"2":{"115":1}}],["作为分页符",{"2":{"98":1}}],["作为换行符",{"2":{"98":1}}],["作为牌组的文件",{"2":{"80":1}}],["作为示例",{"2":{"25":1}}],["小众规则指令暂时也放在本扩展中",{"2":{"673":1}}],["小数字",{"2":{"409":1}}],["小节",{"2":{"382":1}}],["小于等于",{"2":{"318":1}}],["小时随时回复我们的指令了",{"2":{"403":1}}],["小时都可以回应我们的指令",{"2":{"403":1}}],["小时进行一次备份",{"2":{"355":1}}],["小时一次的自动备份",{"2":{"214":1}}],["小时",{"2":{"201":1,"242":1}}],["小心嵌套文件夹",{"2":{"88":1}}],["小主机等配置较低的设备可能无法支持使用",{"2":{"24":1}}],["小米手机安装面具教程",{"2":{"24":1}}],["旧版",{"2":{"492":1}}],["旧版文案",{"2":{"271":1}}],["旧的实现",{"2":{"84":1,"86":1}}],["旧电脑",{"2":{"24":1}}],["旧手册贡献者",{"2":{"3":1}}],["轻量级服务器",{"2":{"24":1}}],["低版本",{"2":{"518":1}}],["低成本",{"2":{"417":1}}],["低位端口通常已经被占用",{"2":{"409":1}}],["低配置设备可能无法使用",{"2":{"24":1}}],["低于该版本",{"2":{"23":1}}],["酷安",{"2":{"24":1}}],["本机上完成扫码登录",{"0":{"660":1}}],["本次录入了1条数据",{"2":{"565":1,"567":1,"642":1}}],["本次共记录了2条数据",{"2":{"556":1}}],["本例中为",{"2":{"481":1}}],["本体实现一套",{"2":{"425":1}}],["本部分中将会为一些涉及的要素提供正例与反例",{"2":{"384":1}}],["本手册特别提供了",{"2":{"368":1}}],["本文件所有回复项目上方新增了",{"2":{"314":1}}],["本文中将涉及使用",{"2":{"172":1}}],["本脚本用于演示如何抽取牌堆",{"2":{"151":1}}],["本身则需要通过电脑使用",{"2":{"32":1}}],["本教程不涉及说明如何",{"2":{"24":1}}],["本节以群聊代称",{"2":{"720":1}}],["本节是海豹支持的其他",{"2":{"711":1}}],["本节只涉及如何使用海豹核心完成规则中指定的操作",{"2":{"558":1,"630":1}}],["本节提供了多种对接途径的引导",{"2":{"486":1}}],["本节假定你对",{"2":{"473":1}}],["本节不能代替权威解释或各项目的官方文档",{"2":{"357":1,"397":1}}],["本节旨在帮助先前未曾接触过计算机以及服务器",{"2":{"357":1,"365":1,"375":1,"397":1}}],["本节为计算机小白指南中的第四部分",{"2":{"397":1}}],["本节为计算机小白指南中的第一部分",{"2":{"375":1}}],["本节为计算机小白指南中的第二部分",{"2":{"365":1}}],["本节为计算机小白指南中的第三部分",{"2":{"357":1}}],["本节为海豹提供的",{"2":{"126":1}}],["本节包括两项内容",{"2":{"352":1}}],["本节包含在主流安卓操作系统上允许海豹核心在后台运行",{"2":{"342":1}}],["本节将提供一些常见问题的解决方式",{"2":{"653":1}}],["本节将会指导你如何迁移现有的海豹核心",{"2":{"547":1}}],["本节将会指导你如何在你的",{"2":{"516":1}}],["本节将会介绍海豹的特色功能",{"2":{"521":1}}],["本节将包含通过",{"2":{"473":1}}],["本节将包含你在",{"2":{"447":1,"451":1,"456":1,"460":1,"483":1,"507":1,"513":1}}],["本节将包含你在钉钉平台接入海豹核心需要了解的特定内容",{"2":{"445":1}}],["本节将展示对故事发展有帮助的一些指令",{"2":{"734":1}}],["本节将展示记录跑团日志相关的指令",{"2":{"698":1}}],["本节将展示海豹的",{"2":{"673":1}}],["本节将展示牌堆和自定义回复相关的指令",{"2":{"624":1}}],["本节将展示",{"2":{"558":1,"630":1,"718":1}}],["本节将展示自定义回复编写的进阶部分",{"2":{"101":1}}],["本节将展示复杂文案的编写技巧",{"2":{"54":1}}],["本节将介绍安卓端海豹核心常见问题和解决方法",{"2":{"331":1}}],["本节将介绍自定义回复功能",{"2":{"308":1}}],["本节将介绍自定义文案的设置",{"2":{"267":1}}],["本节将介绍帮助文档功能",{"2":{"288":1}}],["本节将介绍帮助文档的编写",{"2":{"97":1}}],["本节将介绍牌堆功能",{"2":{"258":1}}],["本节将介绍牌堆的编写",{"2":{"61":1}}],["本节将介绍拦截功能和相关设置",{"2":{"249":1}}],["本节将介绍基础设置内的内容",{"2":{"228":1}}],["本节将介绍黑白名单的设置",{"2":{"221":1}}],["本节将介绍关于备份",{"2":{"213":1}}],["本节将介绍海豹核心的核心指令",{"2":{"595":1}}],["本节将介绍海豹核心主要的本地文件和它们的作用",{"2":{"325":1}}],["本节将介绍海豹在",{"2":{"555":1}}],["本节将介绍海豹内置的脚本语言",{"2":{"200":1}}],["本节将介绍海豹扩展功能的进阶内容",{"2":{"123":1}}],["本节将介绍",{"2":{"186":1,"298":1,"322":1}}],["本节将介绍如何使用",{"2":{"177":1}}],["本节将介绍如何为你的海豹核心编写和添加一个新的",{"2":{"172":1}}],["本节将介绍敏感词库的编写",{"2":{"120":1}}],["本节将记录海豹曾经使用但新版本已弃用的功能",{"2":{"5":1}}],["本节主要讲解如何使用模拟器实现",{"2":{"24":1}}],["本节内容",{"2":{"5":1,"54":1,"61":1,"97":1,"101":1,"120":1,"123":1,"126":1,"172":1,"177":1,"186":1,"200":1,"213":1,"221":1,"228":1,"249":1,"258":1,"267":1,"288":1,"298":1,"308":1,"322":1,"325":1,"331":1,"342":1,"352":1,"357":1,"365":1,"375":1,"397":1,"445":1,"447":1,"451":1,"456":1,"460":1,"473":1,"483":1,"507":1,"513":1,"516":1,"521":1,"547":1,"555":1,"558":1,"595":1,"624":1,"630":1,"653":1,"673":1,"689":1,"698":1,"711":1,"718":1,"734":1}}],["实质上以",{"2":{"485":1}}],["实质上就是在与海豹的",{"2":{"438":1}}],["实质上没有太大区别",{"2":{"113":1}}],["实现的",{"2":{"496":1}}],["实现某些特定的功能",{"2":{"418":1,"493":1}}],["实现劫持",{"2":{"24":1}}],["实践永远是学习的最佳方法",{"2":{"373":1}}],["实践学习",{"0":{"370":1},"1":{"371":1,"372":1,"373":1}}],["实际上只有一条属性",{"2":{"556":1}}],["实际上没有差别",{"2":{"116":1}}],["实际内容为",{"2":{"280":1}}],["实际发送内容为前缀",{"2":{"275":1}}],["实际测试",{"2":{"212":1}}],["实例无法访问",{"2":{"32":1}}],["实体手机获取",{"2":{"24":1}}],["而严禁直接移出群聊",{"2":{"691":1}}],["而机器人并不会主动向你发送消息",{"2":{"681":1}}],["而且托盘点不出来右键菜单",{"0":{"669":1}}],["而只迁移数据部分",{"2":{"549":1}}],["而后两者就对应了上述的程序问题",{"2":{"430":1}}],["而低位端口",{"2":{"409":1}}],["而非互联网上的其他设备",{"2":{"409":1}}],["而海豹的",{"2":{"409":1}}],["而海豹会试图连接到这个端口",{"2":{"409":1}}],["而客户端应用程序会试图连接到此端口",{"2":{"409":1}}],["而端口号是这个屋子里住户的编号",{"2":{"409":1}}],["而端口用于区分同一设备上的不同应用",{"2":{"409":1}}],["而服务器正是这样一种尽可能稳定运行的",{"2":{"403":1}}],["而你在配置海豹的过程中最常见的是",{"2":{"409":1}}],["而你一遇到问题就立刻开始写求助消息",{"2":{"387":1}}],["而你遇到的情况",{"2":{"368":1}}],["而闭门造车只会延长你设计方案到发现错误的时间",{"2":{"373":1}}],["而其出处往往具有更优质的排版",{"2":{"369":1}}],["而其他文件仍然在压缩包之中",{"2":{"358":1}}],["而搜索引擎往往只能找到泛化的知识",{"2":{"368":1}}],["而截图能避免这些问题",{"2":{"363":1}}],["而如果你想要指定这个压缩包解压到指定的文件夹",{"2":{"358":1}}],["而再次进行导入",{"2":{"338":1,"551":1}}],["而当加载该插件的海豹版本为",{"2":{"196":1}}],["而在编程领域和更古早的时期",{"2":{"433":1}}],["而在开源项目领域",{"2":{"410":1}}],["而在日志中能看到",{"2":{"187":1}}],["而在安卓",{"2":{"25":1}}],["而感到焦头烂额",{"2":{"169":1}}],["而一个扩展可以包含多条指令",{"2":{"144":1}}],["而不包括自己",{"2":{"580":1}}],["而不属于任何一个回复项",{"2":{"314":1}}],["而不得不频繁复制黏贴清空指令的情况",{"2":{"102":1}}],["而不是为了沿用旧配置而保持旧版本",{"2":{"492":1}}],["而不是继续使用",{"2":{"440":1}}],["而不是对他们发泄自己的主观情绪",{"2":{"394":1}}],["而不是包含秒数",{"2":{"213":1}}],["而不是",{"2":{"98":1,"518":1}}],["而不是在编写时直接换行",{"2":{"98":1}}],["而不是海豹的",{"2":{"12":1}}],["而是私聊发送给指令发起者",{"2":{"575":1}}],["而是统一使用",{"2":{"559":1}}],["而是在为四个",{"2":{"114":1}}],["而是",{"2":{"98":1,"129":1}}],["而是新切分支进行编辑",{"2":{"43":1}}],["而使用牌堆的用户需要手动去获取最新的牌堆",{"2":{"90":1}}],["而牌堆就是可以提供一些",{"2":{"80":1}}],["而",{"2":{"32":1,"126":1,"433":2,"438":1,"485":1,"568":1}}],["而模拟器中使用",{"2":{"24":1}}],["而手机厂商对",{"2":{"24":1}}],["遗憾的是",{"2":{"24":1,"342":1}}],["框架",{"2":{"24":1,"33":1,"425":1,"496":1}}],["luck",{"2":{"738":1}}],["lua",{"2":{"199":2}}],["lv3",{"2":{"645":1}}],["ll",{"2":{"481":1}}],["llonebot",{"0":{"493":1,"494":1},"1":{"494":1,"495":1},"2":{"239":1,"485":1,"486":4,"493":3,"495":2}}],["lft",{"2":{"481":4}}],["l",{"0":{"415":1},"1":{"416":1,"417":1,"418":1,"419":1}}],["latest",{"2":{"517":1,"518":1}}],["lagrangecore",{"2":{"490":1}}],["lagrangedev",{"2":{"475":3}}],["lagrange",{"0":{"416":1,"474":1,"477":1,"478":1,"479":1,"488":1,"489":1,"490":1,"491":1,"492":1},"1":{"475":1,"476":1,"477":1,"478":1,"479":1,"489":1,"490":1,"491":1,"492":1},"2":{"239":1,"327":1,"388":1,"405":1,"416":5,"440":1,"474":3,"475":20,"476":1,"477":6,"478":3,"485":1,"486":4,"487":2,"488":6,"489":4,"490":16,"492":9,"518":5}}],["lastcommandtime",{"2":{"139":1}}],["lst",{"2":{"161":3}}],["lspatch",{"0":{"31":1,"33":1},"1":{"32":1,"33":1,"34":1,"35":1},"2":{"31":4,"33":4,"34":3}}],["lsposed",{"0":{"27":1},"2":{"24":1,"27":1,"28":1,"33":1}}],["left",{"2":{"544":4}}],["length",{"2":{"162":5,"163":1}}],["level",{"2":{"159":5}}],["let",{"2":{"130":2,"147":1,"148":1,"149":2,"153":1,"159":9,"161":3,"162":7,"165":1,"166":2,"168":2,"169":1,"171":2}}],["li",{"0":{"586":1},"2":{"586":3,"719":1,"725":1}}],["lifetime",{"2":{"490":1,"492":1}}],["links",{"2":{"511":2}}],["link",{"2":{"481":2}}],["linux",{"0":{"417":1,"550":1},"2":{"213":1,"361":1,"416":2,"417":4,"488":2,"490":3,"492":1,"517":1,"520":1,"657":1}}],["liteloaderqqnt",{"2":{"418":1,"493":1}}],["liteloader",{"0":{"418":1},"2":{"418":2,"426":1,"493":2}}],["list",{"2":{"152":1,"161":1,"596":1,"597":2,"599":1,"615":1,"623":1,"626":1,"682":1,"702":1,"703":1,"719":1}}],["license",{"2":{"80":6,"122":1,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"168":1,"171":1,"187":1,"188":2}}],["lt",{"2":{"32":1,"44":1,"80":1,"89":5,"98":1,"100":2,"102":1,"105":1,"110":4,"121":1,"122":1,"146":1,"152":1,"201":4,"386":1,"387":2,"498":1,"559":2,"561":1,"562":1,"563":7,"564":2,"565":2,"569":1,"570":2,"571":2,"572":2,"578":1,"579":2,"580":3,"582":2,"583":2,"584":3,"588":4,"589":7,"590":1,"594":1,"596":3,"597":5,"599":2,"600":1,"601":2,"609":7,"610":4,"614":1,"615":10,"616":5,"617":1,"621":1,"622":3,"626":3,"627":2,"631":2,"632":6,"633":4,"636":3,"637":2,"638":6,"640":4,"643":6,"647":2,"651":1,"657":1,"667":1,"676":3,"677":2,"678":1,"679":3,"680":1,"682":11,"684":2,"685":1,"686":3,"687":1,"688":1,"695":3,"700":3,"701":2,"702":6,"703":3,"707":1,"708":1,"719":35,"721":2,"723":1,"724":2,"726":1,"728":1,"729":1,"730":1,"735":1,"736":2,"737":1,"738":8}}],["lot",{"2":{"677":1}}],["longrest",{"0":{"649":1},"1":{"650":1},"2":{"649":1,"732":1}}],["lodash",{"2":{"183":1}}],["load",{"2":{"615":1}}],["loading",{"2":{"371":1}}],["loadplayergroupvars",{"2":{"137":1}}],["loadplayerglobalvars",{"2":{"137":1}}],["loadgroupvars",{"2":{"137":1}}],["localhost",{"2":{"8":1,"12":1,"35":1,"409":1,"466":1,"482":1,"495":1,"518":3}}],["loglevel",{"2":{"490":1,"492":1}}],["logging",{"2":{"490":1,"492":1}}],["logs",{"2":{"327":1,"353":2,"477":1}}],["logon",{"2":{"138":1}}],["logcurname",{"2":{"138":1}}],["logic",{"2":{"104":1}}],["log",{"0":{"419":1,"671":1,"699":1,"703":1},"1":{"700":1,"701":1,"702":1,"703":1},"2":{"1":1,"153":1,"167":2,"187":1,"243":1,"326":2,"327":4,"338":1,"353":1,"430":2,"502":1,"510":1,"542":2,"543":1,"551":1,"614":1,"690":1,"700":7,"701":2,"702":6,"703":3,"719":4}}],["ri",{"0":{"632":1},"2":{"632":10,"719":1,"729":1}}],["rh",{"0":{"612":1},"2":{"719":1}}],["rm",{"2":{"597":1,"615":1,"682":2}}],["rsr",{"0":{"688":1},"2":{"546":1,"688":1,"719":1}}],["r1d20",{"2":{"522":1}}],["rcv",{"0":{"577":1},"1":{"578":1,"579":1,"580":1}}],["rch",{"0":{"575":1},"1":{"576":1}}],["rc",{"0":{"275":1,"568":1,"640":1},"1":{"569":1,"570":1,"571":1,"572":1,"573":1,"574":1,"641":1,"642":1},"2":{"568":3,"575":1,"640":6,"642":1,"694":1,"719":1,"720":1}}],["rxx",{"2":{"214":1}}],["rxh",{"0":{"613":1},"2":{"201":1}}],["rx",{"0":{"613":1},"2":{"201":1,"613":1}}],["run",{"2":{"180":2,"181":1,"482":1,"518":1}}],["rule",{"2":{"126":1,"168":7}}],["rd",{"2":{"165":2,"252":1,"518":2}}],["rav",{"0":{"577":1},"1":{"578":1,"579":1,"580":1},"2":{"578":1,"579":1,"580":2,"719":1}}],["rah",{"0":{"575":1},"1":{"576":1},"2":{"719":1}}],["ra",{"0":{"275":1,"568":1},"1":{"569":1,"570":1,"571":1,"572":1,"573":1,"574":1},"2":{"201":1,"270":1,"275":1,"544":2,"556":3,"568":3,"569":3,"570":1,"571":1,"572":1,"575":1,"719":3,"720":1}}],["rand",{"2":{"616":1,"695":1}}],["randomint",{"2":{"162":2}}],["random",{"2":{"148":1,"149":1,"162":1,"165":1,"166":1,"167":1}}],["rank",{"2":{"157":1,"159":5}}],["raw",{"2":{"201":3,"708":1}}],["rawargs",{"2":{"142":1}}],["rawid",{"2":{"141":1}}],["roll",{"2":{"601":1,"738":1}}],["rollvm",{"2":{"126":6,"129":1,"151":1}}],["room",{"2":{"466":1}}],["root",{"0":{"26":1},"2":{"24":9,"26":5,"31":1,"33":1,"475":3,"520":2}}],["round",{"2":{"165":1}}],["rfc",{"2":{"65":1,"122":2}}],["r",{"0":{"280":1,"429":1,"601":1},"1":{"430":1,"602":1,"603":1,"604":1,"605":1,"606":1,"607":1,"608":1,"609":1,"610":1,"611":1},"2":{"32":1,"56":2,"162":2,"522":1,"536":1,"544":4,"565":1,"601":1,"602":6,"605":2,"606":2,"609":1,"611":3,"612":1,"613":1,"614":1,"719":2,"720":1}}],["reboot",{"2":{"596":1}}],["reportselfmessage",{"2":{"498":1}}],["replytosender",{"0":{"127":1},"2":{"126":2,"127":1,"129":2,"130":2,"148":2,"149":1,"151":3,"153":1,"159":11,"161":2,"162":9,"163":1,"165":2,"166":1,"167":4,"171":9}}],["replyperson做到暗骰的效果",{"2":{"165":1}}],["replyperson",{"0":{"127":1},"2":{"126":1,"127":1,"165":1}}],["replygroup",{"0":{"127":1},"2":{"126":1,"127":2}}],["reply",{"0":{"629":1},"2":{"104":1,"129":2,"311":1,"543":2,"599":4,"629":2,"719":1}}],["reversews",{"2":{"498":1}}],["reversewebsocket",{"2":{"490":1}}],["review",{"2":{"41":1,"44":2}}],["rec",{"2":{"738":1}}],["recover",{"2":{"356":1}}],["recordlist",{"2":{"498":1}}],["record",{"2":{"327":1,"430":1,"498":1}}],["recentdicesendtime",{"2":{"138":1}}],["rest",{"2":{"645":2}}],["restart",{"2":{"475":5,"520":1}}],["reset",{"2":{"448":1}}],["response",{"2":{"167":7}}],["resp",{"2":{"167":2}}],["result",{"2":{"150":1,"151":2,"162":2}}],["ret",{"2":{"147":3,"148":3,"149":3,"159":15,"161":3,"162":3,"166":3,"168":4,"171":3}}],["return",{"2":{"129":1,"147":2,"148":2,"149":2,"151":2,"153":2,"159":11,"161":3,"162":10,"165":5,"166":2,"167":3,"168":1,"171":3}}],["refreshgroupnum",{"2":{"140":1}}],["removed",{"2":{"162":2}}],["remove",{"2":{"126":1,"155":1,"156":1,"159":2}}],["read",{"2":{"356":1,"511":4}}],["readme",{"2":{"36":1,"490":1}}],["reasons",{"2":{"157":1}}],["reason",{"2":{"126":2,"155":2,"156":1}}],["relogin",{"2":{"596":1}}],["reload",{"2":{"126":1,"134":1,"596":1,"621":1,"628":1}}],["release",{"2":{"36":1,"465":1,"489":1,"497":1,"517":1}}],["releases",{"2":{"27":1,"28":1}}],["registerxxxconfig",{"2":{"170":1}}],["registeroptionconfig",{"2":{"126":1,"171":1}}],["registertemplateconfig",{"2":{"126":1,"171":1}}],["registerboolconfig",{"2":{"126":1,"171":1}}],["registerfloatconfig",{"2":{"126":1,"171":1}}],["registerintconfig",{"2":{"126":1,"171":1}}],["registerstringconfig",{"2":{"126":1,"171":1}}],["registerconfig",{"2":{"126":1,"170":2}}],["registerrule",{"2":{"126":1,"168":1}}],["register",{"2":{"126":2,"144":1,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"169":1,"171":2}}],["regex",{"2":{"101":2}}],["re2",{"2":{"101":1}}],["request",{"0":{"44":1},"2":{"40":1,"41":1,"44":1,"368":1}}],["reduct",{"2":{"495":1}}],["red",{"0":{"23":1},"2":{"23":2,"500":3}}],["kn",{"2":{"684":1}}],["kp",{"2":{"576":1}}],["kernel",{"2":{"481":1}}],["key=value",{"2":{"696":1}}],["key=$",{"2":{"167":1}}],["key>",{"2":{"171":1}}],["keywords=稻香",{"2":{"167":2}}],["keys",{"2":{"89":9,"93":1,"626":4}}],["key2",{"2":{"67":1}}],["key的值",{"2":{"9":1}}],["key",{"2":{"8":2,"9":1,"11":1,"64":1,"70":2,"77":1,"80":2,"82":4,"89":5,"100":3,"126":26,"160":5,"162":9,"163":4,"167":3,"168":1,"170":4,"171":2,"363":1,"696":2}}],["k",{"0":{"413":1},"1":{"414":1},"2":{"161":2,"609":2}}],["kwarg",{"2":{"142":2}}],["kwargs",{"2":{"142":1}}],["kiy",{"2":{"99":1}}],["kiytarot",{"2":{"99":1}}],["kook",{"0":{"456":1},"1":{"457":1,"458":1,"459":1},"2":{"50":1,"141":1,"456":1,"457":1,"458":4,"459":1,"519":1,"554":1,"690":1}}],["kritor",{"2":{"24":2}}],["vm",{"2":{"544":2}}],["vme50",{"2":{"316":1}}],["volumes",{"2":{"475":5}}],["v1",{"2":{"465":1}}],["v11",{"2":{"24":2,"416":2,"488":2,"490":1,"498":2}}],["vs",{"2":{"197":1}}],["vscode",{"2":{"29":1,"125":1,"190":1}}],["v",{"2":{"159":5,"161":2,"518":1}}],["vb",{"2":{"104":1}}],["valid",{"2":{"481":2}}],["val",{"2":{"147":2,"148":5,"149":5,"159":17,"161":3,"162":2,"166":2,"167":1,"171":4}}],["valuetoset",{"2":{"126":9}}],["value",{"2":{"64":1,"65":1,"70":2,"77":1,"85":1,"160":2,"162":2,"170":3,"171":1}}],["var",{"2":{"179":1}}],["varget",{"2":{"126":1}}],["varset",{"2":{"126":1}}],["vars",{"0":{"131":1},"2":{"126":6,"131":4}}],["va",{"2":{"104":1}}],["visible",{"2":{"93":2,"96":2}}],["virtualxposed",{"2":{"27":1}}],["v我50",{"2":{"316":1}}],["v我1个金币",{"2":{"84":1}}],["v我",{"2":{"84":2}}],["vue3",{"2":{"36":1}}],["versioning",{"2":{"188":1}}],["versioncode",{"2":{"136":1}}],["version",{"2":{"9":1,"69":2,"79":2,"80":6,"122":1,"126":3,"136":1,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"168":1,"171":1,"179":1,"187":1,"188":2,"194":3,"195":1,"201":1,"463":1}}],["开黑啦",{"2":{"456":1,"458":1}}],["开放平台",{"2":{"502":1,"504":1}}],["开放平台点击",{"2":{"453":1}}],["开放平台注册账号并申请个人开发者",{"2":{"452":1}}],["开放模拟器端口供海豹对接",{"0":{"29":1}}],["开关自定义回复",{"2":{"719":1}}],["开关骰子",{"2":{"719":1}}],["开关",{"2":{"346":1,"486":1}}],["开启对应扩展",{"2":{"654":1}}],["开启全部群",{"2":{"498":1}}],["开启性能模式",{"2":{"346":1}}],["开启回复调试日志",{"2":{"311":1}}],["开启后上报消息会携带一个raw字段",{"2":{"498":1}}],["开启后将回应频道消息",{"2":{"246":1}}],["开启后会对使用指令过快的用户和群组进行警告",{"2":{"244":1}}],["开启后",{"2":{"243":1,"705":1}}],["开启后在群聊中只有",{"2":{"241":1}}],["开启后只有",{"2":{"240":1}}],["开启此功能后只会通过邮件进行通知",{"2":{"233":1}}],["开启",{"2":{"216":1,"599":1,"629":1,"680":1}}],["开启云内容",{"2":{"96":1}}],["开始使用",{"0":{"553":1}}],["开始弃用此协议",{"2":{"500":1}}],["开始提供了内置客户端的连接方式",{"2":{"487":1}}],["开始菜单",{"2":{"440":1}}],["开始也是没有任何问题的",{"2":{"190":1}}],["开始游戏时",{"2":{"174":1}}],["开始计数",{"2":{"126":1}}],["开始到随后出现的第一个",{"2":{"75":1}}],["开始支持对接",{"2":{"502":1,"508":1}}],["开始支持对接钉钉",{"2":{"446":1}}],["开始支持",{"2":{"73":1}}],["开始",{"2":{"69":1,"193":1,"196":1,"486":1,"563":1}}],["开始适配了与",{"2":{"500":1}}],["开始适配了",{"2":{"24":1,"488":1,"500":1}}],["开头的命令",{"2":{"306":1}}],["开头的退群指令是什么",{"2":{"247":1}}],["开头的临时变量的存活周期仅为单次指令执行",{"2":{"201":1}}],["开头的东西",{"2":{"201":1}}],["开头的项不是必须的",{"2":{"80":1}}],["开头的行表示构成一个数组",{"2":{"79":1}}],["开头",{"2":{"64":1,"74":1,"76":1,"89":3,"146":1}}],["开列如下",{"2":{"50":1}}],["开发设置",{"2":{"504":1}}],["开发用于连接海豹的应用前",{"2":{"452":1}}],["开发组的开发者们会通过讨论进行回复",{"2":{"395":1}}],["开发组尽快满足这个需求或修复这个",{"2":{"395":1}}],["开发组于",{"2":{"24":1}}],["开发者平台",{"2":{"448":1,"457":1}}],["开发者们平时也通过",{"2":{"364":1}}],["开发者们和一众热心群友在各个用户群中为用户提供答疑",{"2":{"48":1}}],["开发者选项",{"2":{"32":1}}],["开发",{"2":{"36":1}}],["开源程序",{"2":{"362":1}}],["开源协议",{"2":{"188":1}}],["开源",{"0":{"4":1},"2":{"362":1}}],["客户端",{"2":{"426":1}}],["客户端上",{"2":{"24":1,"31":1}}],["客户端针对",{"2":{"24":1,"31":1}}],["为啥好像反应慢一拍",{"0":{"662":1}}],["为啥海豹不理我",{"0":{"654":1}}],["为设置法术位",{"2":{"645":1}}],["为指定属性设定",{"2":{"643":1}}],["为指定单位设定先攻值",{"2":{"633":1}}],["为指定角色设定先攻值",{"2":{"632":1}}],["为指令信息",{"2":{"149":1}}],["为机器人",{"2":{"623":1}}],["为大失败",{"2":{"593":1}}],["为大成功",{"2":{"593":2}}],["为原始消息内容",{"2":{"498":1}}],["为原生态的指令内容",{"2":{"149":1,"167":1}}],["为空则监听所有地址",{"2":{"498":2}}],["为空时为扫码",{"2":{"490":1}}],["为宿主机在",{"2":{"481":1}}],["为宿主机也分配了子网中的",{"2":{"481":1}}],["为你解决问题",{"2":{"379":1}}],["为提供此功能做出贡献",{"2":{"368":1}}],["为修复此",{"2":{"368":1}}],["为分组添加别名",{"0":{"294":1}}],["为分隔符",{"2":{"281":1}}],["为私聊发指令者的回复语的前缀",{"2":{"280":1}}],["为暗骰时发送到群内的回复语",{"2":{"280":1}}],["为每一单条中间的分隔符",{"2":{"278":1}}],["为什么要有这个指令",{"2":{"681":1}}],["为什么没有结果",{"2":{"575":1}}],["为什么没有默认的敏感词库",{"2":{"254":1}}],["为什么不能拍屏",{"0":{"363":1},"2":{"386":1,"387":1}}],["为什么我这么做会让骰子出现问题",{"2":{"379":1}}],["为什么我在",{"0":{"363":1},"2":{"386":1,"387":1}}],["为什么我的骰娘不发通知了",{"2":{"233":1}}],["为海豹核心运行的端口",{"2":{"245":1}}],["为处理某些平台通知频繁引起的问题",{"2":{"233":1}}],["为整个表达式的值",{"2":{"203":1}}],["为有一定经验的开发者准备的",{"2":{"191":1}}],["为配置项的类型",{"2":{"170":1}}],["为技能点数",{"2":{"168":1}}],["为出目",{"2":{"168":1}}],["为何要加一个",{"2":{"142":1}}],["为不放回抽取",{"2":{"150":1}}],["为不放回",{"2":{"126":1}}],["为放回抽取",{"2":{"150":1}}],["为放回",{"2":{"126":1}}],["为需要抽取的牌堆名",{"2":{"126":1}}],["为失败",{"2":{"126":1}}],["为成功",{"2":{"126":1}}],["为信息的",{"2":{"126":2}}],["为了避免意外触发",{"2":{"693":1}}],["为了尊重骰主的劳动成果",{"2":{"691":1}}],["为了使用这个指令",{"2":{"615":1}}],["为了使海豹在后台运行",{"2":{"334":1}}],["为了简单",{"2":{"598":1}}],["为了确保你不会获取到过时内容",{"2":{"557":1}}],["为了确保海豹核心不会在使用其他应用程序或手机熄屏时掉线",{"2":{"342":1}}],["为了允许海豹容器正常访问",{"2":{"477":1}}],["为了更方便地对数据进行存储",{"2":{"432":1}}],["为了帮助回答者分析定位问题",{"2":{"386":1}}],["为了海豹持续运行",{"2":{"347":1}}],["为了应付流氓软件",{"2":{"342":1}}],["为了方便插件作者编写插件",{"2":{"304":1}}],["为了方便在本组中查找到对应的条目",{"2":{"271":1}}],["为了给有能力的用户提供更大的自定义空间",{"2":{"299":1}}],["为了便于骰子读取增加相应的说明内容",{"2":{"259":1}}],["为了稳定性还是不要更改比较好",{"2":{"244":1}}],["为了在很多地方支持实现一些逻辑",{"2":{"200":1}}],["为了让插件作者无需反复说明",{"2":{"196":1}}],["为了防止直接使用",{"2":{"116":1}}],["为了实现骰子随机出招的效果",{"2":{"116":1}}],["为了你的疑问能够获得最快最好的解答",{"2":{"48":1}}],["为一个整体",{"2":{"110":1}}],["为一个单独的",{"2":{"68":1}}],["为后缀扩展名",{"2":{"80":3}}],["为扩展名的牌堆文件",{"2":{"69":1}}],["为例",{"2":{"42":1,"282":1,"694":1,"695":1}}],["为还不清楚怎么在",{"2":{"40":1}}],["为",{"2":{"23":1,"96":2,"126":2,"128":2,"438":1,"466":2,"572":1,"596":1}}],["支持携带参数",{"2":{"682":1}}],["支持每次抽取一个",{"2":{"677":1}}],["支持个人",{"2":{"663":1}}],["支持各种文本匹配和简易脚本",{"2":{"599":1}}],["支持单进程多号",{"2":{"545":1}}],["支持多种架构",{"2":{"517":1}}],["支持多个设置文件",{"2":{"311":1}}],["支持两种方式与海豹对接",{"2":{"495":1}}],["支持通过指令在每个群组中设置默认搜索分组",{"2":{"292":1}}],["支持相关的文案",{"2":{"269":2}}],["支持了在使用",{"2":{"190":1}}],["支持转义",{"2":{"66":1,"67":1}}],["支持",{"0":{"461":1,"508":1,"533":1,"664":1},"2":{"23":1,"24":1,"518":1,"542":1,"664":1,"712":1}}],["关联启动和后台活动",{"2":{"346":1}}],["关联合作者的",{"2":{"46":1}}],["关键字1|关键字2",{"2":{"695":2}}],["关键字可以多个",{"2":{"695":2}}],["关键字>",{"2":{"695":3}}],["关键字",{"2":{"309":1,"616":1,"695":2,"697":1,"719":1,"738":3}}],["关闭自动修改",{"0":{"709":1}}],["关闭自动回复等",{"2":{"144":1}}],["关闭另一个",{"2":{"694":1}}],["关闭功能",{"2":{"680":1}}],["关闭防火墙",{"2":{"659":1}}],["关闭本群的自定义回复功能",{"2":{"629":1}}],["关闭扩展",{"2":{"599":1}}],["关闭指定扩展",{"2":{"599":1}}],["关闭了骰子",{"2":{"700":1}}],["关闭了",{"2":{"551":1}}],["关闭你的电脑海豹",{"2":{"551":1}}],["关闭你的超级用户权限",{"2":{"26":1}}],["关闭dnd5e系列指令",{"2":{"543":1}}],["关闭抽牌",{"2":{"543":1}}],["关闭关键字回复",{"2":{"543":1}}],["关闭对应扩展会连同扩展带来的指令一块关闭",{"2":{"543":1}}],["关闭正向连接开关",{"2":{"495":1}}],["关闭其他未在使用的进程或更换资源更为充足的平台来解决问题",{"2":{"361":1}}],["关闭其",{"2":{"346":1}}],["关闭后不回应戳一戳",{"2":{"239":1}}],["关闭",{"2":{"144":1,"185":1,"543":2}}],["关闭应用程序是更好的选择",{"2":{"22":1}}],["关闭应用进程跟直接退出应用程序差别不大",{"2":{"22":1}}],["关于自定义回复功能的一般性介绍",{"2":{"629":1}}],["关于牌堆功能的一般性介绍",{"2":{"625":1}}],["关于一些小白常见的问题",{"2":{"365":1,"375":1,"397":1}}],["关于特定的名词术语解释",{"2":{"357":1,"365":1,"375":1}}],["关于如何高效地进行搜索可以参考",{"2":{"382":1}}],["关于如何快速学习相关背景知识",{"2":{"357":1,"375":1,"397":1}}],["关于如何正确地提问",{"2":{"357":1,"365":1,"397":1}}],["关于备份",{"0":{"214":1}}],["关于取出数据来修改的函数",{"2":{"163":1}}],["关于黑名单用户",{"2":{"152":1}}],["关于白名单用户",{"2":{"152":1}}],["关于手机",{"2":{"32":1}}],["关于",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1},"2":{"160":2}}],["进阶",{"2":{"257":1,"266":1,"283":1,"287":1,"297":1,"305":1,"307":1,"321":1}}],["进阶介绍",{"0":{"123":1},"1":{"124":1,"125":1},"2":{"53":1,"624":1}}],["进阶自定义",{"0":{"53":1}}],["进入新的目录",{"2":{"666":1}}],["进入后点击",{"2":{"659":1}}],["进入下一轮",{"2":{"609":1,"610":1}}],["进入机器人管理后台",{"2":{"504":1}}],["进入位于列表最前一条的最新制品页面",{"2":{"489":1}}],["进入海豹",{"2":{"487":1,"491":1,"499":1}}],["进入应用管理后",{"2":{"343":1}}],["进入群组",{"2":{"232":1,"663":1}}],["进入批量删除页面",{"2":{"220":1}}],["进入",{"2":{"44":1,"495":1}}],["进入勾选",{"2":{"28":1}}],["进行优势或劣势检定",{"2":{"640":1}}],["进行豁免检定",{"2":{"640":1}}],["进行双十字骰点需要设定以下参数",{"2":{"610":1}}],["进行",{"0":{"722":1,"727":1},"1":{"723":1,"724":1,"725":1,"726":1,"728":1,"729":1,"730":1,"731":1,"732":1,"733":1},"2":{"609":1}}],["进行技能成长",{"0":{"588":1}}],["进行一次死亡豁免检定",{"2":{"651":1}}],["进行一次检定",{"2":{"578":1}}],["进行一次骰点",{"2":{"252":2}}],["进行运算",{"2":{"577":1}}],["进行暗中代骰",{"2":{"576":1}}],["进行了3次检定",{"2":{"570":1,"574":1}}],["进行检定",{"0":{"569":1},"2":{"571":1,"572":1,"640":1}}],["进行检查",{"2":{"252":1}}],["进行实名注册后",{"2":{"504":1}}],["进行申请",{"2":{"502":1,"504":1}}],["进行配置",{"2":{"498":1}}],["进行连接",{"2":{"486":1}}],["进行编译",{"2":{"463":1}}],["进行编写",{"2":{"399":1}}],["进行对接",{"2":{"461":1}}],["进行搜索",{"2":{"369":1}}],["进行阅读",{"2":{"321":1}}],["进行多轮骰点时",{"2":{"280":1}}],["进行操作",{"2":{"238":1}}],["进行手动批量删除",{"2":{"220":1}}],["进行开发",{"2":{"178":1}}],["进行网络请求",{"2":{"167":1}}],["进行回复",{"2":{"148":1,"149":1,"280":1}}],["进行赋值导致的变量显示",{"2":{"116":1}}],["进行判断",{"2":{"110":1}}],["进行测试",{"2":{"108":1}}],["进行抽取",{"2":{"86":1,"89":3}}],["进行使用即代表同意此声明",{"2":{"46":1}}],["进行同步",{"2":{"45":1}}],["进行在线编辑",{"2":{"43":1}}],["进行登录",{"2":{"10":1}}],["进度条完成",{"2":{"42":1}}],["进程存活",{"2":{"34":1}}],["进程和",{"2":{"34":1}}],["进程",{"2":{"34":1}}],["进程不能轻易关闭",{"2":{"22":1}}],["那代价是什么呢",{"2":{"618":1}}],["那些已经描述过的且未发生改变的信息没有必要再重复一遍",{"2":{"392":1}}],["那常备翻译器显然是一个好选择",{"2":{"367":1}}],["那就再说一遍",{"2":{"392":1}}],["那就不要强行加入这个要素",{"2":{"384":1}}],["那就有可能是由内存不足引起的",{"2":{"361":1}}],["那就把牌堆打包成可以在海豹",{"2":{"88":1}}],["那是因为你的",{"2":{"212":1}}],["那么配置正确",{"2":{"659":1}}],["那么强烈建议你在",{"2":{"440":1}}],["那么强烈建议你下载并安装",{"2":{"440":1}}],["那么此时问题所对应的日志通常位于页面底端",{"2":{"387":1}}],["那么请尽可能详细地描述你遇到的困境",{"2":{"385":1}}],["那么请尽可能清晰完整地描述你想实现的功能",{"2":{"385":1}}],["那么请使用英文进行搜索",{"2":{"369":1}}],["那么请使用",{"2":{"369":1}}],["那么认真读完本节也足够你在海豹用户群中问出一个好问题",{"2":{"377":1}}],["那么可能你很快就能达成一开始的目的",{"2":{"372":1}}],["那么可以去插件仓库看一看",{"2":{"546":1}}],["那么可以按照本页后续的内容",{"2":{"368":1}}],["那么可以用",{"2":{"147":1}}],["那么当你最终回到一开始的目的",{"2":{"371":1}}],["那么就需要电脑保持开启的状态",{"2":{"403":1}}],["那么就有更大的概率直接检索到问题的解决方案",{"2":{"369":1}}],["那么就会试着捕捉张三",{"2":{"166":1}}],["那么在国内众多的内容平台中",{"2":{"369":1}}],["那么必应",{"2":{"369":1}}],["那么说明你需要的功能目前尚未实现",{"2":{"368":1}}],["那么很有可能你遇到的是此项目的已知问题",{"2":{"368":1}}],["那么不免会对本手册中的大量概念感到陌生",{"2":{"366":1}}],["那么有可能出现海豹核心突然中断运行的情况",{"2":{"361":1}}],["那么点击左侧",{"2":{"270":1}}],["那么你就需要修改自定义文案",{"2":{"268":1}}],["那么你只需要将该路径填入",{"2":{"32":1}}],["那么目前是无法使用这些语言编写海豹插件的",{"2":{"199":1}}],["那么",{"0":{"176":1},"2":{"358":1,"520":1}}],["那么重复以上过程直到积分小于",{"2":{"174":1}}],["那么多的匹配方法",{"2":{"169":1}}],["那么命名为默认值",{"2":{"146":1,"149":1}}],["那么文案中将海豹命名为",{"2":{"146":1,"149":1}}],["那么建立扩展",{"2":{"144":1}}],["那么这个牌组将不导出",{"2":{"89":2}}],["那么这个牌组将不会暴露在",{"2":{"89":1}}],["那里会出现数字",{"2":{"22":1}}],["那样骰子也可以证明自己是正常人了",{"2":{"21":1}}],["崩溃闪退可能的一种情况",{"0":{"22":1}}],["对技能进行一次成长",{"2":{"726":1}}],["对方id",{"2":{"679":1}}],["对生命值的特殊支持",{"2":{"638":1}}],["对先攻点数设置如下",{"2":{"632":6}}],["对指定的技能分别进行一次成长检定",{"2":{"588":1}}],["对指定分组的搜索需要有意义的分组名",{"2":{"293":1}}],["对手技能",{"2":{"719":1}}],["对手的属性表达式",{"2":{"579":1}}],["对手",{"2":{"578":1,"579":1,"719":1}}],["对抗检定也是近战的标准处理方式",{"2":{"577":1}}],["对抗检定",{"0":{"577":1},"1":{"578":1,"579":1,"580":1},"2":{"719":1}}],["对抗暗夜的恐怖",{"2":{"558":1}}],["对抗等",{"2":{"502":1}}],["对功能有新想法",{"2":{"554":1}}],["对内容中的一些名词完全不理解",{"2":{"516":1}}],["对接内置客户端",{"2":{"486":1}}],["对接引导",{"0":{"486":1}}],["对接海豹",{"0":{"35":1}}],["对回答问题者表现出友善和配合的态度",{"0":{"394":1}}],["对回答者表示感谢是最基本的礼貌",{"2":{"391":1}}],["对你来说都不再有任何困难",{"2":{"371":1}}],["对文案的修改建议及时保存",{"2":{"270":1}}],["对比弹窗的右上角可以控制显示的样式",{"2":{"264":1,"303":1}}],["对速率限制的所有更改",{"2":{"244":1}}],["对海豹提供的",{"2":{"190":1}}],["对扩展的功能的描述",{"2":{"188":1}}],["对这个指令启用使用代骰功能",{"2":{"166":1}}],["对其赋值",{"2":{"115":1}}],["对词条的简述",{"2":{"100":1}}],["对象进行修改后",{"2":{"170":1}}],["对象的类型定义如下",{"2":{"170":1}}],["对象转换为",{"2":{"160":1}}],["对象和数组的最后一个键值对和元素后带有逗号",{"2":{"69":1}}],["对象",{"0":{"72":1,"78":1},"2":{"68":1,"70":1,"126":3,"136":1,"137":3,"141":1,"157":1,"158":1,"160":1,"170":2}}],["对目标仓库进行",{"0":{"42":1}}],["对应的数据目录路径是",{"2":{"518":1}}],["对应的回复词",{"2":{"275":1}}],["对应的群组和邀请人会按",{"2":{"227":1}}],["对应的选项名需要完全一致",{"2":{"93":1}}],["对应",{"2":{"142":1}}],["对应想要修改的仓库",{"2":{"41":1,"42":1}}],["对应原代码仓库也已删除",{"2":{"7":1}}],["对于这样的扩展规则",{"2":{"707":1}}],["对于这里",{"2":{"615":1}}],["对于海豹日志染色器",{"2":{"704":1}}],["对于海豹核心的日志界面中",{"0":{"360":1}}],["对于已经解散",{"2":{"703":1}}],["对于绝大多数情况",{"2":{"681":1}}],["对于绝大多数用户来说",{"2":{"517":1}}],["对于大部分有公网",{"2":{"657":1}}],["对于大多数情况",{"2":{"355":1}}],["对于与",{"2":{"623":1}}],["对于内置的帮助文档",{"2":{"616":1}}],["对于内存不足的情况",{"2":{"359":1}}],["对于百分骰的一种补偿骰法",{"2":{"605":1}}],["对于群组",{"2":{"597":1}}],["对于每个群组",{"2":{"700":1}}],["对于每个用户",{"2":{"597":1}}],["对于每一个自定义回复文件",{"2":{"311":1}}],["对于对抗检定",{"2":{"587":1}}],["对于需要使用更加灵活的方案的用户",{"2":{"486":1}}],["对于屏幕前或许没有编程经验的你",{"2":{"379":1}}],["对于如何提",{"2":{"364":1}}],["对于了解正则表达式的用户",{"2":{"317":1}}],["对于资料查询",{"2":{"291":1}}],["对于一些邮箱",{"2":{"235":1}}],["对于一个合适的指令",{"2":{"176":1}}],["对于以下内容",{"2":{"175":1}}],["对于正则表达式匹配的完整内容将被存储于变量",{"2":{"105":1}}],["对于正则表达式中的捕获组",{"2":{"105":1}}],["对于提供了云端内容的牌堆",{"2":{"94":1}}],["对于在看这个界面的你来说",{"2":{"22":1}}],["对于",{"0":{"22":1},"2":{"176":1,"245":1,"270":1,"275":1,"278":1,"662":1,"705":1}}],["让使用者成为观众",{"2":{"704":1}}],["让手机跟服务器真的处于同一个网络",{"0":{"659":1}}],["让海豹",{"2":{"657":1}}],["让你想咕就咕",{"2":{"526":1}}],["让回答者清晰地知道你的操作流程",{"2":{"379":1}}],["让",{"2":{"268":1}}],["让我们从最简单的扩展开始",{"2":{"187":1}}],["让它识别是不是人",{"2":{"21":1}}],["让他人帮助你滑条",{"2":{"18":1}}],["有若干个日志记录和一个当前日志",{"2":{"700":1}}],["有概率直接上号",{"2":{"660":1}}],["有几种办法",{"2":{"658":1}}],["有可能是没有开启正确的扩展",{"2":{"694":1}}],["有可能使骰子失联",{"2":{"596":1}}],["有可能找到你问题的答案",{"2":{"381":1}}],["有关",{"0":{"485":1}}],["有关的部分",{"2":{"416":1,"418":1,"425":1}}],["有两种解决方案",{"2":{"480":1}}],["有足够的了解",{"2":{"473":1}}],["有趣的世界",{"2":{"366":1}}],["有没有更简单的方式给骰子编写功能呢",{"2":{"309":1}}],["有黑名单用户在其他群尝试使用骰子时",{"2":{"227":1}}],["有更复杂的指定依赖版本需求",{"2":{"194":1}}],["有的话可以替换到你的项目中",{"2":{"184":1}}],["有时原作者也会对其进行更新",{"2":{"369":1}}],["有时候不会在控制台调试面板上显示出来",{"2":{"187":1}}],["有时",{"2":{"184":1}}],["有时会给你提出一些修改建议",{"2":{"44":1}}],["有什么功能",{"0":{"175":1}}],["有一些云端内容的相关配置项",{"2":{"96":1}}],["有其他含义",{"2":{"91":1}}],["有多个更新链接时",{"2":{"90":1}}],["有多个作者时可以使用",{"2":{"80":1}}],["有能力的牌堆作者可以配置更新链接",{"2":{"90":1}}],["有能力的用户可以自行搭建服务",{"2":{"9":1}}],["有",{"2":{"85":1,"188":1}}],["有些插件提供的扩展规则也定义了名片模板",{"2":{"707":1}}],["有些不妙",{"2":{"651":1}}],["有些情况",{"2":{"577":1}}],["有些变量可以在所有文案中使用",{"2":{"283":1}}],["有些词条下面有这样的内容",{"2":{"283":1}}],["有些时候",{"2":{"193":1}}],["有些值可以跨多行",{"2":{"65":1}}],["有些调过设置了的会出现占用的运行内存占可用运行内存的百分比",{"2":{"22":1}}],["有提及",{"2":{"34":1}}],["有难度的操作",{"2":{"24":1,"31":1}}],["有内置的签名程序",{"2":{"21":1}}],["等功能",{"2":{"690":1}}],["等功能无法正常工作",{"2":{"510":1}}],["等额外指令",{"2":{"673":1}}],["等指令是不会回应的",{"2":{"654":1}}],["等指令以及",{"2":{"201":1}}],["等价",{"2":{"568":1}}],["等价于",{"2":{"126":1}}],["等等各种写法",{"2":{"522":1}}],["等多个文件",{"2":{"490":1}}],["等多项功能",{"2":{"1":1}}],["等提供的",{"2":{"490":1}}],["等命令查看",{"2":{"481":1}}],["等一系列的文件并创建文件夹",{"2":{"464":1}}],["等程序时",{"2":{"440":1}}],["等不同的等级",{"2":{"430":1}}],["等插件",{"2":{"426":1}}],["等符号",{"2":{"421":1}}],["等符号会作为海豹中指令的前缀",{"2":{"105":1}}],["等回复语",{"2":{"278":1}}],["等对应的回复词",{"2":{"277":1}}],["等开头的消息",{"2":{"252":1}}],["等基于",{"2":{"239":1,"485":1}}],["等任何情况",{"2":{"201":1}}],["等与",{"2":{"199":1}}],["等与事件循环相关的函数",{"2":{"187":1}}],["等工具对海豹核心的内存使用量和占用比例进行监测",{"2":{"361":1}}],["等工具编写时",{"2":{"190":1}}],["等工具的使用知识",{"2":{"177":1,"191":1}}],["等异步编程友好的特性",{"2":{"187":1}}],["等项目描述信息",{"2":{"179":1}}],["等效于",{"2":{"149":1}}],["等平台见到",{"2":{"141":1}}],["等于劣势骰",{"2":{"606":1}}],["等于",{"2":{"110":5}}],["等",{"2":{"105":1,"124":1,"125":1,"187":1,"188":1,"200":1,"336":1,"358":1,"362":1,"363":1,"486":1,"489":1,"517":1,"543":1,"657":1}}],["等词",{"2":{"100":1}}],["等号和值必须在同一行",{"2":{"65":1}}],["等待状态变为",{"2":{"487":1}}],["等待服务器保存并关闭",{"2":{"464":1}}],["等待",{"2":{"42":1}}],["等待开发组进行",{"2":{"44":1}}],["等待开发组",{"2":{"41":1}}],["等待一会",{"2":{"33":1}}],["等待安装完成即可",{"2":{"27":1}}],["等其他程序",{"2":{"20":1}}],["6=106",{"2":{"602":1}}],["644",{"2":{"550":1}}],["64",{"2":{"481":1,"517":1,"611":1,"631":1}}],["6g",{"2":{"464":1}}],["65",{"2":{"590":2}}],["65535",{"2":{"409":1}}],["6544",{"2":{"35":2}}],["60",{"2":{"137":1,"152":1,"153":1,"556":2,"582":2,"585":2,"590":3}}],["62828",{"2":{"29":1}}],["62028",{"2":{"29":2}}],["6",{"0":{"20":1},"2":{"46":1,"84":1,"126":1,"171":2,"196":2,"201":1,"213":1,"337":1,"462":1,"536":1,"556":1,"602":1,"605":2,"606":1,"607":2,"611":3,"631":1,"638":2,"640":1,"643":3,"684":1,"688":1}}],["多数情况下",{"2":{"695":1}}],["多项式",{"2":{"611":1}}],["多开指同时运行多个海豹核心",{"2":{"545":1}}],["多号指每个骰子上连接多个帐号",{"2":{"545":1}}],["多试验几次来找到最适合你设备的策略",{"2":{"342":1}}],["多轮骰点",{"0":{"603":1}}],["多轮检定",{"0":{"570":1}}],["多轮",{"2":{"275":1,"280":1}}],["多重条件算符",{"0":{"210":1}}],["多条件条件语句",{"0":{"116":1}}],["多行回复的错误使用",{"0":{"114":1}}],["多行换行符中",{"2":{"67":1}}],["多次抽取指令",{"2":{"83":1}}],["多次点击软件版本号",{"2":{"32":1}}],["多出一个逗号也是可以的",{"2":{"69":1}}],["多套文案的实现一般需要用到",{"2":{"57":1}}],["多套文案的实现",{"0":{"57":1},"1":{"58":1,"59":1,"60":1}}],["多复制了",{"2":{"17":1}}],["多个收件邮箱用空格隔开",{"2":{"702":1}}],["多个群",{"2":{"498":1}}],["多个回复结果将",{"2":{"319":1}}],["多个语句可以用",{"2":{"203":1}}],["多个",{"2":{"15":1,"122":1}}],["4环3个",{"2":{"645":1}}],["4环",{"2":{"645":1}}],["4c3m7=",{"2":{"610":1}}],["4d6dh1=",{"2":{"607":1}}],["4d6dl1=",{"2":{"607":1}}],["4d6k3=",{"2":{"602":1}}],["4d6k3",{"2":{"602":1,"638":6}}],["485",{"2":{"590":1}}],["4=1",{"2":{"544":1}}],["4+2d10",{"2":{"544":1}}],["4+5",{"2":{"95":1,"96":2}}],["4+514",{"2":{"95":1,"96":2}}],["4+51",{"2":{"95":1,"96":3}}],["49=78",{"2":{"611":1}}],["49=30",{"2":{"611":1}}],["49",{"2":{"544":1}}],["42",{"2":{"481":2}}],["443",{"2":{"409":1}}],["41",{"2":{"201":1,"209":1}}],["4001",{"2":{"495":1}}],["40",{"2":{"137":1,"152":1,"153":1,"209":3,"211":2,"356":1,"524":1,"569":1,"570":3,"572":1,"590":1}}],["4",{"0":{"17":1,"52":1},"2":{"24":2,"29":1,"35":1,"46":1,"80":3,"84":1,"95":1,"96":5,"119":3,"122":1,"126":5,"168":1,"171":3,"188":1,"194":4,"196":5,"201":1,"207":1,"248":1,"318":1,"337":1,"464":3,"544":2,"593":1,"605":2,"607":2,"608":1,"609":2,"610":1,"611":3,"616":1,"640":2,"642":1,"645":4,"662":1,"684":3}}],["456",{"2":{"126":1,"171":1}}],["45",{"0":{"16":1},"2":{"65":1,"96":2,"574":3,"590":2}}],["升级版本",{"2":{"16":1}}],["已设置",{"2":{"633":1}}],["已连接",{"2":{"487":1}}],["已知护眼模式可能会导致海豹核心意外关闭",{"2":{"347":1}}],["已启用",{"2":{"311":2,"598":1}}],["已经设置了先攻列表的情况",{"2":{"633":1}}],["已经基本不可用",{"2":{"485":1}}],["已经就绪",{"2":{"282":1}}],["已经成功注入了",{"2":{"28":1}}],["已修改过的文案",{"2":{"271":1}}],["已备份文件",{"2":{"220":1}}],["已切换至规则文本",{"2":{"168":1}}],["已移除第$",{"2":{"162":1}}],["已添加第$",{"2":{"162":1}}],["已信任用户",{"2":{"159":1}}],["已解除拉黑",{"2":{"159":1}}],["已拉黑用户",{"2":{"159":1}}],["已有详细示例",{"2":{"132":1,"133":1}}],["已于",{"2":{"24":1}}],["已停止更新",{"2":{"24":1}}],["已停止维护",{"2":{"6":1,"7":1}}],["已无法使用",{"2":{"24":1,"31":1}}],["已发现",{"2":{"24":1,"31":1}}],["已失效",{"2":{"16":1}}],["该链接仍然可以使用",{"2":{"702":1}}],["该骰发出的指令和消息",{"2":{"661":1}}],["该骰发指令",{"2":{"661":1}}],["该解锁码仅能通过",{"2":{"596":1}}],["该方式下的",{"2":{"490":1}}],["该方案也是前言中提到的非官方机器人",{"2":{"487":1}}],["该方案可用性由",{"2":{"485":1}}],["该方法会在未来逐渐失效",{"2":{"7":1}}],["该",{"2":{"485":1}}],["该权限允许",{"2":{"472":1}}],["该指令用于设置与海豹连接的端口",{"2":{"470":1}}],["该回复项就会发送几条消息",{"2":{"319":1}}],["该环境目前支持了",{"2":{"187":1}}],["该条件得到满足",{"2":{"105":1}}],["该规范与其他规范在个别扩展语法上存在细微差别",{"2":{"101":1}}],["该牌组的项",{"2":{"93":1}}],["该牌组是否可见",{"2":{"93":1}}],["该版本",{"2":{"16":1}}],["重置默认值为",{"2":{"684":1}}],["重置角色名",{"2":{"614":1}}],["重试",{"2":{"660":1}}],["重复进行计算",{"2":{"609":1}}],["重复进行指定次数的相同检定",{"2":{"570":1}}],["重载",{"2":{"302":1}}],["重载过程需要一定时间",{"2":{"292":1}}],["重载帮助文档",{"2":{"292":2}}],["重载牌堆",{"2":{"261":2}}],["重载拦截",{"2":{"254":1}}],["重名就可以了",{"2":{"160":1}}],["重新获取日志",{"2":{"719":1}}],["重新获取指定日志的染色器链接",{"2":{"702":1}}],["重新进行登录流程了",{"2":{"659":1}}],["重新装载帮助文档",{"2":{"621":1}}],["重新启动海豹",{"2":{"672":1}}],["重新启动海豹核心",{"2":{"596":1}}],["重新启动容器",{"2":{"477":1}}],["重新启动你的模拟器",{"2":{"26":1}}],["重新添加",{"2":{"458":1}}],["重新设计了用户界面的",{"2":{"426":1}}],["重新计算",{"2":{"253":1}}],["重新加载牌堆",{"2":{"126":1,"134":1,"596":1,"628":1}}],["重新配置",{"2":{"19":1}}],["重新登录",{"2":{"16":1,"17":1}}],["重启海豹",{"2":{"487":1}}],["重启骰子后生效",{"2":{"245":1}}],["重启骰子后重新计时",{"2":{"242":1}}],["重启后生效",{"2":{"244":1}}],["重启",{"2":{"16":1}}],["没事",{"2":{"157":1}}],["没连上",{"2":{"16":1}}],["没有设置hpmax",{"2":{"649":1}}],["没有提供",{"2":{"523":1}}],["没有提示",{"2":{"190":1}}],["没有界面",{"2":{"496":1}}],["没有相关权限",{"2":{"349":1}}],["没有专门的布尔类型",{"2":{"202":1}}],["没有则可以填海豹官方插件仓库",{"2":{"188":1}}],["没有被自动提示",{"0":{"184":1}}],["没有传入参数时的代码",{"2":{"147":1}}],["没有参数",{"2":{"126":1}}],["没有实际作用",{"2":{"122":1}}],["没有选项",{"2":{"12":1}}],["没有可以不填",{"2":{"11":1}}],["没有特殊设置的话",{"2":{"8":1}}],["34",{"2":{"659":1}}],["3456",{"2":{"409":1}}],["3环5个",{"2":{"645":1}}],["3环",{"2":{"645":3}}],["3=22",{"2":{"632":1}}],["3=18",{"2":{"632":1}}],["384d20=3941",{"2":{"611":1}}],["386",{"2":{"9":1}}],["3941",{"2":{"611":1}}],["35",{"2":{"578":1}}],["3+2",{"2":{"544":1}}],["33d24=384",{"2":{"611":1}}],["33ff",{"2":{"481":1}}],["33",{"2":{"481":1,"640":2}}],["3339",{"2":{"65":1,"122":2}}],["3s",{"2":{"244":1}}],["324",{"2":{"613":1}}],["3212",{"2":{"337":1}}],["3211",{"2":{"245":1,"337":1,"409":3,"438":2,"475":6,"518":4,"657":2,"666":2}}],["32",{"2":{"187":1,"487":1,"517":3}}],["31",{"2":{"161":1}}],["30尺",{"2":{"527":1}}],["30000",{"2":{"498":1}}],["3000",{"2":{"498":1}}],["3001",{"2":{"495":2,"498":1,"499":1}}],["30=",{"2":{"270":2}}],["30信任",{"2":{"157":1}}],["30禁止",{"2":{"157":1}}],["30",{"2":{"122":2,"152":1,"153":1,"159":2,"188":1,"210":1,"242":1,"464":1,"486":1,"544":1,"596":1,"611":1,"632":2}}],["3>",{"2":{"110":1}}],["3",{"0":{"16":1,"51":1},"2":{"46":1,"83":2,"84":1,"95":1,"96":3,"110":1,"119":3,"126":2,"130":1,"142":1,"147":1,"168":1,"171":3,"173":1,"201":1,"203":2,"205":3,"244":3,"337":1,"353":1,"356":3,"498":1,"544":7,"574":1,"578":1,"593":1,"602":3,"605":1,"607":4,"609":6,"611":6,"632":2,"638":1,"643":2,"645":6,"651":2,"659":1,"660":1,"681":1,"684":2}}],["盘之外的路径",{"2":{"32":1}}],["盘",{"2":{"15":2,"32":1}}],["闪退",{"0":{"15":1}}],["ob",{"0":{"704":1},"2":{"704":4}}],["object",{"2":{"161":1}}],["o",{"2":{"669":1}}],["oracle",{"2":{"657":1}}],["org",{"2":{"490":1}}],["over",{"2":{"638":1}}],["overflow",{"2":{"369":1}}],["october",{"2":{"620":1}}],["oauth",{"2":{"511":4}}],["oauth2",{"2":{"450":1}}],["osx",{"2":{"489":2}}],["our",{"2":{"464":1}}],["output",{"2":{"356":1,"463":1}}],["omitempty",{"2":{"170":3}}],["oick",{"2":{"167":1}}],["ok",{"2":{"167":2,"659":1}}],["off",{"2":{"238":2,"243":1,"252":2,"543":6,"598":1,"599":2,"700":2,"709":1,"719":3}}],["of",{"0":{"713":1},"2":{"161":1,"558":1,"713":1}}],["owner",{"2":{"153":1}}],["on|off",{"2":{"599":1,"629":2,"680":1}}],["on",{"0":{"360":1},"2":{"238":2,"465":1,"543":1,"599":2,"654":1,"664":1,"700":2,"719":3}}],["onnotcommandreceived",{"2":{"169":2}}],["onlinetotaltime",{"2":{"140":1}}],["onebot",{"2":{"24":3,"416":3,"475":3,"488":3,"490":4,"493":1,"498":2,"518":2}}],["onebot11反向ws",{"2":{"35":1,"495":1}}],["onebot11正向ws",{"2":{"30":1,"491":1,"495":1,"499":1}}],["onebot11",{"2":{"12":1,"498":3}}],["op",{"2":{"470":1}}],["optval",{"2":{"171":2}}],["optstr",{"2":{"162":8}}],["optional",{"2":{"463":1}}],["option",{"2":{"93":1,"126":2,"162":7,"163":3,"170":4}}],["options",{"2":{"93":3,"96":5,"162":13,"163":3,"171":1}}],["openshamrock",{"2":{"24":1}}],["open",{"2":{"12":1,"362":1}}],["结束并获取日志",{"2":{"719":1}}],["结束当前的回合",{"2":{"633":1}}],["结束进程",{"2":{"11":1}}],["结尾",{"2":{"514":1}}],["结尾的包",{"2":{"27":1}}],["结尾的",{"2":{"12":1}}],["结语",{"0":{"374":1,"396":1}}],["结构与收到消息的",{"2":{"126":1,"136":1}}],["结果为",{"2":{"570":1,"574":1,"642":1}}],["结果会在这些文本中",{"2":{"319":1}}],["结果有两行文案",{"2":{"270":1}}],["结果中调用变量",{"2":{"109":1}}],["结果",{"2":{"102":1,"278":6,"315":1}}],["welcome",{"0":{"680":1},"2":{"673":1,"680":3}}],["webui",{"0":{"438":1,"657":1,"672":1},"2":{"187":2,"214":1,"245":1,"247":1,"248":1,"322":3,"324":1,"340":1,"361":1,"387":1,"409":2,"430":1,"438":4,"498":1,"518":3,"525":1,"543":1,"596":4,"616":1,"654":1,"656":1,"657":4,"659":1,"663":1,"664":1}}],["webapi",{"2":{"186":1}}],["web",{"2":{"94":1,"187":1,"487":1,"491":1,"499":1}}],["websocket",{"2":{"12":1,"490":2,"498":1}}],["ww",{"0":{"684":1},"2":{"546":1,"684":5,"719":1}}],["wod",{"0":{"609":1,"684":1},"2":{"546":1,"609":2,"713":2,"719":1}}],["workspace",{"2":{"511":1}}],["workplace",{"2":{"511":1}}],["words",{"2":{"121":1,"122":2}}],["world",{"0":{"713":1},"2":{"77":1,"187":3,"713":1}}],["write",{"2":{"511":6}}],["w",{"0":{"436":1},"1":{"437":1,"438":1,"439":1,"440":1}}],["who",{"0":{"737":1},"2":{"543":1,"737":1}}],["why",{"2":{"379":1}}],["when",{"2":{"379":1}}],["where",{"2":{"356":6,"379":1}}],["what",{"2":{"371":1,"379":1}}],["whitespace",{"2":{"371":2}}],["wq",{"2":{"128":1}}],["walleq",{"2":{"126":2}}],["warning",{"2":{"121":1,"122":1,"372":1,"430":1,"490":1,"492":1}}],["wifi",{"0":{"658":1},"1":{"659":1,"660":1},"2":{"659":1}}],["wip",{"2":{"501":1}}],["wiki",{"2":{"244":1,"299":1}}],["with",{"2":{"69":2}}],["winscp",{"2":{"386":1}}],["winrar",{"2":{"358":1}}],["win",{"2":{"32":2,"489":1}}],["window",{"2":{"32":2}}],["windows",{"0":{"439":1,"440":1,"666":1,"667":1},"1":{"667":1},"2":{"9":1,"22":1,"32":2,"88":1,"125":1,"353":1,"356":2,"361":1,"386":1,"389":1,"403":2,"416":1,"423":5,"433":1,"439":1,"440":6,"462":1,"487":4,"488":1,"489":1,"517":3,"657":1,"659":3,"666":1}}],["wsport",{"2":{"499":1}}],["ws心跳间隔",{"2":{"498":1}}],["ws",{"2":{"12":2,"28":1,"35":5,"409":1,"475":1,"478":2,"490":2,"491":3,"495":4,"498":6,"499":3}}],["07",{"2":{"465":3}}],["01",{"2":{"464":1}}],["02",{"2":{"162":1,"481":1}}],["08",{"2":{"65":2,"80":4}}],["0",{"0":{"48":1},"2":{"23":6,"24":3,"29":4,"31":1,"32":1,"58":1,"59":1,"80":5,"104":1,"108":1,"122":2,"126":2,"144":4,"149":4,"151":4,"152":2,"153":4,"157":1,"159":4,"161":5,"162":11,"165":4,"166":4,"168":3,"171":4,"187":2,"188":4,"194":14,"195":6,"201":2,"202":1,"207":2,"210":1,"245":6,"248":1,"338":1,"409":8,"462":1,"465":1,"466":7,"477":9,"481":9,"482":2,"490":6,"491":2,"492":3,"495":2,"498":4,"499":4,"500":5,"544":3,"568":1,"572":1,"579":1,"583":1,"589":1,"593":1,"599":1,"608":4,"609":1,"622":1,"626":2,"638":40,"643":6,"649":1,"651":4,"657":5,"659":8,"662":2,"667":3,"668":2,"688":1,"724":1}}],["00",{"2":{"12":4,"464":2,"465":6,"466":2}}],["06",{"2":{"12":2}}],["05",{"2":{"12":2}}],["哔哩哔哩",{"2":{"12":1}}],["目标",{"2":{"679":1}}],["目标依赖的版本号需要符合",{"2":{"194":1}}],["目标海豹版本",{"0":{"196":1},"2":{"188":1}}],["目光短浅",{"2":{"99":1}}],["目录寻找日志的文件快照",{"2":{"702":1}}],["目录来提速",{"2":{"669":1}}],["目录替换这里面的",{"2":{"551":1}}],["目录发送到手机上",{"2":{"551":1}}],["目录以你习惯的任何方式打包",{"2":{"549":1}}],["目录中的内容",{"2":{"475":1,"549":1}}],["目录中复制出来",{"2":{"356":1}}],["目录分别挂载到",{"2":{"475":1}}],["目录分别挂载到海豹容器的",{"2":{"475":1}}],["目录结构",{"0":{"181":1}}],["目录下的子目录名",{"2":{"616":1}}],["目录下的不同文件中被整理成词条",{"2":{"616":1}}],["目录下的图片资源",{"2":{"324":1}}],["目录下全部三个开关",{"2":{"448":1}}],["目录下找到所有的备份文件",{"2":{"355":1}}],["目录下",{"2":{"180":1,"214":1}}],["目录",{"2":{"32":1,"405":2,"475":2,"476":1,"487":1,"551":2}}],["目录后重新运行",{"2":{"12":1}}],["目前有",{"2":{"543":1}}],["目前官方机器人只响应包含",{"2":{"506":1}}],["目前对接官方接口的骰子很多功能无法支持",{"2":{"502":1}}],["目前最新的",{"2":{"492":1}}],["目前提供了三种匹配模式",{"2":{"316":1}}],["目前并不支持写注释",{"2":{"202":1}}],["目前支持",{"2":{"170":1}}],["目前的内容是从上古文档中直接迁移过来的",{"2":{"126":1}}],["目前海豹语并不支持",{"2":{"110":1}}],["目前海豹只支持在反引号中调用变量",{"2":{"109":1}}],["目前暂不考虑支持",{"2":{"98":1}}],["目前仅有",{"2":{"96":1}}],["目前",{"2":{"10":1,"485":1,"599":1}}],["目前尚未更新蓝绿修改器",{"2":{"2":1}}],["这就造成了死锁",{"2":{"681":1}}],["这就是",{"2":{"716":1}}],["这就是为什么当你部署多只海豹时需要切换端口",{"2":{"409":1}}],["这就是服务器",{"2":{"403":1}}],["这就是暗骰",{"2":{"165":1}}],["这就是最基本的模板了",{"2":{"149":1}}],["这可以有效避免关键词触发的无限复读",{"2":{"661":1}}],["这可避免机器人互相响应造成的危险的循环",{"2":{"623":1}}],["这可能花费你更多时间和精力",{"2":{"523":1}}],["这么好用",{"2":{"618":1}}],["这赋予了查询指令强大的获取能力",{"2":{"616":1}}],["这都将使用新的技能值覆盖现有的技能值",{"2":{"588":1}}],["这提供了调查员从经验中学习的机会",{"2":{"587":1}}],["这被称为疯狂发作的总结症状",{"2":{"586":1}}],["这相当于分别使用",{"2":{"563":1}}],["这指令可能包含了类似这样的内容",{"2":{"556":1}}],["这时将使用默认值进行骰点",{"2":{"684":1}}],["这时需要执行",{"2":{"654":1}}],["这时",{"2":{"609":1,"615":1}}],["这时不进行加骰而只骰一轮",{"2":{"609":1}}],["这时你的手机海豹里就应该是旧海豹的数据了",{"2":{"551":1}}],["这时候通常通过删除磁盘内部分不需要的文件",{"2":{"360":1}}],["这时候通过在任务管理器关闭部分没有在使用的进程就可以解决",{"2":{"22":1}}],["这不会将角色卡绑定到当前群聊",{"2":{"615":1}}],["这不会造成数据损失",{"2":{"548":1}}],["这不仅方便了群员和管理回答你的问题",{"2":{"363":1}}],["这配置对于海豹核心新加入的群聊生效",{"2":{"543":1}}],["这要求海豹核心拥有",{"2":{"520":1}}],["这将会是你的",{"2":{"510":1}}],["这三项是海豹进行连接所需要的",{"2":{"504":1}}],["这三个按键",{"2":{"22":1}}],["这类语言通过特定的语法描述了数据之间的关系",{"2":{"432":1}}],["这篇速查表的目的就是让屏幕前不太明白计算机相关知识的用户可以快速入门",{"2":{"403":1}}],["这篇科普也一样",{"2":{"376":1}}],["这通常在安装应用时就已经默认开启",{"2":{"349":1}}],["这主要是为了批量成长时便于引用无前缀",{"2":{"278":1}}],["这也是默认选项",{"2":{"487":1}}],["这也是",{"2":{"213":1}}],["这在你需要依赖高版本插件的情况下很有用",{"2":{"194":1}}],["这表示",{"2":{"194":1}}],["这决定了编译时输出的插件文件名",{"2":{"179":1}}],["这包括",{"2":{"175":1}}],["这限定了只有在未收到命令且未达成自定义回复时",{"2":{"169":1}}],["这会要求场景中每位调查员进行一次理智检定",{"2":{"581":1}}],["这会让开发者们可能记住这个问题",{"2":{"364":1}}],["这会非常有用",{"2":{"169":1}}],["这会自动给用户发送帮助",{"2":{"147":1,"148":1,"149":1}}],["这会导致格式错误",{"2":{"98":1}}],["这种情况",{"2":{"695":1}}],["这种情况可以删除",{"2":{"669":1}}],["这种操作称为",{"2":{"613":1}}],["这种办法有一定的操作难度",{"2":{"356":1}}],["这种方法简便",{"2":{"355":1}}],["这种做法会绕过文案版本的迁移变更",{"2":{"272":1}}],["这种",{"2":{"142":1}}],["这种解决方案适合个人与朋友使用骰子的场景",{"2":{"24":1}}],["这两条命令移除海豹核心程序和",{"2":{"518":1}}],["这两个功能访问海豹的私有目录",{"2":{"339":1}}],["这两个插件时",{"2":{"195":1}}],["这两个结果",{"2":{"80":2}}],["这两段较为常规",{"2":{"119":1}}],["这需要牌堆作者有能力提供一个",{"2":{"94":1}}],["这允许你更精细的控制每个牌组的选项",{"2":{"93":1}}],["这一段落是以玩家视角而非主持人视角编写的",{"2":{"720":1}}],["这一章节",{"2":{"671":1}}],["这一指令会将所有可抽取的牌组列出",{"2":{"626":1}}],["这一设计是为了解决下面这样的问题",{"2":{"556":1}}],["这一渠道提供两个版本",{"2":{"517":1}}],["这一截图工具",{"2":{"372":1}}],["这一个文件被解压出来了",{"2":{"358":1}}],["这一牌组无法再用",{"2":{"89":1}}],["这一牌组",{"2":{"89":2}}],["这一节介绍了海豹核心最重要的一些指令",{"2":{"52":1}}],["这些规则因指令数量少或仍在预览阶段的原因",{"2":{"711":1}}],["这些资料的原始出处和译者很多已经不可考",{"2":{"620":1}}],["这些资料在海豹的",{"2":{"616":1}}],["这些角色卡可以被绑定到任意数量的群聊",{"2":{"615":1}}],["这些角色卡互相无任何影响",{"2":{"615":1}}],["这些同义词都是符合直觉的",{"2":{"557":1}}],["这些名字等价",{"2":{"556":1}}],["这些文件都是运行必不可少的",{"2":{"490":1}}],["这些版本是",{"2":{"489":1}}],["这些方案都由社区第三方软件提供",{"2":{"485":1}}],["这些记录通常反映了程序的运行状态",{"2":{"430":1}}],["这些议题主要包括了使用求助",{"2":{"410":1}}],["这些页面中",{"2":{"368":1}}],["这些是海豹中的变量",{"2":{"201":1}}],["这些语言在编写时使用它们自己",{"2":{"199":1}}],["这些信息通常被称为",{"2":{"188":1}}],["这些编辑器提供的语法高亮",{"2":{"125":1}}],["这些都是被广泛使用的优秀编辑器",{"2":{"125":1}}],["这些功能能让你实现更多的个性化功能",{"2":{"123":1}}],["这些辅助项是不希望暴露给用户的",{"2":{"89":1}}],["这些进程一旦关闭",{"2":{"22":1}}],["这样一来",{"2":{"543":1}}],["这样的名字出现",{"2":{"403":1}}],["这样也很费电",{"2":{"403":1}}],["这样才有助于问题的快速解决",{"2":{"392":1}}],["这样草草浏览知识真的正确么",{"2":{"372":1}}],["这样你就能自己解决问题",{"2":{"367":1}}],["这样就会下载一个压缩包",{"2":{"178":1}}],["这样",{"2":{"89":1,"394":1}}],["这样在",{"2":{"89":2}}],["这样写就没有开头的空行问题了",{"2":{"67":1}}],["这样它才能接收和发送消息",{"2":{"50":1}}],["这是为了防止引起企鹅的警惕",{"2":{"662":1}}],["这是海豹核心用于标识不同平台的用户和群组的通用格式",{"2":{"597":1}}],["这是连接机器人所需要的凭证",{"2":{"514":1}}],["这是你的",{"2":{"511":1}}],["这是正向连接端口",{"2":{"498":1}}],["这是面向一般用户提供的简单对接方式",{"2":{"486":1}}],["这是保活策略的一部分",{"2":{"350":1}}],["这是",{"2":{"248":1,"490":2,"498":1}}],["这是由海豹核心自动处理的",{"2":{"196":1}}],["这是关于数据的增加",{"2":{"162":1}}],["这是因为",{"2":{"338":1,"551":1}}],["这是因为虽然",{"2":{"114":1}}],["这是因为如果某一变量可能为空时",{"2":{"114":1}}],["这是一群用禁忌知识武装自己头脑",{"2":{"559":1}}],["这是一群搜索遗忘之地的人",{"2":{"559":1}}],["这是一群发掘深层秘密的人",{"2":{"559":1}}],["这是一种表达一个或一系列时间点的语法",{"2":{"213":1}}],["这是一种对标准",{"2":{"69":1}}],["这是一个演示脚本",{"2":{"187":1,"188":1}}],["这是一个类",{"2":{"174":1}}],["这是一段字符串",{"2":{"77":1}}],["这是多行字符串的语法",{"2":{"67":1}}],["这是注释",{"2":{"64":1}}],["这个权限是群主或群管理员",{"2":{"705":1}}],["这个权限会让海豹只接收被",{"2":{"510":1}}],["这个端口号会被写入配置中供后续启动使用",{"2":{"667":1}}],["这个指令将其去除",{"2":{"704":1}}],["这个指令的作用实际是给使用者的名字上前缀",{"2":{"704":1}}],["这个指令的存在是为了解决",{"2":{"681":1}}],["这个指令的格式与普通骰点",{"2":{"612":1,"613":1}}],["这个指令似乎都没有实际作用",{"2":{"681":1}}],["这个指令用于标记同一群聊内的其他机器人",{"2":{"623":1}}],["这个改动在当前群聊持续生效",{"2":{"543":1}}],["这个系统就是专为服务器开发的",{"2":{"403":1}}],["这个页面",{"2":{"399":1}}],["这个操作非常简单",{"2":{"358":1}}],["这个小类中",{"2":{"270":1}}],["这个选项决定了什么范围的内容会进行拦截检查",{"2":{"252":1}}],["这个问题分为两个部分",{"2":{"199":1}}],["这个插件需要同时安装",{"2":{"195":1}}],["这个扩展只会在日志中打印一条",{"2":{"187":1}}],["这个扩展标准的语法",{"2":{"98":1}}],["这个文件遵守以下格式",{"2":{"557":1}}],["这个文件是你插件的描述信息",{"2":{"179":1}}],["这个文件夹下",{"2":{"12":1}}],["这个函数会返回一个",{"2":{"170":1}}],["这个命令的功能为",{"2":{"146":1,"149":1,"166":1}}],["这个村子有一户人家",{"2":{"119":1}}],["这个示例牌堆怎么这么臭",{"2":{"80":3}}],["这个牌堆编写如下",{"2":{"80":1}}],["这个牌堆有",{"2":{"80":1}}],["这个仓库也作为海豹的主仓库",{"2":{"36":1}}],["这代表数据库是正常的",{"2":{"353":1}}],["这代表",{"2":{"28":1}}],["这意味着骰子会",{"2":{"270":1}}],["这意味着这个牌堆在抽取时",{"2":{"265":1}}],["这意味着这个插件需要同时满足所有的依赖才能工作",{"2":{"195":1}}],["这意味着该插件需要同时安装一个名为",{"2":{"194":1}}],["这意味着",{"2":{"24":1}}],["这里讲的是使用海豹核心的相关事项",{"2":{"689":1}}],["这里选择",{"2":{"659":1}}],["这里是为了替换数据库特别地需要开启",{"2":{"551":1}}],["这里是你需要编写的内容",{"2":{"146":1}}],["这里请留空",{"2":{"490":1}}],["这里请自己处理要如何达成",{"2":{"169":1}}],["这里以",{"2":{"403":1}}],["这里我们以",{"2":{"356":1}}],["这里其实是编写处理函数",{"2":{"169":1}}],["这里其实获取的是",{"2":{"130":2}}],["这里写的时候有点不清醒了",{"2":{"165":1}}],["这里只是为了演示",{"2":{"153":1}}],["这里只列出了常见的",{"2":{"79":1}}],["这里仅说明需要用到的接口",{"2":{"146":1}}],["这里实在不知道如何举例了",{"2":{"135":1}}],["这里等大佬来了再研究",{"2":{"129":1}}],["这里有些复杂",{"2":{"126":1}}],["这里除了平局可以使用",{"2":{"116":1}}],["这里的内存不足代指的是磁盘可存储的空间不足",{"2":{"360":1}}],["这里的内存就是指电脑",{"2":{"22":1}}],["这里的第一句也是最后一句",{"2":{"109":1}}],["这里填你个性化的模式2文案",{"2":{"59":1}}],["这里填你个性化的模式1文案",{"2":{"59":1}}],["这里填你个性化的默认模式文案",{"2":{"59":1}}],["这里",{"2":{"9":1,"147":1,"148":1,"149":1}}],["dc6",{"2":{"706":1}}],["dport",{"2":{"657":1}}],["ds",{"0":{"651":1},"1":{"652":1},"2":{"651":5,"733":2}}],["d15+3",{"2":{"632":1}}],["d10=",{"2":{"612":1}}],["d1000=539",{"2":{"677":1}}],["d1000=568",{"2":{"677":1}}],["d100=72",{"2":{"605":1}}],["d100=70",{"2":{"576":1}}],["d100=78",{"2":{"556":1}}],["d100=5",{"2":{"574":1}}],["d100=51",{"2":{"572":1}}],["d100=96",{"2":{"605":1}}],["d100=97",{"2":{"579":1}}],["d100=91",{"2":{"574":1}}],["d100=90",{"2":{"556":1}}],["d100=6",{"2":{"611":1}}],["d100=69",{"2":{"602":1}}],["d100=65",{"2":{"573":1}}],["d100=64",{"2":{"556":1,"569":1}}],["d100=27",{"2":{"605":1}}],["d100=2",{"2":{"270":1}}],["d100=30",{"2":{"569":1,"571":1}}],["d100=3",{"2":{"270":1}}],["d100=16",{"2":{"574":1,"614":1}}],["d100=15",{"2":{"569":1}}],["d100=100",{"2":{"56":1}}],["d100=1",{"2":{"56":1}}],["d100",{"2":{"108":1,"168":7,"674":1}}],["dungeons",{"2":{"630":1}}],["dur",{"2":{"126":1,"128":2}}],["d50=",{"2":{"602":2}}],["d50",{"2":{"602":2,"611":4}}],["dx",{"0":{"685":1},"2":{"546":1,"685":1,"714":1,"719":1}}],["dg",{"2":{"546":1,"593":1,"712":3}}],["d劣势=",{"2":{"536":1,"606":1}}],["d劣势",{"2":{"536":1,"606":1}}],["d20+2",{"2":{"632":1,"729":1}}],["d20+1",{"2":{"522":1}}],["d20=1",{"2":{"611":1}}],["d20kl=",{"2":{"607":1}}],["d20kh=",{"2":{"607":1}}],["d20优势=",{"2":{"536":1,"606":1}}],["d20",{"2":{"207":2,"544":1,"611":1}}],["double",{"0":{"714":1},"2":{"714":1}}],["doublecross",{"2":{"546":1}}],["down",{"2":{"481":1}}],["download",{"2":{"178":1}}],["document",{"2":{"551":1}}],["documents",{"2":{"338":1}}],["docker0",{"2":{"481":2}}],["docker",{"0":{"473":1,"474":1,"475":1},"1":{"474":1,"475":2,"476":2,"477":2,"478":2,"479":2,"480":1,"481":1,"482":1},"2":{"473":3,"475":4,"476":1,"477":2,"478":1,"479":1,"480":1,"481":3,"482":2,"486":2,"517":2,"518":2}}],["done",{"2":{"464":1}}],["does",{"2":{"371":1}}],["dodo语音",{"2":{"454":1}}],["dodo",{"0":{"451":1},"1":{"452":1,"453":1,"454":1,"455":1},"2":{"50":1,"141":1,"451":1,"452":2,"453":1,"454":1,"455":3,"519":1,"554":1}}],["d3",{"2":{"173":1,"176":1}}],["drlh",{"2":{"677":1}}],["drl",{"0":{"677":1},"2":{"676":1,"677":3}}],["dragons",{"2":{"630":1}}],["draw",{"0":{"625":1},"1":{"626":1,"627":1,"628":1},"2":{"80":3,"83":4,"86":1,"89":14,"93":3,"96":1,"113":10,"126":1,"134":2,"150":1,"151":5,"259":1,"262":3,"543":1,"625":1,"626":10,"627":2,"628":1,"677":1}}],["dr2",{"2":{"151":3}}],["dr",{"2":{"151":3,"620":1}}],["dndx",{"0":{"631":1},"2":{"631":3}}],["dnd5e",{"2":{"543":2,"546":1,"557":1,"642":1}}],["dnd",{"0":{"631":1,"736":1},"2":{"144":1,"201":1,"269":2,"600":2,"616":1,"622":1,"630":1,"631":2,"706":1,"719":2,"728":1}}],["darkness",{"0":{"713":1},"2":{"713":1}}],["darwin",{"2":{"518":2}}],["dash",{"2":{"696":1}}],["dayjs",{"2":{"183":1}}],["danger",{"2":{"121":1,"122":1}}],["date",{"2":{"80":5,"122":1}}],["data",{"2":{"12":3,"32":1,"87":1,"98":1,"161":7,"162":23,"163":5,"167":6,"282":4,"324":1,"327":12,"339":1,"353":6,"356":4,"386":1,"405":1,"430":2,"475":24,"476":2,"477":2,"487":2,"518":1,"549":1,"551":4,"557":1,"616":2,"660":1,"669":1,"702":1}}],["d6",{"2":{"111":1,"174":1,"175":1,"176":1,"688":1}}],["directory",{"2":{"463":1}}],["dicepp",{"2":{"620":1}}],["dice",{"2":{"104":1,"126":1,"327":1,"338":1,"544":1,"551":1,"626":1,"672":2}}],["dictinct",{"2":{"96":1}}],["disk",{"0":{"360":1}}],["dismiss",{"2":{"247":1,"656":1,"719":1}}],["dis",{"2":{"247":1}}],["dist",{"2":{"180":1}}],["distinct",{"2":{"96":1}}],["discord账号",{"2":{"449":1}}],["discord",{"0":{"447":1},"1":{"448":1,"449":1,"450":1},"2":{"50":1,"141":1,"447":1,"448":1,"449":2,"450":1,"519":1,"554":1,"690":1}}],["discussion",{"2":{"24":1}}],["d",{"0":{"400":1,"534":2,"727":2},"1":{"401":1,"535":2,"536":2,"537":2,"538":2,"539":2,"540":2,"541":2,"728":2,"729":2,"730":2,"731":2,"732":2,"733":2},"2":{"15":1,"69":2,"71":4,"79":2,"100":2,"126":1,"137":1,"146":1,"174":1,"175":2,"176":1,"181":1,"184":3,"190":3,"207":1,"290":2,"292":2,"476":1,"477":1,"479":1,"518":1,"524":2,"544":1,"550":1,"555":2,"557":2,"606":2,"611":3,"616":2,"620":2,"622":2,"630":8,"690":2,"694":2,"719":9,"720":2}}],["db",{"2":{"12":1,"327":3,"353":8,"354":1,"356":6}}],["dex",{"2":{"708":2}}],["dex60",{"2":{"706":1}}],["details",{"2":{"593":1,"719":1}}],["delta",{"0":{"712":1},"2":{"712":1}}],["deltagreen",{"2":{"546":1}}],["del",{"2":{"562":1,"596":1,"615":1,"623":1,"633":1,"637":1,"643":1,"682":2,"702":1,"719":1}}],["delegatetext",{"2":{"137":1}}],["delete",{"2":{"22":1,"356":6}}],["dev",{"2":{"517":1,"518":1}}],["demo",{"2":{"188":1}}],["depends",{"2":{"188":2,"193":1,"194":3,"195":3}}],["deprecated",{"2":{"170":3}}],["debug",{"2":{"102":1,"498":1}}],["deck|js|helpdoc",{"2":{"596":1}}],["deckname",{"2":{"126":2,"150":2}}],["deck",{"0":{"134":1},"2":{"88":3,"126":2,"134":3,"150":1,"151":1,"543":2}}],["decks",{"2":{"80":1,"82":1,"83":1,"85":1,"89":2,"90":1,"91":1,"93":1,"151":8}}],["description",{"2":{"100":2,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"168":1,"171":1,"179":1,"187":1,"188":2}}],["desc",{"2":{"80":4,"122":1,"168":2,"626":3}}],["defaultvalue",{"2":{"126":1,"170":3,"171":2}}],["default",{"2":{"12":1,"89":3,"147":1,"148":1,"149":1,"159":5,"161":1,"162":1,"166":1,"171":2,"327":7,"356":1,"430":1,"481":1,"487":2,"490":1,"492":1,"557":1,"660":1,"702":1}}],["denied",{"2":{"9":1}}],["将本群的当前日志设定为空",{"2":{"700":1}}],["将本群的当前日志设定成新日志",{"2":{"700":1}}],["将本群的绑定关系解除",{"2":{"615":1}}],["将机器人邀请进服务器",{"2":{"691":1}}],["将收到的消息中的对应",{"2":{"679":1}}],["将在你系统上",{"2":{"668":1}}],["将在服务器上开启一个",{"2":{"659":2}}],["将安装包解压到你为新海豹准备的目录",{"2":{"668":1}}],["将安装包解压到合适的目录",{"2":{"518":1}}],["将他删除",{"2":{"659":1}}],["将要行动的玩家",{"2":{"633":1}}],["将会进行模糊搜索",{"2":{"627":1}}],["将会从",{"2":{"24":1}}],["将显示为",{"2":{"622":1}}],["将使用当前群聊中你的角色名",{"2":{"615":1}}],["将使用扩展语法的牌堆与标准",{"2":{"69":1}}],["将角色名设置为",{"2":{"614":1}}],["将无法进行私聊",{"2":{"612":1}}],["将无法继续使用",{"2":{"6":1}}],["将生成",{"2":{"590":1}}],["将以下单位从先攻列表中移除",{"2":{"633":1}}],["将以下内容复制进去",{"2":{"354":1}}],["将以给出的数值进行检定",{"2":{"569":1}}],["将保存的属性数值以",{"2":{"566":1}}],["将指定角色卡从其绑定的所有群解绑",{"2":{"615":1}}],["将指定角色卡绑定到当前群聊",{"2":{"615":1,"721":1}}],["将指定用户移出黑名单",{"2":{"597":1}}],["将指定用户添加至信任列表",{"2":{"597":1}}],["将指定用户拉入黑名单",{"2":{"597":1}}],["将指定属性增加或减去表达式的计算结果",{"2":{"564":1,"638":1}}],["将指定属性设定为指定表达式的计算结果",{"2":{"563":1}}],["将指定群的指定用户踢出",{"2":{"126":1}}],["将指定群的指定用户封禁指定时间",{"2":{"126":1}}],["将若干个属性名视为同一个属性",{"2":{"556":1}}],["将迁出海豹核心中的",{"2":{"549":1}}],["将整个海豹核心目录复制到新的位置即可",{"2":{"548":1}}],["将目录名中的版本号删去或许是更好的做法",{"2":{"518":1}}],["将它们视为诈骗而予以警告",{"2":{"691":1}}],["将它复制保存",{"2":{"514":1}}],["将它命名为",{"2":{"354":1}}],["将正式运行",{"2":{"490":1}}],["将提供的",{"2":{"490":1}}],["将提示找不到牌组",{"2":{"89":1}}],["将该文件后缀改为",{"2":{"464":1}}],["将这作为你的第一个新知识开始学习",{"2":{"368":1}}],["将一切不明了的问题诉诸他人的帮助",{"2":{"366":1}}],["将损坏的数据文件",{"2":{"356":1}}],["将你当前群聊中的独立卡数据保存为个人角色卡",{"2":{"615":1}}],["将你损坏的数据库文件另外保存一份以防万一",{"2":{"355":1}}],["将你的",{"2":{"163":1,"542":1}}],["将海豹核心的任务卡片下拉并释放",{"2":{"346":1}}],["将里面的",{"2":{"337":1}}],["将跳过本文件内的所有回复项",{"2":{"314":1}}],["将列出现有的所有分组和它们的别名",{"2":{"294":1}}],["将图片放在骰子的适当目录",{"2":{"282":1}}],["将替换",{"2":{"280":1}}],["将调用",{"2":{"275":1}}],["将标签页切换到",{"2":{"254":1}}],["将进行对应等级配置的操作",{"2":{"253":1}}],["将取命中词汇中的",{"2":{"253":1}}],["将时间线设置为",{"2":{"248":1}}],["将所有答案用空格连接起来",{"2":{"247":1}}],["将其复制回海豹的原路径",{"2":{"356":1}}],["将其保存在和你要编写的",{"2":{"190":1}}],["将其按顺序存储于多个变量",{"2":{"105":1}}],["将文本流作为",{"2":{"167":1}}],["将处理完的数据写回去",{"2":{"163":1}}],["将命令注册到扩展中",{"2":{"149":2,"161":1,"166":1}}],["将群内的该群组变量设置为",{"2":{"131":1}}],["将群为",{"2":{"128":2}}],["将触发者的该个人变量设置为",{"2":{"131":1}}],["将扩展",{"2":{"126":1}}],["将是你的一大助力",{"2":{"102":1}}],["将首先调用",{"2":{"96":1}}],["将只列出",{"2":{"89":1}}],["将重置所有牌组到初始状态",{"2":{"83":1}}],["将内容拼接进该结果",{"2":{"82":1}}],["将修改后的内容提交到远程后",{"2":{"41":1}}],["将不再支持",{"2":{"24":1}}],["将不再进行更新",{"2":{"24":1}}],["将",{"2":{"12":1,"15":1,"32":1,"126":3,"464":1,"475":1,"682":2}}],["接入",{"2":{"486":1}}],["接入点数据",{"2":{"137":1}}],["接下来请根据你所需要对接平台的接入手册",{"2":{"519":1}}],["接下来这个",{"2":{"356":1}}],["接下来将依次介绍它们",{"2":{"269":1}}],["接上面的代码",{"2":{"146":1}}],["接口返回的数据将和牌组本身配置的",{"2":{"96":1}}],["接口应当返回一个",{"2":{"95":1}}],["接口要求",{"0":{"95":1}}],["接口",{"2":{"94":1}}],["接着点击登录",{"2":{"11":1}}],["接收的消息",{"2":{"8":1}}],["填入宿主机在",{"2":{"481":1}}],["填入对应服务的名称",{"2":{"478":1}}],["填入你的",{"2":{"167":1}}],["填入你的骰娘的大脑的",{"2":{"167":1}}],["填入骰子",{"2":{"35":1}}],["填你的",{"2":{"11":2}}],["填写对应的信息点击连接",{"2":{"505":1}}],["填写为",{"2":{"478":1}}],["填写你邮箱服务提供商的",{"2":{"236":1}}],["填写你希望的发件邮箱",{"2":{"234":1}}],["填写邮箱密钥",{"2":{"235":1}}],["填写一些信息",{"2":{"80":1}}],["填写完成后",{"2":{"44":1}}],["填写完成后点击下一步",{"2":{"12":1}}],["填写变更内容信息",{"2":{"43":1}}],["填写新分支名",{"2":{"43":1}}],["填写相应信息进行连接",{"2":{"23":1,"501":1}}],["填写",{"2":{"11":1,"475":1,"487":1}}],["是克苏鲁的呼唤",{"2":{"712":1}}],["是指海豹",{"2":{"616":1}}],["是必须的",{"2":{"589":1,"609":1,"610":1}}],["是房规检定",{"2":{"568":1}}],["是规则书检定",{"2":{"568":1}}],["是规则书规定的同一属性的两个名字",{"2":{"556":1}}],["是纯净骰",{"0":{"543":1}}],["是被",{"2":{"485":1}}],["是腾讯公司基于",{"2":{"426":1}}],["是基于官方",{"2":{"496":1}}],["是基于",{"2":{"425":1}}],["是形如",{"2":{"409":1}}],["是在后台低占用运行的无头",{"2":{"496":1}}],["是在服务器还是在我自己的电脑上",{"2":{"379":1}}],["是在无",{"2":{"31":1}}],["是什么",{"2":{"368":2}}],["是多数开源程序发布代码的地方",{"2":{"364":1}}],["是内置客户端的配置文件夹",{"2":{"326":1}}],["是最常用的模式",{"2":{"317":1}}],["是海豹核心提供的一种功能扩展方式",{"2":{"309":1}}],["是提供给骰子使用的查询资料",{"2":{"289":1}}],["是小白常犯的错误之一",{"2":{"202":1}}],["是临时变量",{"2":{"201":1}}],["是分隔符",{"2":{"194":1}}],["是アンカー罗马字缩写",{"2":{"162":1}}],["是两个函数",{"2":{"160":1}}],["是错误的",{"2":{"126":1}}],["是可以提供的",{"2":{"126":1}}],["是从左往右计算的",{"2":{"116":1}}],["是防止它出现在回复文本中",{"2":{"115":1}}],["是否正确做出了响应",{"2":{"654":1}}],["是否上报自己发送的消息",{"2":{"498":1}}],["是否将本地文件转换为url",{"2":{"498":1}}],["是否开启调试模式",{"2":{"498":1}}],["是否开启本地群聊时间记录",{"2":{"498":1}}],["是否启用反向websocket服务",{"2":{"498":1}}],["是否启用正向websocket服务",{"2":{"498":1}}],["是否启用http上报服务",{"2":{"498":1}}],["是否启用http心跳",{"2":{"498":1}}],["是否启用http服务",{"2":{"498":1}}],["是否在",{"2":{"485":1}}],["是否跟着这么做",{"2":{"376":1}}],["是否允许海豹核心发送通知",{"2":{"350":1}}],["是否抽取成功",{"2":{"150":1}}],["是否放回抽取",{"2":{"150":1,"151":1}}],["是否私聊",{"2":{"137":1}}],["是否保留待议",{"2":{"128":1}}],["是否等于",{"2":{"111":1}}],["是否导出该牌组",{"2":{"93":1}}],["是键值对的集合",{"2":{"68":1}}],["是",{"2":{"65":1,"126":1,"159":1,"247":1,"323":3,"409":2,"418":1,"423":1,"490":1,"492":1,"493":1,"556":1}}],["是安卓官方提供的帮助在电脑端调试",{"2":{"32":1}}],["是模拟器的编号",{"2":{"29":1}}],["是模拟器根路径",{"2":{"29":1}}],["是一款科学奇幻",{"2":{"715":1}}],["是一款日系超能力战斗",{"2":{"714":1}}],["是一款超自然题材的",{"2":{"713":1}}],["是一款剑与魔法奇幻背景的叙事性角色扮演游戏",{"2":{"630":1}}],["是一组来自相同面数骰子",{"2":{"677":1}}],["是一组有名字的文本",{"2":{"259":1}}],["是一种基于",{"2":{"417":1}}],["是一种",{"2":{"412":1,"435":1,"442":1}}],["是一门基于原型和头等函数的多范式高级解释型编程语言",{"2":{"299":1}}],["是一对一匹配的",{"2":{"110":1}}],["是一个充满了秘密",{"2":{"558":1}}],["是一个特殊的程序",{"2":{"444":1}}],["是一个特殊的命令行界面程序",{"2":{"433":1}}],["是一个特殊的变量前缀",{"2":{"201":1}}],["是一个比较自由的协议",{"2":{"188":1}}],["是一个",{"2":{"129":1,"416":1,"488":1}}],["是一个帮助其他应用直接使用系统",{"2":{"32":1}}],["是一个基于",{"2":{"24":1}}],["是一套开源的",{"2":{"26":1}}],["是其它版本",{"2":{"11":1}}],["是目前用来绕过检测的最有效手段",{"2":{"7":1}}],["96",{"2":{"593":5}}],["90",{"2":{"578":1,"590":1}}],["99",{"2":{"569":1,"593":1}}],["917654757",{"2":{"554":1}}],["95",{"2":{"210":1}}],["987654321",{"2":{"201":2}}],["9",{"2":{"11":1,"25":1,"31":2,"46":1,"66":1,"84":1,"85":3,"86":1,"126":1,"171":1,"201":1,"426":2,"481":1,"567":2,"609":1,"610":1,"631":7,"662":1}}],["85",{"2":{"631":1}}],["83",{"2":{"631":1}}],["837s",{"2":{"464":1}}],["8887",{"2":{"465":2,"466":1}}],["8081",{"2":{"477":1,"478":1,"490":1,"491":1,"492":1}}],["8080",{"2":{"12":3,"498":2}}],["80",{"2":{"210":2,"409":1,"573":1,"579":1,"590":1,"613":1}}],["87",{"2":{"129":1}}],["8",{"0":{"22":1},"2":{"11":1,"25":1,"46":1,"62":1,"84":1,"98":1,"126":1,"131":3,"171":1,"462":2,"490":2,"544":1,"574":1,"590":2,"605":1,"609":2,"626":2,"631":6,"684":1}}],["协议连接",{"2":{"493":1,"500":1}}],["协议连接到了我在腾讯云的服务器上",{"2":{"386":1}}],["协议的连接支持",{"2":{"500":1}}],["协议的连接",{"2":{"500":1}}],["协议的",{"2":{"416":1,"485":1,"488":1}}],["协议相关的开源项目",{"2":{"416":1,"488":1}}],["协议发信",{"2":{"234":1}}],["协议上实现",{"2":{"128":1}}],["协议进行适配",{"2":{"24":1}}],["协议所适配的目标",{"2":{"23":1}}],["协议",{"0":{"23":1,"501":1},"2":{"23":1,"24":1,"122":1,"126":2,"500":3,"659":2,"691":1,"693":1,"694":1,"695":2}}],["协议版本没对应",{"2":{"16":1}}],["协议版本和",{"2":{"16":1}}],["协议可用",{"2":{"11":1}}],["协议和",{"2":{"11":1}}],["协议开源",{"2":{"4":1}}],["仅限",{"2":{"527":1,"628":1}}],["仅对企业用户和部分受邀个人用户开放",{"2":{"485":1}}],["仅有",{"2":{"485":1}}],["仅当",{"2":{"247":1}}],["仅当需要备用签名或不同协议版本的时候有此需求",{"0":{"19":1}}],["仅自定义回复中可用",{"2":{"201":1}}],["仅master可用",{"2":{"159":5}}],["仅仅是提供了配置选项的能力",{"2":{"93":1}}],["仅说明牌堆编写中会用到的部分",{"2":{"63":1}}],["仅",{"2":{"11":1,"171":1,"239":1,"621":1}}],["此规则无困难成功或极难成功",{"2":{"593":1}}],["此指令只能由具有",{"2":{"596":1}}],["此指令支持附加",{"2":{"585":1}}],["此指令用来操作骰子程序模拟的人物卡",{"2":{"559":1}}],["此功能同样支持通过附加",{"2":{"576":1}}],["此功能暂无实际作用",{"2":{"237":1}}],["此源文件",{"2":{"557":1}}],["此种部署方式可能不能正常发送本地图片",{"2":{"480":1}}],["此文件将工作目录下",{"2":{"475":1}}],["此文件将宿主机",{"2":{"475":1}}],["此文件参考了通过",{"2":{"475":1}}],["此项设定服务器占用的内存",{"2":{"464":1}}],["此为一般情况",{"2":{"462":1}}],["此为教程中便于展示",{"2":{"202":1}}],["此地址一般用于指向本机",{"2":{"409":1}}],["此后你可能会在通知栏看到",{"2":{"350":1}}],["此类必须判定的回复词",{"2":{"275":1}}],["此玩家就无法再摸鱼了",{"2":{"174":1}}],["此处只展示相关控制指令",{"2":{"624":1}}],["此处无法一一列出",{"2":{"620":1}}],["此处会弹出一个窗口",{"2":{"510":1}}],["此处",{"2":{"326":1,"361":1,"518":1}}],["此处不介绍",{"2":{"316":1,"317":1}}],["此处不予重复",{"2":{"34":1}}],["此处内容较为复杂",{"2":{"278":1}}],["此处应使用统一",{"2":{"232":1}}],["此处替换为对应的",{"2":{"96":1}}],["此处填写你的更新链接",{"2":{"90":1,"93":1}}],["此处可以多出一个逗号",{"2":{"71":1,"72":3}}],["此处很可能会出现和上游分支有冲突的问题",{"2":{"45":1}}],["此处以手册仓库",{"2":{"42":1}}],["此时角色",{"2":{"651":1}}],["此时木落的侦查是",{"2":{"613":1}}],["此时木落的侦查技能点是",{"2":{"604":1}}],["此时输入",{"2":{"466":1}}],["此时输入使用",{"2":{"466":1}}],["此时默认的",{"2":{"409":1}}],["此时",{"2":{"195":1,"203":1,"481":1,"482":1,"681":2}}],["此时建议专门开一个一两个字即可触发的自定义回复",{"2":{"102":1}}],["此时你应当自动跳转到了",{"2":{"42":1}}],["此时你已经成功开启端口了",{"2":{"29":1}}],["此时你还需要将",{"2":{"28":1}}],["此时你会发现你的超级用户模块已经激活",{"2":{"26":1}}],["此时你会发现你的超级用户权限那里是灰的",{"2":{"26":1}}],["此时面具会索取超级用户权限",{"2":{"26":1}}],["此时面具就安装到你的模拟器上了",{"2":{"26":1}}],["此外有生命值",{"2":{"173":1}}],["此外",{"2":{"24":1,"89":1,"105":1,"490":1,"577":1,"590":1,"673":1}}],["此外还有",{"2":{"20":1}}],["此方式存在一定难度",{"2":{"24":1,"31":1}}],["此方案已经接近不可用",{"2":{"6":1}}],["此协议登录手机可同时在线",{"2":{"11":1}}],["可在后台的日志中检查收到指令的实际时间和发出响应的实际时间",{"2":{"662":1}}],["可在后台手动添加黑",{"2":{"224":1}}],["可避免中英文冒号的识别问题",{"2":{"638":1}}],["可指定每页大小和页码",{"2":{"616":1}}],["可查看",{"2":{"509":1}}],["可前往",{"2":{"504":1}}],["可进入",{"2":{"502":1}}],["可为空",{"2":{"498":1}}],["可访问拉格兰项目的",{"2":{"490":1}}],["可新建一个",{"2":{"464":1}}],["可直接添加管理员权限",{"2":{"459":1}}],["可直接添加",{"2":{"450":1,"455":1}}],["可配置性和主题与风格化等等",{"2":{"440":1}}],["可通过",{"2":{"282":1}}],["可分为两种",{"2":{"245":1}}],["可使用",{"2":{"231":1}}],["可获取对方的数据",{"2":{"166":1}}],["可用逗号分隔地连写多组",{"2":{"645":1}}],["可用让",{"2":{"580":1}}],["可用",{"2":{"146":1,"149":2,"171":1,"621":1}}],["可用中文",{"2":{"146":1,"149":1}}],["可根据喜好选择",{"2":{"113":1}}],["可能的参数",{"2":{"682":2}}],["可能的公网",{"2":{"659":1}}],["可能是代理没配置上",{"2":{"659":1}}],["可能是防火墙没配置好",{"2":{"659":1}}],["可能是根据数据类型自动推断",{"2":{"126":1}}],["可能性三",{"2":{"654":1}}],["可能性二",{"2":{"654":1}}],["可能性一",{"2":{"654":1}}],["可能有各种",{"2":{"517":1}}],["可能需要使用",{"2":{"495":1}}],["可能存在风险",{"2":{"265":1}}],["可能会检测到这些机器人",{"2":{"691":1}}],["可能会缺少部分运行库",{"2":{"487":1}}],["可能会存在途径特有的功能缺失和其它问题",{"2":{"486":1}}],["可能会导致无法发送消息或图片",{"2":{"450":1,"455":1,"459":1}}],["可能会去拉取远程内容作为牌堆项",{"2":{"265":1}}],["可能会自动添加用户进黑名单",{"2":{"226":1}}],["可能会出现包括但不限于变量值不变",{"2":{"201":1}}],["可能会发现有牌堆通过下面这样的写法来实现这个功能",{"2":{"84":1,"86":1}}],["可能出现因为测试的内容对变量造成影响",{"2":{"102":1}}],["可选",{"0":{"45":1,"520":1},"2":{"179":1,"188":6,"194":1}}],["可不做任何修改",{"2":{"42":1}}],["可反馈在该仓库的",{"2":{"36":1}}],["可阅读对应仓库的",{"2":{"36":1}}],["可共存",{"2":{"11":1}}],["可以选用的种族",{"2":{"736":1}}],["可以选择",{"2":{"323":1}}],["可以选择点击",{"2":{"311":1}}],["可以选择已有的分组",{"2":{"293":1}}],["可以选择关闭其他应用程序运行的进程",{"2":{"22":1}}],["可以省略日志名",{"2":{"701":1}}],["可以",{"2":{"689":1}}],["可以是群号",{"2":{"679":1}}],["可以是小数",{"2":{"320":1}}],["可以进行配置",{"2":{"664":1}}],["可以进行以下调整",{"2":{"577":1}}],["可以整个复制",{"2":{"660":1}}],["可以关闭暗骰吗",{"0":{"655":1}}],["可以被组合使用",{"2":{"611":1}}],["可以被叫做",{"2":{"552":1}}],["可以被叫做海豹骰",{"2":{"100":1}}],["可以只指定失败时的理智损失",{"2":{"583":1}}],["可以实时编辑的跑团日志",{"0":{"542":1}}],["可以实现劫持客户端对外开放",{"2":{"493":1}}],["可以实现抽取其他项",{"2":{"82":1}}],["可以免去手动配置",{"2":{"520":1}}],["可以为空",{"2":{"498":1,"700":1}}],["可以理解为装在",{"2":{"493":1}}],["可以理解为当什么情况下会触发这一条回复项",{"2":{"316":1}}],["可以做相同处理",{"2":{"492":1}}],["可以识别两个版本的配置文件",{"2":{"492":1}}],["可以发现",{"2":{"490":1,"681":1}}],["可以发现第",{"2":{"105":1}}],["可以方便地进行集中管理",{"2":{"474":1}}],["可以修改连接端口",{"2":{"465":1}}],["可以很方便的在多个平台",{"2":{"416":1,"488":1}}],["可以定位到某个特定的房屋",{"2":{"409":1}}],["可以去",{"0":{"395":1}}],["可以去模板项目仓库看看有没有最新的",{"2":{"184":1}}],["可以正确识别",{"2":{"386":1}}],["可以预见的",{"2":{"371":1}}],["可以用各种名字修改",{"2":{"556":1}}],["可以用各种名字使用",{"2":{"556":1}}],["可以用于判断该联系这户人中的哪一位",{"2":{"409":1}}],["可以用于匹配",{"2":{"371":1}}],["可以用这个指令测试",{"2":{"209":1}}],["可以考虑减少用户群体",{"2":{"361":1}}],["可以考虑这里的额外手段",{"2":{"351":1}}],["可以这样做",{"2":{"354":1}}],["可以这样写",{"2":{"149":1}}],["可以稍后在系统设置中授予海豹核心相关权限",{"2":{"350":1}}],["可以跳转到",{"2":{"321":1}}],["可以给回复结果设置延迟",{"2":{"320":1}}],["可以新增一条结果",{"2":{"319":1}}],["可以新建一个文件",{"2":{"312":1}}],["可以勾选",{"2":{"311":1}}],["可以点击本部分第一段中的超链接查看",{"2":{"368":1}}],["可以点击",{"2":{"315":1}}],["可以点击它启用该文件",{"2":{"311":1}}],["可以点击启用",{"2":{"301":1}}],["可以点击右上角的",{"2":{"272":1}}],["可以点开查看",{"2":{"254":1}}],["可以收起过长的内容",{"2":{"264":1,"303":1}}],["可以手动点击",{"2":{"261":1}}],["可以手动在",{"2":{"184":1}}],["可以对黑白名单进行一些设置",{"2":{"227":1}}],["可以立即生成一份备份",{"2":{"215":1}}],["可以插入表达式",{"2":{"202":1}}],["可以安装",{"2":{"197":1}}],["可以指定性别",{"2":{"735":1}}],["可以指定数量",{"2":{"735":1,"736":1}}],["可以指定语言",{"2":{"735":1}}],["可以指定的难度有",{"2":{"571":1}}],["可以指定目标海豹版本",{"2":{"196":1}}],["可以指定所有的导出项",{"2":{"89":1}}],["可以检查一下是否是最新版本",{"2":{"190":1}}],["可以下载海豹提供的",{"2":{"190":1}}],["可以自定义大部分指令的回复语句",{"2":{"525":1}}],["可以自己试试看除了在",{"2":{"364":1}}],["可以自己定义",{"2":{"188":1}}],["可以自行",{"2":{"43":1}}],["可以从以下两个渠道获取海豹核心安装包",{"2":{"517":1}}],["可以从以下链接获取经过编译的",{"2":{"176":1}}],["可以从相册扫码",{"2":{"333":1}}],["可以从互联网上寻找到很多优秀的教程",{"2":{"186":1}}],["可以创建项目使用前端工具链来编译出插件",{"2":{"177":1}}],["可以直接复制到其他骰子使用",{"2":{"566":1}}],["可以直接在该文件中进行自定义回复的编写",{"2":{"311":1}}],["可以直接编译出一个可直接装载的",{"2":{"177":1}}],["可以直接使用系统的双开功能",{"2":{"336":1}}],["可以直接使用",{"2":{"175":1}}],["可以直接进行后续步骤无需再次",{"2":{"42":1}}],["可以互换交换一次属性点位置",{"2":{"174":1}}],["可以通过这个指令进行回复",{"2":{"679":1}}],["可以通过公开互联网访问",{"2":{"596":1}}],["可以通过平日里学的",{"2":{"379":1}}],["可以通过此项筛选出那些不用的条目",{"2":{"271":1}}],["可以通过",{"2":{"152":1,"481":1}}],["可以通过配置它们的导出来实现",{"2":{"89":1}}],["可以通过配置牌堆文件的",{"2":{"89":1}}],["可以包含",{"2":{"148":1}}],["可以查看扩展介绍及帮助",{"2":{"599":1}}],["可以查看报错信息",{"2":{"327":1}}],["可以查看报错消息",{"2":{"327":1}}],["可以查看相应扩展的说明来获取使用帮助",{"2":{"306":1}}],["可以查看当前的",{"2":{"302":1}}],["可以查看下文的",{"2":{"164":1}}],["可以查看",{"2":{"144":1}}],["可以模块化开关海豹的任意一部分",{"2":{"144":1}}],["可以称为",{"2":{"124":1,"200":1}}],["可以在设置中调整",{"2":{"662":1}}],["可以在当前群开启或关闭某扩展",{"2":{"599":1}}],["可以在海豹核心目录下执行以下两条命令",{"2":{"550":1}}],["可以在海豹运行时",{"2":{"361":1}}],["可以在后台关闭对应的指令",{"2":{"546":1}}],["可以在不同骰系下测试一下这些指令",{"2":{"544":1}}],["可以在",{"2":{"171":1,"489":2,"599":1,"654":1}}],["可以在官方群内寻求帮助",{"2":{"123":1}}],["可以在赋值时使用条件算符",{"2":{"116":1}}],["可以在无",{"2":{"33":1}}],["可以不含此行或含有多行",{"2":{"188":1}}],["可以不写在另一条里",{"2":{"115":1}}],["可以不太准确的简单理解为会生成一些密码发给腾讯",{"2":{"21":1}}],["可以采用如下两种写法中的一种",{"2":{"115":1}}],["可以看作是一个微型搜索引擎",{"2":{"527":1}}],["可以看看里面是否已经包含了你想了解的概念",{"2":{"368":1}}],["可以看到一些保活策略",{"2":{"351":1}}],["可以看到如下的两个列表",{"2":{"254":1}}],["可以看到如下配置项",{"2":{"8":1}}],["可以看到使用seal",{"2":{"165":1}}],["可以看见有一个",{"2":{"261":1}}],["可以看见",{"2":{"114":1,"194":1,"269":1,"270":1,"301":1}}],["可以调用一些",{"2":{"107":1}}],["可以阅读以下教程或自行在互联网搜索",{"2":{"97":1,"122":1}}],["可以将上述内容保存名为",{"2":{"80":3}}],["可以抽取出",{"2":{"80":2}}],["可以使用所有需要群管理权限的功能",{"2":{"152":1}}],["可以使用别名抽取改牌组",{"2":{"93":1}}],["可以使用行内语法表示数组",{"2":{"79":1}}],["可以使用行内语法表示对象",{"2":{"78":1}}],["可以使用",{"2":{"77":1,"116":1,"175":1,"262":1,"462":1,"520":1,"622":1,"659":1,"700":1,"707":1}}],["可以使用多行字符串语法",{"2":{"67":1}}],["可以参考",{"2":{"399":1,"416":1,"418":1,"425":1}}],["可以参考海豹核心内置的",{"2":{"175":1}}],["可以参考如下代码",{"2":{"163":1}}],["可以参考以下材料",{"2":{"101":1}}],["可以参见这些文档或自行搜索",{"2":{"63":1}}],["可以参看",{"2":{"33":1}}],["可以帮助改进代码",{"2":{"39":1}}],["可以加入官方群进行反馈",{"2":{"38":1}}],["可以加入海豹官方群寻求帮助",{"2":{"9":1}}],["可以同时按下键盘上",{"2":{"22":1}}],["可以尝试删除",{"2":{"12":1}}],["可以尝试使用",{"2":{"9":2,"125":1}}],["可以回车跳过而使用默认配置",{"2":{"9":1}}],["pp8",{"2":{"706":1}}],["ping",{"0":{"681":1},"2":{"673":1,"681":4}}],["picture",{"2":{"27":1}}],["p2",{"2":{"611":2}}],["p4=",{"2":{"605":1}}],["p4",{"2":{"605":1}}],["pl",{"2":{"553":1,"576":1,"714":1}}],["plugins",{"2":{"465":1}}],["play",{"2":{"659":1}}],["playerget",{"2":{"138":1}}],["player",{"0":{"139":1},"2":{"130":2,"137":1,"166":1,"356":1}}],["places",{"2":{"157":1}}],["place",{"2":{"126":2,"155":2,"156":1}}],["platform",{"2":{"29":3,"32":4,"140":1,"141":1}}],["pc",{"0":{"615":1},"2":{"425":1,"486":4,"487":1,"493":1,"516":1,"527":1,"615":9,"719":4,"720":2,"721":2}}],["python",{"2":{"199":1}}],["pnpm",{"2":{"177":1,"191":1}}],["png",{"2":{"87":1,"98":1,"282":3,"477":1,"490":1}}],["php",{"2":{"167":1}}],["permissions",{"2":{"450":1,"511":2}}],["per",{"2":{"162":2}}],["purpur",{"2":{"461":1,"463":1}}],["push",{"2":{"161":1,"162":1,"163":1,"544":5}}],["pull",{"0":{"44":1},"2":{"40":1,"41":1,"44":1,"479":1}}],["potatso",{"2":{"659":1}}],["powershell",{"2":{"433":1}}],["postern",{"2":{"659":3}}],["posturls",{"2":{"498":1}}],["pos",{"2":{"126":3}}],["ports",{"2":{"475":2,"482":1}}],["port",{"2":{"9":1,"15":1,"245":2,"465":1,"477":1,"478":2,"490":2,"491":1,"492":1,"498":3}}],["p",{"2":{"105":1,"207":1,"482":1,"518":3,"572":1,"611":1,"657":1}}],["protocol",{"2":{"490":1,"492":1}}],["proto",{"2":{"481":1}}],["prompt",{"2":{"421":1}}],["promise",{"2":{"167":1,"187":1}}],["preferred",{"2":{"481":2}}],["pre2",{"2":{"462":1}}],["presence",{"2":{"448":1}}],["precompiled",{"2":{"356":1}}],["private",{"2":{"141":1,"201":1}}],["privilegelevel",{"2":{"137":1,"152":1,"153":2,"159":5,"171":1}}],["privileged",{"2":{"32":1,"448":1}}],["pr",{"2":{"36":1,"39":2,"44":3,"45":1,"167":1,"184":1,"368":2}}],["password",{"2":{"490":2,"492":1}}],["paper",{"2":{"461":1,"463":1,"466":1}}],["pause",{"2":{"354":1}}],["package",{"2":{"179":1,"181":1}}],["param",{"2":{"167":3}}],["parse",{"2":{"160":1,"161":2,"162":4,"163":1}}],["page=",{"2":{"616":1}}],["page",{"2":{"162":2}}],["path",{"2":{"32":2}}],["pad",{"2":{"11":2}}],["设置自动名片",{"2":{"720":1}}],["设置和修改角色卡属性",{"2":{"720":1}}],["设置法术位",{"2":{"645":1}}],["设置指定属性",{"2":{"638":1}}],["设置群内骰子面数为",{"2":{"622":2}}],["设置群内骰子面数为100",{"2":{"600":1}}],["设置群内骰子面数为20",{"2":{"600":1}}],["设置群内骰子面数",{"2":{"600":1}}],["设置各个扩展及其指令的默认开启状态",{"2":{"599":1}}],["设置房规",{"0":{"591":1},"1":{"592":1,"593":1,"594":1},"2":{"712":1}}],["设置回复项",{"0":{"315":1},"1":{"316":1,"317":1,"318":1,"319":1,"320":1}}],["设置白名单见",{"2":{"256":1}}],["设置的比例",{"2":{"227":1}}],["设置的选项未生效",{"2":{"93":1}}],["设置选项",{"2":{"227":1}}],["设置好名字和帮助信息",{"2":{"146":1}}],["设置当前群组的默认查询分组",{"2":{"617":1}}],["设置当前",{"2":{"126":1}}],["设置",{"2":{"35":1,"294":1,"317":1,"346":2,"645":1}}],["设备上",{"2":{"616":1}}],["设备请使用",{"2":{"517":1}}],["设备的命令行工具",{"2":{"32":1}}],["设备选",{"2":{"11":1}}],["设定临时属性",{"0":{"730":1},"2":{"730":1}}],["设定自己的先攻值",{"2":{"729":1}}],["设定先攻值",{"0":{"729":1}}],["设定默认值",{"2":{"684":1}}],["设定默认骰子面数",{"0":{"622":1},"2":{"719":1}}],["设定欢迎语",{"2":{"680":1}}],["设定个人专属默认骰子面数",{"2":{"622":1}}],["设定群内默认骰子面数",{"2":{"622":1}}],["设定游戏系统",{"0":{"622":1}}],["设定房规",{"0":{"594":1},"2":{"719":1}}],["设定计算表达式",{"0":{"565":1}}],["设定属性值",{"0":{"563":1}}],["设定当前",{"2":{"126":1,"135":1}}],["设定",{"2":{"9":1,"486":1}}],["u",{"2":{"520":1}}],["up>",{"2":{"481":1}}],["up",{"2":{"476":1,"477":1,"479":1}}],["updateurl",{"2":{"90":3,"93":1}}],["updateurls",{"2":{"90":4,"93":1}}],["updatedate",{"2":{"80":3,"122":1}}],["update",{"2":{"80":1,"90":2}}],["ubuntu",{"2":{"386":1,"433":1}}],["untagall",{"2":{"615":1}}],["unlock",{"2":{"596":1}}],["unless",{"2":{"475":5}}],["uninstall",{"2":{"520":1}}],["unix",{"2":{"188":1,"417":1,"433":1}}],["unicode",{"2":{"66":1,"67":1}}],["undefined",{"2":{"142":1,"161":1}}],["unmarshalyaml",{"2":{"140":1}}],["unknown",{"2":{"129":1}}],["use",{"2":{"178":1}}],["user",{"2":{"356":2,"438":1,"511":1}}],["userscript==",{"2":{"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"168":1,"171":1,"187":1,"188":1}}],["userid",{"2":{"126":3,"128":6,"136":1,"139":1,"140":1,"141":1,"167":1,"231":1,"597":1}}],["usb",{"2":{"32":2}}],["utf",{"2":{"62":1,"98":1}}],["uipasswordhash",{"2":{"672":1}}],["uin",{"2":{"490":1,"492":1}}],["uid=$",{"2":{"167":1}}],["uid",{"2":{"155":3,"156":2,"158":1}}],["ui",{"0":{"224":1},"2":{"11":1,"36":1,"88":1,"89":1,"94":1,"170":1,"171":2,"222":1,"245":1,"250":1,"261":1,"265":1,"269":1,"292":1,"301":1,"310":1,"323":3,"337":1,"438":1,"463":1,"487":1,"491":1,"495":1,"499":1,"523":1,"599":1,"702":1,"703":1}}],["urls",{"2":{"90":2,"96":2,"498":1}}],["url",{"2":{"8":3,"11":1,"450":2,"455":1,"459":1,"466":1}}],["t",{"0":{"434":1},"1":{"435":1},"2":{"526":1,"675":1}}],["types",{"2":{"181":1,"184":2}}],["typescript",{"2":{"172":1,"176":1,"177":1,"181":1,"186":1,"190":1,"191":1,"199":1}}],["type",{"2":{"170":3,"464":1,"477":1,"490":1,"518":1,"550":2}}],["type=$",{"2":{"167":1}}],["the",{"0":{"360":1},"2":{"464":1,"466":1}}],["there",{"0":{"360":1}}],["then",{"2":{"167":4}}],["this",{"2":{"178":1}}],["thiscatdoesnotexist",{"2":{"167":1}}],["tg",{"2":{"155":1}}],["tmplval",{"2":{"171":2}}],["tmpl",{"2":{"126":2,"135":2}}],["tsconfig",{"2":{"181":1}}],["ts",{"2":{"126":1,"137":2,"146":2,"162":1,"176":1,"181":3,"184":3,"190":3}}],["ta",{"2":{"268":1,"580":1,"623":3}}],["tag",{"2":{"100":3,"615":2,"719":1,"721":1}}],["tab",{"2":{"78":1}}],["txt",{"2":{"80":1,"121":1,"179":1,"181":1,"254":1,"464":2,"702":2}}],["txlib",{"2":{"9":2}}],["ti",{"0":{"586":1},"2":{"586":3,"719":1,"725":1}}],["tim",{"2":{"333":1}}],["times",{"2":{"157":1}}],["timestamp",{"2":{"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"168":1,"171":1,"187":1,"188":2}}],["time",{"2":{"141":1}}],["title",{"2":{"80":4,"90":2,"93":1,"96":1,"162":16,"163":2}}],["ticket",{"0":{"10":1},"1":{"11":1,"12":1},"2":{"10":1,"12":3,"17":1,"18":1}}],["toefl单词",{"2":{"626":1}}],["to",{"2":{"464":2,"510":1,"511":1,"679":2}}],["tokens",{"2":{"511":1}}],["token",{"0":{"448":1,"453":1,"457":1,"509":1,"510":1,"511":1,"514":1},"1":{"510":1,"511":1},"2":{"448":2,"449":2,"453":2,"454":1,"457":3,"458":4,"498":2,"509":1,"510":1,"511":3,"512":2,"514":2,"515":2}}],["top",{"2":{"88":1,"167":2}}],["toml等",{"2":{"432":1}}],["tomltrpg",{"2":{"69":1}}],["tomlkey",{"2":{"65":1,"67":1}}],["toml",{"0":{"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"92":1,"122":1,"435":1},"1":{"93":1,"94":1,"95":1,"96":1},"2":{"62":3,"63":3,"64":1,"65":1,"68":2,"80":4,"82":1,"83":1,"85":1,"89":4,"90":1,"91":1,"93":2,"96":4,"122":7,"254":1,"259":1,"435":1}}],["tools",{"2":{"29":3,"32":4,"179":1,"181":1,"183":1,"185":1,"356":1}}],["trace",{"2":{"492":1}}],["try",{"2":{"162":1}}],["trust",{"2":{"152":2,"597":1}}],["true为启动",{"2":{"498":1}}],["true",{"2":{"56":1,"65":1,"70":1,"77":1,"93":2,"96":8,"108":1,"126":6,"131":2,"134":1,"147":4,"148":4,"149":4,"150":1,"151":4,"153":1,"159":16,"161":4,"162":8,"165":5,"166":4,"167":2,"171":6,"202":1,"270":1,"353":3,"464":2,"490":3,"492":3,"498":3,"536":1,"565":1,"567":2,"569":2,"598":3,"599":3,"602":5,"605":2,"606":2,"609":1,"611":3,"613":1,"614":3,"626":3,"631":1,"632":5,"633":2,"638":3,"640":2,"642":1,"643":7,"645":4,"649":1,"651":1,"677":1,"679":1,"684":1}}],["trpg",{"0":{"135":1,"172":1,"546":1,"683":1},"1":{"173":1,"174":1,"175":1,"176":1,"684":1,"685":1,"686":1,"687":1,"688":1},"2":{"46":1,"172":2,"176":2,"523":2,"690":1,"711":1,"713":1,"714":1,"715":1,"716":1,"718":1}}],["terminal",{"0":{"439":1},"2":{"444":1}}],["temple",{"2":{"327":1}}],["template",{"2":{"126":2,"170":1,"178":1}}],["testvalue",{"2":{"171":1}}],["testkey6",{"2":{"171":2}}],["testkey5",{"2":{"171":2}}],["testkey4",{"2":{"171":2}}],["testkey3",{"2":{"171":2}}],["testkey2",{"2":{"171":2}}],["testkey1",{"2":{"171":2}}],["test",{"2":{"88":2,"130":4,"144":3,"146":1,"149":2,"161":2,"166":2}}],["text查询指令",{"2":{"695":1}}],["texthttp",{"2":{"659":1}}],["text$",{"2":{"556":1}}],["text$t0",{"2":{"203":1}}],["text数据库检查结果",{"2":{"353":1}}],["text├─backups",{"2":{"326":1}}],["text这里是海豹",{"2":{"284":1}}],["text这里是",{"2":{"284":1}}],["text灵视",{"2":{"209":1,"210":1,"211":1}}],["text加减乘除余",{"2":{"205":1}}],["text或",{"2":{"125":1}}],["textif",{"2":{"110":1,"116":1,"212":1}}],["text正则匹配",{"2":{"105":1}}],["text",{"0":{"240":1,"678":1},"2":{"56":1,"58":2,"59":1,"88":1,"102":3,"108":1,"109":2,"110":1,"111":1,"113":3,"114":1,"115":1,"116":1,"119":1,"121":1,"153":6,"159":5,"166":2,"201":1,"202":1,"203":1,"206":1,"209":2,"210":1,"212":3,"240":1,"262":1,"282":1,"327":1,"464":1,"527":1,"543":2,"544":2,"556":1,"588":1,"638":1,"656":1,"661":1,"678":1}}],["telegram账号",{"2":{"515":1}}],["telegram",{"0":{"513":1},"1":{"514":1,"515":1},"2":{"50":1,"513":1,"514":1,"515":2,"519":1}}],["tcp",{"2":{"29":2,"657":2,"659":2}}],["手枪伤害=5",{"2":{"565":1}}],["手枪伤害=",{"2":{"565":1}}],["手枪伤害",{"2":{"565":1}}],["手动创建这一文件",{"2":{"492":1}}],["手动添加",{"0":{"224":1}}],["手动备份",{"0":{"215":1}}],["手动抓取",{"0":{"10":1},"1":{"11":1,"12":1},"2":{"12":1}}],["手册不会介绍相关内容",{"2":{"191":1}}],["手册不会介绍这些相关背景知识",{"2":{"177":1}}],["手册",{"2":{"36":1,"498":1}}],["手册贡献者",{"0":{"3":1}}],["手机海豹已经公测啦",{"2":{"670":1}}],["手机海豹不会实时更新导出的文件",{"2":{"551":1}}],["手机上打开浏览器进入",{"2":{"659":1}}],["手机端连接",{"2":{"659":1}}],["手机版海豹核心也往往遭到误杀",{"2":{"342":1}}],["手机版不能通过指令或",{"2":{"340":1}}],["手机转电脑同理",{"2":{"341":1}}],["手机可以参阅",{"2":{"24":1}}],["手机造成的后果负责",{"2":{"24":1}}],["手机",{"2":{"21":1,"24":3,"245":1,"659":1}}],["x86",{"2":{"616":1,"695":1}}],["xargs",{"2":{"550":2}}],["xattr",{"2":{"518":2}}],["xe",{"2":{"520":1}}],["x64",{"2":{"489":2,"517":3,"518":1}}],["xmx2g",{"2":{"464":2}}],["xms2g",{"2":{"464":2}}],["x3c",{"2":{"110":5,"113":5,"122":1,"146":1,"149":2,"151":2,"159":4,"161":2,"162":1,"166":2,"168":4,"171":1,"202":2,"282":1,"481":1,"544":1,"556":6,"667":1,"668":1,"695":5}}],["xx",{"2":{"386":2}}],["xx=xxx",{"2":{"105":1}}],["xxxxxxxx",{"2":{"214":1}}],["xxxx",{"2":{"148":1,"149":1}}],["xxx",{"2":{"12":1,"43":1,"80":2,"96":1,"105":1,"169":5,"170":1,"385":1}}],["xlsx",{"2":{"100":2,"290":1}}],["x26",{"2":{"58":6,"69":1,"71":2,"79":1,"110":2,"116":12,"167":3,"206":2,"518":4}}],["xposed",{"2":{"24":1,"27":2}}],["x",{"2":{"9":1,"165":6,"169":3,"462":1,"500":3,"609":4,"610":4,"719":2}}],["csdn",{"2":{"369":1}}],["censor",{"2":{"327":1,"353":2}}],["ceil",{"2":{"148":1,"149":1,"166":1}}],["cross",{"0":{"714":1},"2":{"714":1}}],["cron",{"2":{"213":4,"216":1,"219":1,"242":1}}],["criticalsuccessvalue",{"2":{"168":4}}],["createtempctx",{"2":{"126":1,"136":1}}],["create",{"2":{"42":2,"509":2}}],["cn|en|jp",{"2":{"735":1}}],["cnt",{"2":{"167":1}}],["cn",{"2":{"167":1}}],["customize",{"2":{"511":1}}],["curpagerows",{"2":{"162":4}}],["cunban",{"2":{"159":3}}],["cget",{"2":{"159":3}}],["cbanlist",{"2":{"159":3}}],["cban",{"2":{"159":3}}],["clr|clear",{"2":{"637":1}}],["clr",{"2":{"562":1,"600":1,"614":2,"622":2,"633":1,"643":2,"645":1,"684":2}}],["client",{"0":{"453":1},"2":{"453":2,"454":1}}],["cli",{"2":{"433":2}}],["cleanargs",{"2":{"142":2}}],["class",{"2":{"126":1}}],["cloudsearch",{"2":{"167":2}}],["cloud",{"2":{"96":2}}],["clone",{"0":{"178":1},"2":{"43":2,"178":1}}],["cthulhu",{"2":{"558":1}}],["ctrust",{"2":{"159":3}}],["ctrl+c",{"2":{"353":1}}],["ctrl",{"2":{"22":1}}],["ctx3",{"2":{"130":2}}],["ctxfirst",{"2":{"130":2}}],["ctx",{"0":{"137":1,"138":1,"139":1,"140":1},"2":{"126":29,"127":3,"128":2,"129":2,"130":10,"131":4,"134":2,"135":4,"136":1,"137":7,"146":2,"147":1,"148":2,"149":3,"150":2,"151":9,"152":1,"153":4,"155":3,"156":2,"159":24,"161":3,"162":21,"163":2,"165":4,"166":3,"167":6,"168":1,"169":1,"171":11}}],["cast",{"0":{"647":1},"1":{"648":1},"2":{"647":1,"731":2}}],["case",{"2":{"147":1,"148":1,"149":1,"153":5,"159":5,"161":5,"162":7,"166":1,"171":7}}],["call",{"2":{"558":1}}],["ca2d",{"2":{"481":1}}],["ca",{"2":{"481":1}}],["carrier",{"2":{"481":1}}],["catch",{"2":{"162":1,"166":7}}],["catalogue",{"2":{"100":2}}],["caution",{"2":{"121":1,"122":1}}],["cache=0",{"2":{"167":2}}],["cache",{"2":{"12":1,"326":1}}],["cc",{"2":{"80":3,"105":1,"122":1}}],["c++",{"2":{"69":1,"73":1}}],["cd",{"2":{"32":2}}],["copy",{"2":{"448":1}}],["coolq",{"2":{"399":1}}],["core",{"2":{"353":2,"354":1,"358":2,"386":1,"395":1,"405":1,"416":1,"488":1,"518":8,"520":3,"667":1,"668":1}}],["coloros",{"0":{"347":1}}],["coffeescript",{"2":{"199":1}}],["couchdb",{"2":{"187":1}}],["compose",{"0":{"474":1,"475":1},"1":{"475":1,"476":1,"477":1,"478":1,"479":1},"2":{"473":1,"475":2,"476":2,"477":3,"478":1,"479":2,"482":1}}],["compile",{"2":{"463":1}}],["compare",{"2":{"104":2}}],["com",{"2":{"90":3,"93":1,"96":1,"126":1,"137":1,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"167":1,"168":1,"187":1,"188":1,"236":1,"338":1,"518":2,"551":1,"659":2}}],["commonjs",{"2":{"183":1}}],["command",{"2":{"80":1,"89":1,"142":1}}],["commas",{"2":{"69":1}}],["comments",{"2":{"69":1}}],["comment",{"2":{"69":1,"98":1,"99":1}}],["cocl",{"2":{"706":2}}],["coc|coc7",{"2":{"600":1,"622":1}}],["coc7th",{"2":{"593":1}}],["coc7",{"2":{"201":1,"546":1,"599":2,"654":2}}],["cocruleindex",{"2":{"138":1}}],["coc",{"0":{"133":1,"168":1,"274":1,"530":1,"590":1,"722":1},"1":{"275":1,"276":1,"277":1,"278":1,"531":1,"532":1,"533":1,"723":1,"724":1,"725":1,"726":1},"2":{"69":1,"71":2,"79":1,"126":4,"133":1,"144":1,"168":4,"175":1,"201":1,"207":2,"269":2,"274":1,"290":1,"292":1,"524":1,"543":2,"546":1,"555":1,"556":3,"557":1,"558":2,"590":1,"600":1,"605":1,"616":2,"620":2,"622":1,"690":1,"694":1,"706":1,"708":1,"712":1,"719":4,"720":1,"723":1}}],["configs",{"2":{"327":1}}],["config",{"2":{"171":6,"179":1,"181":2,"183":1,"185":1,"498":1,"617":3}}],["configitem",{"2":{"126":3,"170":5}}],["console",{"2":{"153":1,"167":2,"187":3}}],["const",{"2":{"144":1,"147":1,"148":1,"149":2,"151":5,"153":2,"159":11,"161":6,"162":16,"163":1,"165":1,"166":4,"167":2,"168":3,"171":3}}],["content",{"2":{"56":2,"100":2,"108":2,"270":2,"448":1,"536":2,"565":2,"567":4,"569":4,"598":6,"599":6,"602":10,"605":4,"606":4,"609":2,"611":6,"613":2,"614":6,"626":6,"627":2,"631":2,"632":10,"633":4,"638":6,"640":4,"642":2,"643":14,"645":8,"649":2,"651":2,"677":2,"679":1,"684":2}}],["connect",{"2":{"29":2}}],["code",{"0":{"14":1,"16":1,"17":1,"18":1},"2":{"178":1,"197":1,"544":2}}],["cmdgetconfig",{"2":{"171":6}}],["cmdhide",{"2":{"165":5}}],["cmdfeed",{"2":{"161":6}}],["cmdcatch",{"2":{"166":6}}],["cmdcget",{"2":{"159":5}}],["cmdctrust",{"2":{"159":5}}],["cmdcunban",{"2":{"159":5}}],["cmdcbanlist",{"2":{"159":5}}],["cmdcban",{"2":{"159":5}}],["cmdmyperm",{"2":{"153":5}}],["cmdmap",{"2":{"130":2,"149":4,"151":2,"153":1,"159":5,"161":2,"162":2,"165":1,"166":1,"171":1}}],["cmddrawdecks2",{"2":{"151":5}}],["cmddrawdecks",{"2":{"151":5}}],["cmdseal",{"2":{"146":3,"149":8,"162":6}}],["cmdexecutedlasttime",{"2":{"140":1}}],["cmdexecutednum",{"2":{"140":1}}],["cmdargs",{"0":{"142":1},"2":{"126":2,"130":3,"146":2,"147":6,"148":3,"149":4,"151":4,"153":1,"159":10,"161":2,"162":7,"165":2,"166":3,"171":2}}],["cmdadb",{"2":{"32":1}}],["cmd",{"2":{"29":3,"32":4,"130":3,"354":2,"423":1,"464":2,"465":1,"466":1,"667":2}}],["checkupdate",{"2":{"596":1}}],["check",{"0":{"724":1},"2":{"168":1,"353":2,"354":1}}],["checkvalue",{"2":{"168":5}}],["chexists",{"2":{"137":1}}],["channels",{"2":{"510":1,"511":2}}],["changing",{"2":{"464":1}}],["changingself",{"2":{"162":1}}],["changes",{"2":{"448":1}}],["chat",{"2":{"511":2}}],["chatserver",{"2":{"465":1}}],["chatgpt",{"2":{"385":1}}],["chatwithbot",{"2":{"167":1}}],["chopprefixtoargswith",{"2":{"142":1}}],["chvarsupdatetime",{"2":{"137":1}}],["chvarsnumget",{"2":{"137":1}}],["chvarsget",{"2":{"137":1}}],["chvarsclear",{"2":{"137":1}}],["chunbindcur",{"2":{"137":1}}],["chunbind",{"2":{"137":1}}],["chnew",{"2":{"137":1}}],["chload",{"2":{"137":1}}],["chget",{"2":{"137":1}}],["chbindgetlist",{"2":{"137":1}}],["chbindget",{"2":{"137":1}}],["chbindcurget",{"2":{"137":1}}],["chbindcur",{"2":{"137":1}}],["chronocat",{"0":{"23":1,"500":1,"501":1},"1":{"501":1},"2":{"23":2,"500":6}}],["chmod",{"2":{"9":1,"518":1,"550":2}}],["cpu",{"2":{"22":1,"517":1,"518":1,"524":1}}],["c",{"0":{"398":1},"1":{"399":1},"2":{"15":1,"32":2,"69":1,"73":1,"79":2,"98":1,"130":3,"147":3,"148":1,"149":1,"207":1,"317":1,"610":1,"611":1,"623":4}}],["cq",{"0":{"282":1,"399":1},"2":{"12":1,"87":1,"102":4,"105":3,"148":1,"167":2,"268":1,"399":1}}],["cqhttp",{"0":{"6":1,"20":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"6":5,"9":2,"12":5,"485":1,"486":1,"660":1}}],["a10m10k8",{"2":{"684":1}}],["ay",{"2":{"684":2}}],["a属性表达式",{"2":{"580":1}}],["agreement",{"2":{"464":1}}],["array",{"2":{"498":1}}],["array为消息组",{"2":{"498":1}}],["arm64",{"0":{"550":1},"2":{"489":1,"517":5,"518":2}}],["arm",{"2":{"489":1,"517":1,"695":1}}],["are",{"2":{"464":1}}],["args",{"2":{"142":1,"162":1}}],["a|b",{"2":{"317":1}}],["aa",{"2":{"317":1}}],["aa|bb",{"2":{"317":1}}],["aaa",{"2":{"212":2}}],["ai",{"2":{"167":3,"369":4}}],["await",{"2":{"167":3,"187":1}}],["aka",{"2":{"464":1}}],["akadd",{"2":{"162":2,"163":1}}],["akget",{"2":{"162":2}}],["aklist",{"2":{"162":3}}],["akdel",{"2":{"162":2}}],["aknew",{"2":{"162":2}}],["ak",{"2":{"162":11}}],["anchor",{"2":{"162":4,"163":1}}],["and",{"2":{"69":1}}],["andriod",{"2":{"31":1}}],["android",{"0":{"668":1},"2":{"11":3,"24":2,"26":2,"32":3,"125":1,"485":1,"490":1,"517":2}}],["abc",{"2":{"146":2,"149":2}}],["amber",{"2":{"620":1}}],["amd64",{"0":{"550":1},"2":{"517":1,"518":1}}],["amd",{"2":{"517":1}}],["amibementioned",{"2":{"142":1}}],["amp",{"0":{"534":1,"682":2,"727":1},"1":{"535":1,"536":1,"537":1,"538":1,"539":1,"540":1,"541":1,"728":1,"729":1,"730":1,"731":1,"732":1,"733":1},"2":{"100":1,"116":2,"175":1,"290":1,"292":1,"511":2,"524":1,"555":1,"557":1,"565":1,"606":1,"616":1,"620":1,"622":1,"630":5,"682":4,"690":1,"694":1,"719":3,"720":1}}],["adobe",{"2":{"187":1}}],["administrator",{"2":{"450":1}}],["admin",{"0":{"472":1},"2":{"153":1}}],["adaptersetup",{"2":{"140":1}}],["address=127",{"2":{"668":1}}],["address=0",{"2":{"667":1}}],["add",{"2":{"544":1,"596":1,"597":1,"623":2,"661":1}}],["addtrust",{"2":{"126":1,"156":1,"159":1}}],["addban",{"2":{"126":1,"155":1,"159":1}}],["adb",{"2":{"29":5,"32":10}}],["attribute",{"2":{"557":1}}],["attrs",{"2":{"356":3}}],["atinfo",{"2":{"142":1}}],["atob",{"2":{"126":1,"187":1}}],["at",{"0":{"661":1},"2":{"126":2,"142":1,"241":1,"580":1,"598":2,"613":1,"623":1,"633":1}}],["axxxxxxxb",{"0":{"117":1}}],["allowdelegate",{"2":{"166":1,"171":1}}],["alias",{"0":{"281":1,"682":1},"2":{"93":1,"682":6}}],["aliases",{"2":{"93":3}}],["alt",{"2":{"22":1}}],["asm",{"2":{"544":1}}],["async",{"2":{"167":1,"187":1}}],["assets",{"2":{"88":1}}],["asstes",{"2":{"88":2}}],["ascii",{"2":{"66":2}}],["auth",{"2":{"363":1}}],["authorization",{"2":{"450":1}}],["authors",{"2":{"80":2,"122":2}}],["author",{"2":{"80":6,"98":1,"99":1,"122":2,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"168":1,"171":1,"187":1,"188":2,"194":3,"195":1,"738":1}}],["autoreconnect",{"2":{"490":1,"492":1}}],["auto",{"2":{"214":3}}],["autosetnametemplate",{"2":{"139":1}}],["autoqsignformac",{"2":{"9":1}}],["ac8",{"2":{"706":1}}],["ac",{"2":{"557":3}}],["accept",{"2":{"657":1}}],["accesstoken",{"2":{"477":1,"490":1,"492":1}}],["access",{"2":{"9":1,"498":1}}],["account",{"2":{"490":1,"492":1}}],["action",{"2":{"489":3,"490":4}}],["active",{"2":{"138":1}}],["acrobat",{"2":{"187":1}}],["achieve",{"2":{"32":1}}],["appsettings",{"2":{"477":2,"490":3,"492":1}}],["app",{"0":{"510":1},"2":{"475":4,"509":2,"510":2,"511":1,"512":1}}],["apple",{"2":{"517":1,"518":3}}],["application",{"2":{"448":1}}],["applyplayergroupcardbytemplate",{"2":{"126":1,"135":1}}],["appname",{"2":{"201":1}}],["apache",{"2":{"149":1,"161":1,"165":1,"166":1,"168":1,"187":2,"188":2}}],["apk",{"2":{"28":2,"33":1,"332":1,"337":1,"339":1,"340":1,"517":1}}],["api",{"0":{"95":1,"126":1,"184":1},"1":{"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1},"2":{"9":1,"24":1,"31":1,"32":2,"94":1,"96":5,"126":8,"132":1,"133":1,"160":1,"164":1,"165":1,"167":8,"169":1,"170":1,"181":1,"184":2,"186":1,"187":1,"190":2,"196":4,"385":1,"416":2,"488":2,"490":1,"493":1,"509":1}}],["a",{"2":{"26":1,"42":1,"66":1,"79":2,"98":3,"100":2,"104":3,"105":2,"117":1,"130":4,"147":4,"148":2,"149":2,"356":3,"481":2,"580":2,"596":4,"609":1,"611":1,"623":5,"682":2}}],["即时疯狂症状",{"2":{"719":1}}],["即是描述场景如暴风骤雨里",{"2":{"630":1}}],["即是一级文件夹",{"2":{"293":1}}],["即大成功",{"2":{"593":1}}],["即显示当前设定的房规",{"2":{"592":1}}],["即启用正向",{"2":{"498":1}}],["即反向",{"2":{"490":1}}],["即正向",{"2":{"490":1}}],["即以上四种登录方式",{"2":{"486":1}}],["即通过第三方软件接入注册的另一个",{"2":{"485":1}}],["即基于图形渲染和鼠标点击",{"2":{"433":1}}],["即持续提供服务的机器",{"2":{"403":1}}],["即当回复内容的长度满足什么条件时会触发这条回复项",{"2":{"316":1}}],["即当前的手册",{"2":{"36":1}}],["即设置什么样的内容会触发这条回复项",{"2":{"316":1}}],["即设置拦截什么样的消息",{"2":{"251":1}}],["即快捷指令指向的原指令",{"2":{"281":1}}],["即进行暗骰时发送到私聊的回复词的前缀",{"2":{"275":1}}],["即进行暗骰时发在群里的回复词",{"2":{"275":1}}],["即调用",{"2":{"275":3,"276":1,"277":3,"278":3,"280":3,"281":1}}],["即命中敏感词后要如何处理",{"2":{"251":1}}],["即脸皮厚度和摸鱼技能等级",{"2":{"173":1}}],["即权限值",{"2":{"152":1}}],["即不展示在列表中",{"2":{"89":1}}],["即无法使用",{"2":{"89":2}}],["即在对象尾部有多余逗号时不再报错",{"2":{"72":1}}],["即在数组尾部有多余逗号时不再报错",{"2":{"71":1}}],["即只有",{"2":{"66":1}}],["即小数",{"2":{"65":1,"70":1,"77":1}}],["即可开启",{"2":{"664":1}}],["即可开始运行服务端",{"2":{"464":1}}],["即可正常访问监听本地端口的",{"2":{"482":1}}],["即可令容器使用宿主机网络",{"2":{"482":1}}],["即可登录到多个",{"2":{"475":1}}],["即可完成连接",{"2":{"466":1}}],["即可进入下一个步骤",{"2":{"464":1}}],["即可进入开发者模式",{"2":{"32":1}}],["即可按设置的方式匹配触发回复项",{"2":{"317":1}}],["即可为该回复项增加一个条件",{"2":{"316":1}}],["即可运行",{"2":{"304":1}}],["即可升级到最新",{"2":{"303":1}}],["即可升级到最新的牌堆",{"2":{"264":1}}],["即可上传到海豹核心",{"2":{"302":1}}],["即可浏览当前已经加载的帮助文档词条",{"2":{"296":1}}],["即可批量删除帮助文档",{"2":{"295":1}}],["即可将文档上传至骰子",{"2":{"293":1}}],["即可弹出帮助文档的上传框",{"2":{"293":1}}],["即可返回对应词条内容",{"2":{"291":1}}],["即可豁免检查",{"2":{"256":1}}],["即可关闭自动退群功能",{"2":{"248":1}}],["即可",{"2":{"32":1,"39":1,"475":1,"478":1,"487":1,"659":1}}],["即可配置和启动签名服务器",{"2":{"9":1}}],["即",{"0":{"22":1},"2":{"26":1,"32":1,"34":1,"96":1,"126":2,"166":1,"205":1,"281":1,"362":1,"438":1,"444":1,"614":1,"659":1,"684":1,"700":1}}],["即为所需端口",{"2":{"29":1}}],["即为",{"2":{"12":1}}],["即使有记录中的日志",{"2":{"700":1}}],["即使是持续运行数月的大型公骰",{"2":{"524":1}}],["即使你的尝试没有效果",{"2":{"388":1}}],["即使你不能完全理解日志的内容",{"2":{"387":1}}],["即使",{"2":{"110":1}}],["即使用开源签名服务",{"2":{"7":1}}],["即使成功连接",{"2":{"6":1}}],["看得很清楚吗",{"2":{"210":1}}],["看",{"2":{"9":1}}],["提问后",{"0":{"390":1},"1":{"391":1,"392":1}}],["提问时",{"0":{"384":1},"1":{"385":1,"386":1,"387":1,"388":1,"389":1}}],["提问前",{"0":{"378":1},"1":{"379":1,"380":1,"381":1,"382":1,"383":1}}],["提问的智慧",{"0":{"377":1},"2":{"377":1}}],["提高你的英文水平",{"2":{"367":1}}],["提醒",{"2":{"253":1}}],["提醒级词表",{"2":{"122":1}}],["提醒级词汇",{"2":{"121":2,"122":2}}],["提向主仓库的主分支的",{"2":{"44":1}}],["提交时间很近的时候",{"2":{"44":1}}],["提交",{"2":{"39":1}}],["提交修改",{"0":{"39":1}}],["提供属性名则列出特定属性数值",{"2":{"561":1}}],["提供对应",{"2":{"517":1}}],["提供给",{"2":{"517":1}}],["提供给更专业的用户使用",{"2":{"517":1}}],["提供的平台如下",{"2":{"517":1}}],["提供的发布指引",{"2":{"509":1}}],["提供的完整教程",{"2":{"9":1}}],["提供",{"2":{"500":1,"517":1,"599":1}}],["提供一个权限",{"2":{"471":1}}],["提供两个插件指令",{"2":{"468":1}}],["提供其他有价值的背景信息",{"0":{"389":1}}],["提供问题发生时",{"0":{"387":1}}],["提供资源管理功能",{"2":{"324":1}}],["提供云端内容",{"2":{"265":1}}],["提供检查骰子收到的消息内容中是否有敏感词汇",{"2":{"250":1}}],["提供了友好的",{"2":{"525":1}}],["提供了词库模板的下载",{"2":{"257":1}}],["提供了一些常见代码片段",{"2":{"197":1}}],["提供了让我们自己生成密码的功能",{"2":{"21":1}}],["提供正则表达式在线解析和验证",{"2":{"101":1}}],["提示需要安装其依赖的",{"2":{"193":1}}],["提示",{"2":{"8":1,"9":1,"12":1,"24":1,"27":1,"38":1,"43":1,"57":1,"63":1,"79":1,"89":1,"91":1,"100":1,"102":2,"104":1,"105":1,"108":1,"109":1,"110":1,"125":1,"126":1,"144":1,"152":2,"156":1,"170":1,"187":1,"190":1,"201":1,"212":1,"254":1,"259":1,"260":1,"261":1,"277":2,"290":1,"292":1,"293":1,"300":1,"313":1,"315":1,"316":1,"317":1,"319":1,"342":1,"343":1,"403":1,"449":1,"464":1,"466":1,"495":1,"502":1,"509":1,"514":1,"515":1,"517":1,"522":1,"523":1,"624":1,"681":1,"695":1,"720":1}}],["参考说明",{"2":{"719":1}}],["参考",{"2":{"518":1,"720":1}}],["参考以下命令运行镜像",{"2":{"518":1}}],["参考本节时请注意识别",{"2":{"126":1}}],["参见",{"2":{"401":1,"407":1,"419":1,"428":1,"439":1}}],["参与项目",{"0":{"36":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1}}],["参阅",{"2":{"9":1,"712":1,"713":1,"714":1,"715":1,"716":1,"717":1}}],["参数的写法参考角色数据录入的",{"2":{"730":1}}],["参数与参数之间添加空格能保证海豹骰识别指令时准确无误",{"2":{"695":1}}],["参数提供指令所需要的信息",{"2":{"695":1}}],["参数说明同上",{"2":{"156":1}}],["参数3",{"2":{"151":1}}],["参数2",{"2":{"151":2}}],["参数1",{"2":{"151":2}}],["参数为扩展对象",{"2":{"126":6}}],["参数为扩展对象和配置项的",{"2":{"126":7}}],["参数为",{"2":{"126":1}}],["参数",{"2":{"9":1,"146":1,"730":1}}],["ekgen",{"0":{"687":1},"2":{"546":1,"687":1,"719":1}}],["ek",{"0":{"686":1},"2":{"546":1,"686":1,"719":1}}],["emoklore",{"0":{"716":1},"2":{"546":1}}],["embed",{"2":{"511":1}}],["emulated",{"2":{"32":1,"338":1}}],["events",{"2":{"510":2}}],["every",{"2":{"242":1,"244":1}}],["ether",{"2":{"481":1}}],["edge",{"2":{"475":5,"518":2}}],["edxposed",{"2":{"27":2}}],["eula=true",{"2":{"464":2}}],["eula=false",{"2":{"464":1}}],["eula",{"2":{"464":2}}],["echo",{"2":{"464":1}}],["es6",{"2":{"187":1,"190":1}}],["esbuild",{"2":{"183":2}}],["esm",{"2":{"183":1}}],["es",{"2":{"183":1}}],["error",{"2":{"162":2,"372":1,"430":1}}],["err",{"2":{"150":1,"151":2}}],["eatprefixwith",{"2":{"142":1}}],["enabling",{"2":{"465":1}}],["enablelocalfile2url",{"2":{"498":1}}],["enablepost",{"2":{"498":1}}],["enableheart",{"2":{"498":1}}],["enable",{"2":{"140":1,"498":4,"510":2}}],["enahncement",{"2":{"368":1}}],["enough",{"0":{"360":1}}],["end===",{"2":{"544":1}}],["end",{"2":{"326":1,"633":2,"700":2,"719":1}}],["endpoints",{"2":{"136":1}}],["endpoint",{"0":{"140":1},"2":{"126":1,"136":1,"137":1}}],["en",{"0":{"278":1,"587":1},"1":{"588":1,"589":1},"2":{"588":3,"589":2,"696":1,"719":1,"726":1}}],["entries",{"2":{"161":1}}],["entered",{"2":{"466":1}}],["enteredtime",{"2":{"138":1}}],["enter",{"2":{"9":1}}],["elif",{"2":{"110":1}}],["elseif",{"2":{"110":1}}],["else",{"2":{"110":5,"115":1,"151":1,"159":7,"165":2,"167":1,"168":2,"171":1,"212":2}}],["elementplus",{"2":{"36":1}}],["e",{"2":{"32":1}}],["exit",{"2":{"356":2,"656":1,"704":1}}],["exists",{"2":{"150":1,"151":2}}],["examp",{"2":{"146":1}}],["examples",{"2":{"126":1,"137":1}}],["example",{"2":{"96":1,"151":2,"171":3}}],["extensions",{"2":{"557":1}}],["extinfo",{"2":{"145":1,"160":2}}],["extinactivebyname",{"2":{"138":1}}],["extinactive",{"2":{"138":1}}],["extgetactive",{"2":{"138":1}}],["extclear",{"2":{"138":1}}],["extactive",{"2":{"138":1}}],["extauthor",{"2":{"126":3}}],["extname",{"2":{"126":5}}],["ext",{"0":{"132":1,"599":1},"2":{"104":1,"126":35,"130":2,"144":6,"146":1,"147":2,"148":2,"149":12,"151":11,"153":9,"159":26,"161":16,"162":37,"163":3,"165":13,"166":11,"167":3,"169":7,"170":6,"171":39,"179":1,"180":1,"238":1,"543":7,"599":7,"629":1,"654":1,"694":1}}],["extra",{"2":{"12":1,"96":2,"327":1,"487":2,"660":1}}],["excel",{"0":{"100":1},"2":{"100":3}}],["expr",{"2":{"708":2}}],["exports",{"2":{"89":2,"185":1,"326":1,"702":1}}],["export",{"2":{"89":1,"93":2,"96":2,"149":1,"566":1,"636":1,"702":2}}],["exp",{"2":{"84":2}}],["executable",{"2":{"518":1}}],["exe",{"2":{"9":1,"12":2,"356":4,"358":2,"405":1,"423":1,"490":2,"518":1}}],["hyphen",{"2":{"696":1}}],["hyperos",{"0":{"344":1},"2":{"344":1}}],["halt",{"2":{"544":1,"700":1}}],["hamming",{"2":{"104":2}}],["hp10",{"2":{"706":1}}],["hp14",{"2":{"706":1}}],["hp回复1点",{"2":{"651":1}}],["hp得到了恢复",{"2":{"649":1}}],["hpmax",{"2":{"638":3,"651":1,"708":1}}],["hp+1d3",{"2":{"564":1}}],["hp",{"2":{"522":1,"567":2,"590":1,"638":7,"643":5,"645":1,"651":6,"708":2}}],["hiy",{"0":{"710":1}}],["history",{"2":{"511":4}}],["hide",{"2":{"165":6}}],["hkt",{"2":{"464":1}}],["h",{"0":{"406":1},"1":{"407":1},"2":{"520":1}}],["htop",{"2":{"361":1}}],["http上报地址",{"2":{"498":1}}],["http上报密钥",{"2":{"498":1}}],["http服务端口",{"2":{"498":1}}],["http服务监听的",{"2":{"498":1}}],["https",{"2":{"90":3,"93":1,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"167":2,"168":1,"187":1,"188":1,"409":1,"464":1,"490":1,"659":1}}],["http",{"2":{"8":1,"95":1,"96":1,"409":1,"449":1,"498":3,"515":1,"657":1,"659":1}}],["heartinterval",{"2":{"498":1}}],["heartbeatinterval",{"2":{"477":1,"490":1,"492":1}}],["headless",{"0":{"407":1},"2":{"437":1}}],["header",{"2":{"179":1,"181":1}}],["help协议",{"2":{"695":1}}],["helpdpc",{"2":{"616":1}}],["helpdoc",{"2":{"98":4,"99":1,"100":3,"290":1,"616":1,"669":1}}],["help",{"0":{"560":1,"621":1,"635":1},"2":{"98":1,"146":2,"147":3,"148":2,"149":3,"151":2,"153":1,"159":10,"161":3,"162":5,"165":2,"166":3,"171":2,"282":1,"291":1,"326":1,"464":2,"597":1,"621":2,"622":1,"625":1,"633":1,"643":1,"651":1,"691":1,"693":1,"694":2,"695":2,"719":1,"720":1,"731":2,"733":1,"738":1}}],["hello",{"2":{"77":1,"187":3}}],["how",{"2":{"379":1}}],["homepageurl",{"2":{"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"168":1,"187":1,"188":2}}],["hosting",{"2":{"490":1,"492":1}}],["hostport",{"2":{"29":1}}],["host",{"2":{"9":1,"245":2,"475":1,"477":1,"478":2,"481":1,"482":3,"490":2,"491":1,"492":1,"498":2,"518":1}}],["sr",{"2":{"715":1}}],["src",{"2":{"162":1,"181":1}}],["slots",{"0":{"645":1},"1":{"646":1}}],["slack",{"0":{"507":1,"508":1},"1":{"508":1,"509":1,"510":1,"511":1,"512":1},"2":{"50":1,"507":1,"508":1,"509":3,"512":2,"519":1}}],["szz",{"2":{"567":2,"573":1,"613":2}}],["szzrain",{"2":{"151":2,"153":3,"159":3,"171":2,"188":1,"193":4,"194":9,"195":4}}],["silicon",{"2":{"517":1,"518":1}}],["sign",{"2":{"490":2}}],["signserverurl",{"2":{"490":2,"492":1}}],["signserver",{"0":{"22":1},"2":{"22":1}}],["sdk",{"2":{"489":1,"490":4}}],["s",{"0":{"431":1},"1":{"432":1,"433":1},"2":{"371":1,"623":1,"651":1,"657":1}}],["sql",{"2":{"356":2}}],["sqlite",{"2":{"356":5}}],["systemd",{"2":{"520":2}}],["systemctl",{"2":{"353":1,"520":4}}],["synonym",{"2":{"100":4}}],["sync",{"2":{"45":1}}],["scb",{"0":{"533":1}}],["scratch",{"2":{"509":1}}],["scopes",{"2":{"511":1}}],["scope",{"2":{"450":1,"481":2}}],["score",{"2":{"157":1,"159":2}}],["sc",{"0":{"277":1,"581":1},"1":{"582":1,"583":1,"584":1,"585":1},"2":{"533":1,"544":5,"582":1,"583":2,"584":1,"654":1,"719":1,"724":4}}],["smtp",{"0":{"236":1},"2":{"234":1,"235":1,"236":2}}],["snipaste",{"2":{"372":1}}],["snippets",{"2":{"197":1}}],["sn",{"0":{"705":1},"1":{"706":1,"707":1,"708":1,"709":1},"2":{"175":2,"706":4,"707":1,"708":2,"709":1,"719":1,"720":1}}],["sudo",{"2":{"520":1}}],["sub",{"2":{"544":1}}],["subscribe",{"2":{"510":1}}],["sublime",{"2":{"125":1}}],["suffix",{"2":{"168":4}}],["successrank",{"2":{"168":10}}],["spell",{"0":{"645":1},"1":{"646":1}}],["specialexecutetimes",{"2":{"142":1}}],["spigot",{"2":{"463":3,"464":2}}],["space",{"0":{"360":1}}],["splice",{"2":{"162":2}}],["ssh",{"2":{"386":1}}],["ss",{"0":{"645":1},"1":{"646":1},"2":{"142":5,"645":12,"731":2}}],["socks5",{"2":{"659":1}}],["socks5简易工具©sealdice",{"2":{"659":1}}],["socks",{"2":{"659":2}}],["socket",{"2":{"510":2}}],["source",{"2":{"362":1}}],["something",{"2":{"126":9,"127":6}}],["somefunction",{"2":{"126":1}}],["solve",{"2":{"126":1,"130":2,"146":2,"147":1,"148":2,"149":1,"150":1,"151":2,"153":1,"155":1,"159":5,"161":1,"162":1,"165":1,"166":1,"171":1}}],["san70",{"2":{"706":1}}],["san值",{"2":{"556":1}}],["san",{"0":{"724":1},"2":{"556":1,"558":1,"708":2}}],["satori",{"0":{"501":1},"2":{"500":3,"501":1}}],["save",{"2":{"448":1,"615":1,"720":1}}],["salt",{"2":{"363":1}}],["sa",{"2":{"80":3,"122":1}}],["switch",{"2":{"58":1,"147":1,"148":1,"149":1,"153":1,"159":5,"161":1,"162":1,"166":1,"171":2}}],["search",{"2":{"626":2,"627":1,"738":1}}],["sealport",{"0":{"470":1},"2":{"465":2}}],["sealversion",{"2":{"188":2,"196":3}}],["sealdce",{"2":{"179":1,"180":1}}],["sealdice将自动随系统启动",{"2":{"520":1}}],["sealdiceplugin",{"2":{"465":4,"466":1}}],["sealdice",{"0":{"326":1,"363":1,"465":1,"467":1,"469":1,"472":1},"1":{"468":1,"469":1,"470":1,"471":1,"472":1},"2":{"42":1,"46":1,"87":1,"98":1,"100":1,"126":1,"137":1,"149":1,"151":1,"161":1,"162":1,"165":1,"166":1,"168":1,"187":1,"188":1,"195":2,"197":1,"201":2,"282":3,"338":2,"353":2,"358":2,"362":1,"363":1,"364":2,"374":2,"376":1,"386":2,"387":1,"394":1,"395":3,"396":2,"405":1,"461":1,"462":1,"463":2,"465":2,"475":8,"518":11,"520":9,"551":2,"598":2,"668":1,"690":1,"691":1}}],["seal",{"2":{"126":56,"127":3,"128":2,"129":4,"130":4,"131":4,"134":2,"135":4,"136":3,"137":1,"144":3,"145":1,"146":6,"147":6,"148":7,"149":20,"150":1,"151":12,"153":7,"155":2,"156":2,"157":1,"158":1,"159":35,"161":9,"162":20,"163":1,"165":11,"166":8,"167":5,"168":3,"169":3,"170":6,"171":29,"181":1,"184":3,"187":1,"190":3,"475":12,"476":2}}],["secret",{"2":{"498":1}}],["service",{"2":{"520":2}}],["services",{"2":{"475":2}}],["server",{"2":{"403":1,"448":1,"465":1,"487":2,"554":1,"659":3}}],["serve",{"2":{"327":1}}],["select",{"2":{"463":1}}],["semver",{"2":{"194":2}}],["semver版本约束",{"2":{"194":1}}],["semantic",{"2":{"188":1}}],["setting",{"2":{"464":1}}],["settimeout",{"2":{"187":1}}],["setinterval",{"2":{"187":1}}],["set",{"0":{"600":1,"622":1},"2":{"175":2,"201":1,"600":5,"622":9,"633":2,"645":2,"680":1,"684":3,"719":3}}],["setcoc",{"0":{"591":1},"1":{"592":1,"593":1,"594":1},"2":{"168":2,"546":1,"568":1,"592":1,"593":1,"594":1,"712":1,"719":2}}],["setenable",{"2":{"140":1}}],["setplayergroupcard",{"2":{"126":1,"135":1}}],["setvarstr",{"2":{"126":1}}],["setvarint",{"2":{"126":1}}],["sender",{"2":{"126":1,"136":1,"141":3,"167":1}}],["send",{"0":{"679":1},"2":{"56":1,"108":1,"270":1,"536":1,"565":1,"567":2,"569":2,"598":3,"599":3,"602":5,"605":2,"606":2,"609":1,"611":3,"613":1,"614":3,"626":3,"631":1,"632":5,"633":2,"638":3,"640":2,"642":1,"643":7,"645":4,"649":1,"651":1,"677":1,"679":4,"684":1,"719":1}}],["session",{"2":{"8":1}}],["stshow力量",{"2":{"522":1}}],["story",{"2":{"543":2}}],["storageget",{"2":{"160":1,"161":2,"162":4,"163":1}}],["storageset",{"2":{"160":1,"161":1,"162":4,"163":1}}],["storage",{"2":{"32":1,"162":9,"163":3,"338":1}}],["stopped",{"2":{"475":5}}],["stop",{"2":{"353":1,"464":1,"477":1,"520":1}}],["st",{"0":{"276":1,"559":1,"560":1,"634":1,"635":1},"1":{"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"635":1,"636":1,"637":1,"638":1,"639":1},"2":{"175":1,"209":1,"522":1,"556":4,"561":1,"562":2,"563":3,"564":2,"565":1,"566":2,"567":2,"636":4,"637":2,"638":10,"643":3,"651":2,"719":2,"720":1,"730":1}}],["stack",{"2":{"369":1}}],["stat",{"2":{"651":1,"701":2}}],["status",{"2":{"167":1,"520":1}}],["state",{"2":{"140":1,"481":1}}],["started",{"2":{"465":2}}],["start",{"0":{"22":1},"2":{"9":3,"32":1,"464":3,"465":1,"514":1,"520":1}}],["str+10",{"2":{"556":1}}],["strval",{"2":{"171":2}}],["struct",{"2":{"170":1}}],["strset",{"2":{"126":1,"131":1}}],["strsim",{"2":{"104":4}}],["strget",{"2":{"126":3,"131":1}}],["str",{"2":{"126":6,"142":2,"556":4}}],["string为cq码字符串",{"2":{"498":1}}],["stringify",{"2":{"160":1,"161":1,"162":4,"163":1,"167":2}}],["string",{"2":{"104":2,"126":6,"135":2,"137":1,"141":3,"142":6,"170":3}}],["strcompare",{"2":{"104":1}}],["shadowrun",{"0":{"715":1},"2":{"715":1}}],["shamrock",{"0":{"24":1,"28":1,"31":1,"34":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"32":1,"33":1,"34":1,"35":1},"2":{"24":17,"28":10,"31":4,"32":1,"34":3,"35":1,"490":1,"493":1}}],["shufflepool",{"2":{"150":2}}],["showhelp",{"2":{"147":2,"148":2,"149":2,"159":5,"161":1,"162":1,"165":1,"166":1,"171":1}}],["showgroupwelcome",{"2":{"138":1}}],["show",{"2":{"58":1,"556":1,"561":1,"567":1,"636":3,"638":2,"643":3,"680":1,"682":1,"719":1}}],["shellsystemctl",{"2":{"520":1}}],["shellsqlite3",{"2":{"356":2}}],["shellsealdice",{"2":{"353":1,"354":1}}],["shell",{"0":{"433":1},"2":{"32":1,"353":1,"372":1,"414":3,"421":4,"423":3,"433":5,"444":4}}],["shizuku",{"0":{"32":1},"2":{"31":1,"32":5,"33":2}}],["sh",{"2":{"9":2,"32":2}}],["及以上系统",{"2":{"659":2}}],["及以上的新版本",{"2":{"500":1}}],["及以上的",{"2":{"462":1}}],["及以上",{"2":{"462":1}}],["及以上版本需要使用",{"2":{"462":1}}],["及以上版本的",{"2":{"24":1}}],["及之后版本的",{"2":{"24":1}}],["及运行",{"2":{"9":1}}],["及",{"2":{"9":1,"475":1}}],["点入",{"2":{"659":1}}],["点数",{"2":{"590":1}}],["点赞或评论",{"2":{"368":1}}],["点左侧",{"2":{"270":1}}],["点开",{"2":{"227":1}}],["点开以后删掉文件夹里的",{"2":{"9":1}}],["点生命值",{"2":{"174":1}}],["点游戏",{"2":{"174":1}}],["点击配置规则",{"2":{"659":1}}],["点击默认存在在的代理",{"2":{"659":1}}],["点击图中",{"2":{"659":1}}],["点击确定",{"2":{"659":1}}],["点击确定后",{"2":{"270":1}}],["点击手机海豹的",{"2":{"551":1}}],["点击即可打开后台",{"2":{"518":1}}],["点击侧边栏前往",{"2":{"511":1}}],["点击侧边导航栏",{"2":{"448":1}}],["点击进入页面后拉到最下方",{"2":{"489":1}}],["点击右下角的",{"2":{"463":1}}],["点击右上角的",{"2":{"270":1}}],["点击应用卡片可在",{"2":{"453":1}}],["点击连接",{"2":{"449":1,"454":1,"458":1,"512":1,"515":1}}],["点击重载牌堆",{"2":{"387":1}}],["点击可以向当前文件中添加一条回复项",{"2":{"315":1}}],["点击页面上的",{"2":{"294":1}}],["点击页面右上角的",{"2":{"215":1}}],["点击它选择本地的牌堆文件上传后即可读取牌堆",{"2":{"261":1}}],["点击左上角开关来启用拦截",{"2":{"250":1}}],["点击海豹",{"2":{"222":1,"250":1,"261":1,"292":1,"301":1,"310":1}}],["点击垃圾桶图标按钮以删除单个备份文件",{"2":{"220":1}}],["点击每一个备份文件右边的",{"2":{"220":1}}],["点击你想要修改的文件",{"2":{"43":1}}],["点击按钮后进入如下页面",{"2":{"42":1}}],["点击",{"2":{"42":1,"45":1,"178":2,"224":1,"264":2,"293":2,"302":1,"303":2,"304":1,"311":1,"316":1,"319":1,"338":1,"448":2,"457":1,"487":1,"495":1,"509":1,"659":1}}],["点击等待重启",{"2":{"27":1}}],["点击下面的",{"2":{"8":1}}],["一行",{"2":{"672":1}}],["一种特殊的六面骰",{"2":{"608":1}}],["一种格式化后的参数",{"2":{"142":1}}],["一群",{"2":{"554":1}}],["一章",{"2":{"519":1}}],["一节",{"2":{"490":1,"527":1}}],["一节中的介绍",{"2":{"480":1}}],["一节中海豹连接",{"2":{"478":1}}],["一节中运行",{"2":{"477":1}}],["一节中",{"2":{"382":1,"473":1,"474":1}}],["一词更多地被翻译为中性的",{"2":{"410":1}}],["一文广为流传",{"2":{"377":1}}],["一条作为结果",{"2":{"319":1}}],["一旦点击确认",{"2":{"311":1}}],["一旦您有以上禁止行为",{"2":{"46":1}}],["一级文件夹名将作为其中所有文档的分组名",{"2":{"292":1}}],["一切就是刚开始的样子了",{"2":{"270":1}}],["一定要开启",{"2":{"240":1}}],["一定会获得",{"2":{"86":1}}],["一些系统",{"2":{"696":1}}],["一些系统也称",{"2":{"343":1}}],["一些骰子服务",{"2":{"690":1}}],["一些分支专精技能的名字",{"2":{"556":1}}],["一些看起来详尽的指导细细读来却可能完全看不懂",{"2":{"366":1}}],["一些插件作者为扩展提供了更新链接",{"2":{"303":1}}],["一些杂项文案设置",{"2":{"269":1}}],["一些牌堆作者为牌堆提供了云端内容",{"2":{"265":1}}],["一些牌堆作者为牌堆提供了更新链接",{"2":{"264":1}}],["一些内置变量",{"2":{"201":1}}],["一些有帮助的资源",{"0":{"197":1}}],["一些强",{"2":{"183":1}}],["一些编译的配置",{"2":{"181":1}}],["一下看看是谁写的",{"2":{"131":2}}],["一下看看是谁写的`",{"2":{"131":1}}],["一般形式为",{"2":{"696":1}}],["一般使用邀请链接或者其他方式",{"2":{"691":1}}],["一般都要求用户严格遵循使用协议",{"2":{"691":1}}],["一般为",{"2":{"659":1}}],["一般而言",{"2":{"358":1,"691":1}}],["一般用于各种规则的资料查询",{"2":{"289":1}}],["一般来说是磁盘",{"2":{"669":1}}],["一般来说纯",{"2":{"183":1}}],["一般来说在群内拉黑就写群",{"2":{"155":1}}],["一般来说",{"2":{"144":1}}],["一般会在定义指令函数时就声明",{"2":{"126":1}}],["一般情况下你都可以留空",{"2":{"100":1}}],["一般情况下",{"2":{"27":1,"409":1}}],["一棵是反函树",{"2":{"119":1}}],["一棵是函树",{"2":{"119":1}}],["一脚踢向海豹",{"2":{"114":1}}],["一个指令由指令前缀",{"2":{"692":1}}],["一个海豹骰自用",{"2":{"691":1}}],["一个较为常见的用法是",{"2":{"576":1}}],["一个可用的机器人账号",{"2":{"523":1}}],["一个正确的",{"2":{"490":1}}],["一个端口只能被一个服务端监听使用",{"2":{"409":1}}],["一个端口",{"2":{"409":1}}],["一个有效的问题解决方案可以扩充海豹社区对问题的经验",{"2":{"391":1}}],["一个问题可能是也可能不是由用户错误的操作引起的",{"2":{"386":1}}],["一个小例子",{"2":{"371":1}}],["一个更高效",{"2":{"369":1}}],["一个更加简单易用的跑团骰子系统",{"2":{"68":2,"72":2,"78":2}}],["一个合理的开源项目",{"2":{"368":1}}],["一个建议",{"2":{"358":1}}],["一个汉字算作两个字符",{"2":{"318":1}}],["一个完整的非指令关键词模板如下",{"2":{"169":1}}],["一个取",{"2":{"160":1}}],["一个存",{"2":{"160":1}}],["一个测试词库",{"2":{"122":1}}],["一个实时更新的公骰列表牌堆",{"2":{"94":1}}],["一个项中抽取其他项",{"0":{"82":1},"1":{"83":1}}],["一个",{"2":{"80":3,"126":4,"144":1}}],["一个简单易用的跑团骰子系统",{"2":{"68":3,"72":2,"78":2,"100":1,"552":1}}],["一起开始海豹的开发吧",{"2":{"553":1}}],["一起被去除",{"2":{"67":1}}],["一起努力让海豹变得更好",{"2":{"36":1}}],["一键注入文件提供器功能",{"2":{"339":1}}],["一键",{"2":{"9":1}}],["一栏的",{"2":{"8":1}}],["如图选择匹配类型和动作",{"2":{"659":1}}],["如图所示",{"2":{"371":1}}],["如不指定",{"2":{"615":1}}],["如不正常的登录方式",{"2":{"485":1}}],["如属性比较",{"2":{"579":1}}],["如无法使用内置客户端登录",{"2":{"518":1}}],["如跑团",{"2":{"502":1}}],["如若想修改端口请在",{"2":{"495":1}}],["如需要在低版本运行请自行验证服务端与",{"2":{"462":1}}],["如需删除某些帮助文档",{"2":{"295":1}}],["如正则表达式等",{"2":{"321":1}}],["如牌堆",{"2":{"321":1}}],["如勾选",{"2":{"264":1,"303":1}}],["如收到",{"2":{"252":1}}],["如下图的",{"2":{"283":1}}],["如下",{"2":{"165":1}}],["如指令文本",{"2":{"146":1,"149":1,"167":1}}],["如当前发指令用户",{"2":{"146":1,"149":1,"167":1}}],["如常用的开启",{"2":{"144":1}}],["如要每群自行将",{"2":{"115":1}}],["如命名为",{"2":{"105":1}}],["如将工作表命名为",{"2":{"100":1}}],["如此一来当你发送",{"2":{"98":1}}],["如上述示例中可以使用",{"2":{"93":1}}],["如作者",{"2":{"80":1}}],["如换行",{"2":{"67":1}}],["如中文",{"2":{"66":1}}],["如修改",{"2":{"56":1}}],["如有需求",{"2":{"509":1}}],["如有需要",{"2":{"475":2}}],["如有",{"2":{"38":1}}],["如有其它需求请阅读",{"2":{"28":1}}],["如替换为上面示例中的",{"2":{"29":1}}],["如示例中就是",{"2":{"29":1}}],["如对手册有什么改进内容可以在该项目提交",{"2":{"36":1}}],["如对",{"2":{"26":1}}],["如何自定义",{"2":{"624":1}}],["如何判断海豹的数据库是否损坏",{"2":{"352":1}}],["如何更新",{"0":{"340":1}}],["如何实现多个内容中任意一个均可触发回复项",{"2":{"316":1}}],["如何使用",{"0":{"306":1}}],["如何使用帮助文档",{"0":{"291":1}}],["如何安装和管理",{"0":{"301":1},"1":{"302":1,"303":1,"304":1,"305":1}}],["如何管理帮助文档",{"0":{"292":1},"1":{"293":1,"294":1,"295":1,"296":1}}],["如何快速导入",{"2":{"272":1}}],["如何修改文案",{"0":{"269":1},"1":{"270":1,"271":1,"272":1}}],["如何编写",{"0":{"307":1}}],["如何编写帮助文档",{"0":{"297":1}}],["如何编写牌堆",{"0":{"266":1}}],["如何编写敏感词库",{"0":{"257":1}}],["如何让用户",{"0":{"256":1}}],["如何设置骰子收到了某些词语时自动拦截掉这些用户",{"2":{"250":1}}],["如何设置黑白名单",{"0":{"222":1}}],["如何避免",{"2":{"250":1}}],["如何开始",{"2":{"187":1}}],["如何尽量保持产物的可读性",{"0":{"185":1}}],["如何解决内存不足",{"0":{"359":1},"1":{"360":1,"361":1}}],["如何解决",{"0":{"184":1}}],["如何建立一个扩展",{"2":{"144":1}}],["如何获取安装包",{"2":{"125":1}}],["如何正确提问",{"0":{"375":1},"1":{"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1,"388":1,"389":1,"390":1,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1},"2":{"48":1,"357":1,"365":1,"397":1,"554":1}}],["如何高效学习",{"0":{"365":1},"1":{"366":1,"367":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1},"2":{"48":1,"357":1,"375":1,"382":1,"397":1,"516":1}}],["如何参与项目",{"0":{"37":1},"1":{"38":1,"39":1}}],["如何",{"2":{"24":1}}],["如何启动多个",{"0":{"19":1}}],["如何搭建签名服务",{"0":{"9":1}}],["如电脑连手机热点",{"2":{"17":1}}],["如",{"2":{"15":1,"32":1,"65":1,"84":1,"93":1,"126":1,"183":1,"186":1,"188":1,"196":1,"226":1,"269":1,"275":1,"317":1,"318":1,"356":1,"358":1,"362":1,"461":1,"489":1,"491":1,"498":3,"499":1,"556":8,"563":1,"564":1,"577":3,"638":1,"640":1,"690":2,"693":1,"696":1}}],["如果还需要使用这张人物卡",{"2":{"720":1}}],["如果还想要取出其中的日志",{"2":{"703":1}}],["如果骰子配置了发件邮箱",{"2":{"702":1}}],["如果平台支持发送文件",{"2":{"702":1}}],["如果已经上传到染色器",{"2":{"702":1}}],["如果已创建就直接使用",{"2":{"149":1,"161":1,"166":1}}],["如果指定日志名",{"2":{"700":1}}],["如果当前日志存在",{"2":{"700":1}}],["如果创建成功",{"2":{"700":1}}],["如果本群的当前日志不为空",{"2":{"700":1,"701":1}}],["如果要了解如何搭建和部署骰子",{"2":{"689":1}}],["如果超过半数的骰子骰出",{"2":{"688":1}}],["如果以后再出类似情况",{"2":{"659":1}}],["如果打不开网页或提示",{"2":{"659":1}}],["如果可能的话你可以从",{"2":{"659":1}}],["如果轮到玩家行动",{"2":{"633":1}}],["如果省略角色名则默认为当前角色",{"2":{"632":1}}],["如果省略数量将生成",{"2":{"631":1}}],["如果省略数量",{"2":{"590":1}}],["如果通过",{"2":{"622":1}}],["如果通过日志",{"2":{"361":1}}],["如果从未设置过",{"2":{"622":1}}],["如果提供了分组名",{"2":{"616":1}}],["如果提示",{"2":{"9":1}}],["如果命中",{"2":{"589":1}}],["如果命令中没写名字",{"2":{"146":1,"149":1}}],["如果命令写",{"2":{"146":1,"149":1,"166":1}}],["如果检定失败时成长为",{"2":{"589":1}}],["如果检定成功时不失去理智",{"2":{"583":1}}],["如果抽到的是恐惧症与躁狂症",{"2":{"586":2}}],["如果抽取",{"2":{"83":2}}],["如果疯狂发作时调查员周围没有其他调查员陪伴",{"2":{"586":1}}],["如果文件权限不正确",{"2":{"550":1}}],["如果目录体积较大",{"2":{"548":1}}],["如果这不是你期望的情况",{"2":{"510":1}}],["如果获取不到url则使用base64字段返回文件内容",{"2":{"498":1}}],["如果没有生成该文件",{"2":{"492":1}}],["如果没有请参照你使用的模拟器说明",{"2":{"27":1}}],["如果配置了多个",{"2":{"478":1}}],["如果给予海豹的权限不充分",{"2":{"450":1,"455":1,"459":1}}],["如果发现自己使用的",{"2":{"426":1}}],["如果希望骰子",{"2":{"403":1}}],["如果希望骰子能对某些关键词做出响应",{"2":{"309":1}}],["如果确定需要通过你的反馈对程序进行改动",{"2":{"395":1}}],["如果确实存在占用过高的情况",{"2":{"361":1}}],["如果问题没能解决",{"0":{"392":1}}],["如果问题解决了",{"0":{"391":1}}],["如果回答者提供的解决方案解决了你的问题",{"2":{"391":1}}],["如果再遇到类似的问题",{"2":{"372":1}}],["如果出现类似场景",{"2":{"681":1}}],["如果出现例如家里突然停电了这样的情况",{"2":{"403":1}}],["如果出现莫名其妙的程序中断",{"0":{"361":1}}],["如果出现了崩溃或闪退的情况",{"2":{"22":1}}],["如果直接在解压缩应用",{"2":{"358":1}}],["如果仍然提示损坏",{"2":{"355":1}}],["如果对应端口已占用请自行调整",{"2":{"490":1}}],["如果对使用命令行感到困难",{"2":{"353":1}}],["如果对其中某种格式的语法有了解",{"2":{"62":1}}],["如果保活仍然失效",{"2":{"344":1}}],["如果条件允许的话",{"2":{"342":1}}],["如果全部满足",{"2":{"314":1}}],["如果显示的",{"2":{"659":1}}],["如果显示",{"2":{"311":1}}],["如果显示未启用的话",{"2":{"250":1}}],["如果左上角的开关未打开",{"2":{"301":1}}],["如果需要对一个技能进行多次成长",{"2":{"588":1}}],["如果需要发送截图",{"2":{"363":1}}],["如果需要导入",{"2":{"272":1}}],["如果需要通过关闭进程来腾出运行内存",{"2":{"22":1}}],["如果设置中勾选了",{"2":{"254":1}}],["如果设置了多个问题",{"2":{"247":1}}],["如果未发送消息的天数超过了你的设定",{"2":{"248":1}}],["如果留空",{"2":{"247":1}}],["如果忘记密码请看",{"2":{"245":1}}],["如果您感觉难以理解",{"2":{"244":1}}],["如果勾选了",{"2":{"219":2}}],["如果上面的代码输出",{"2":{"212":1}}],["如果灵视达到",{"2":{"209":1,"211":1}}],["如果灵视达到40以上",{"2":{"209":1}}],["如果积分相同",{"2":{"174":1}}],["如果生命值归零",{"2":{"174":1}}],["如果累计积分仍大于",{"2":{"174":1}}],["如果选择不摸鱼",{"2":{"174":1}}],["如果选择摸鱼后累计积分超过",{"2":{"174":1}}],["如果选择摸鱼",{"2":{"174":1}}],["如果不指定日志名",{"2":{"700":1}}],["如果不指定",{"2":{"572":1,"735":3}}],["如果不存在则为群昵称或",{"2":{"201":1}}],["如果不打算使用",{"2":{"178":1}}],["如果不对请拷打我",{"2":{"165":1}}],["如果不知道这些是干什么的",{"2":{"9":1}}],["如果用户没有在黑名单",{"2":{"158":1}}],["如果有调整值",{"2":{"578":1}}],["如果有可能",{"2":{"485":1}}],["如果有需要",{"0":{"395":1}}],["如果有某个数据库文件后输出了",{"2":{"353":1}}],["如果有则返回一个",{"2":{"158":1}}],["如果有名为",{"2":{"142":1}}],["如果有的服务器要求特定的鉴权",{"2":{"8":1}}],["如果是来自群组",{"2":{"679":1}}],["如果是",{"2":{"623":1,"654":1,"659":2}}],["如果是群聊发送那么在群里回复",{"2":{"148":1,"149":1}}],["如果是群聊",{"2":{"141":1}}],["如果是对代码仓库进行修改",{"2":{"41":1}}],["如果一部分变量无效",{"2":{"201":1}}],["如果一切正常则为",{"2":{"126":1}}],["如果一行的最后一个非空白字符是未被转义的",{"2":{"67":1}}],["如果后面有需要优先计算与或的东西",{"2":{"116":1}}],["如果想要添加一行",{"2":{"270":1}}],["如果想要在某个变量为空时",{"2":{"114":1}}],["如果想要输出字符串",{"2":{"109":1}}],["如果采用第一种分行的写法",{"2":{"114":1}}],["如果捕获组存在命名",{"2":{"105":1}}],["如果在不知道如何在用户群提问能尽量干脆利落",{"2":{"376":1}}],["如果在手册的一般教程中没能找到答案",{"2":{"368":1}}],["如果在上次导出后产生了新数据",{"2":{"338":1,"551":1}}],["如果在使用中依然存在疑问",{"2":{"123":1}}],["如果在",{"2":{"89":1}}],["如果使用者的名字有ob前缀",{"2":{"704":1}}],["如果使用的是",{"2":{"700":1}}],["如果使用遇到问题",{"2":{"554":1}}],["如果使用",{"2":{"86":1}}],["如果字符串有很多行",{"2":{"67":1}}],["如果都不了解",{"2":{"62":1}}],["如果之后还要提交新的",{"2":{"45":1}}],["如果",{"2":{"43":1,"110":3,"455":1,"623":1,"659":1}}],["如果此处已经有",{"2":{"42":1}}],["如果模拟器中没有安装",{"2":{"28":1}}],["如果你已经有使用其他骰系的经验",{"2":{"689":1}}],["如果你向机器人连续发送",{"2":{"681":1}}],["如果你无法理解发生了什么",{"2":{"654":1}}],["如果你无法访问上述资源",{"2":{"369":1}}],["如果你无法访问",{"2":{"369":1}}],["如果你确实想了解",{"2":{"557":1}}],["如果你喜欢的规则这里没有",{"2":{"546":1}}],["如果你选择正向连接方式",{"2":{"490":1}}],["如果你海豹所处的位置直接访问",{"2":{"449":1,"515":1}}],["如果你暂时没有时间完整地阅读上述文章",{"2":{"377":1}}],["如果你只使用广度优先的方式学习知识",{"2":{"372":1}}],["如果你只使用深度优先的方式学习知识",{"2":{"371":1}}],["如果你只需要详细了解某个特定话题",{"2":{"47":1}}],["如果你能用英文提出问题",{"2":{"369":1}}],["如果你能确定导致你数据库出问题的事件",{"2":{"355":1}}],["如果你英文足够熟练",{"2":{"369":1}}],["如果你知道如何访问",{"2":{"369":1}}],["如果你正在解决特定项目中遇到的问题",{"2":{"368":1}}],["如果你仍在上学",{"2":{"367":1}}],["如果你从未接触过计算机以及服务器",{"2":{"366":1}}],["如果你在一个群中通过",{"2":{"700":1}}],["如果你在运行",{"2":{"490":1}}],["如果你在",{"2":{"440":1}}],["如果你在实现某功能的过程中遇到了麻烦",{"2":{"385":1}}],["如果你在资源有限的小型计算机",{"2":{"361":1}}],["如果你在阅读其它人的",{"2":{"79":1}}],["如果你注册了系统服务",{"2":{"353":1}}],["如果你发现指令的回复与预期不符合",{"2":{"694":1}}],["如果你发现你在启动海豹核心",{"2":{"440":1}}],["如果你发现你的问题在",{"2":{"368":2}}],["如果你发现某个页面包含你需要的信息",{"2":{"369":1}}],["如果你发现角色卡或",{"2":{"353":1}}],["如果你发现有一些存在的",{"2":{"184":1}}],["如果你并不确定该怎么做",{"2":{"342":1}}],["如果你有",{"2":{"486":1}}],["如果你有复杂回复编写的需要",{"2":{"321":1}}],["如果你有一些其它骰系的插件",{"2":{"199":1}}],["如果你有一台已经",{"2":{"24":1}}],["如果你觉得某一行不满意",{"2":{"270":1}}],["如果你所说的其他编程语言为",{"2":{"199":1}}],["如果你需要把电脑海豹的数据迁移到手机海豹上",{"2":{"551":1}}],["如果你需要访问宿主机上监听",{"2":{"518":1}}],["如果你需要这样的持久变量",{"2":{"201":1}}],["如果你需要的",{"2":{"190":1}}],["如果你需要最准确的内容",{"2":{"126":1}}],["如果你打算使用",{"2":{"177":1,"191":1}}],["如果你尚未阅读",{"2":{"172":1}}],["如果你想主持游戏",{"2":{"720":1}}],["如果你想在",{"0":{"667":1}}],["如果你想知道如何进行自定义",{"2":{"624":1}}],["如果你想尝试一下这样的机器人",{"2":{"503":1}}],["如果你想认真地学习如何问出一个好问题",{"2":{"377":1}}],["如果你想改进速查表的内容",{"2":{"368":1}}],["如果你想回到初始设置",{"2":{"270":1}}],["如果你想要问的问题是新的",{"2":{"395":1}}],["如果你想要让海豹实现某些功能",{"2":{"385":1}}],["如果你想要修改骰子向用户回复的提示词",{"2":{"268":1}}],["如果你想要给这个命令起一个别名",{"2":{"149":1}}],["如果你想使用",{"2":{"24":1,"57":1}}],["如果你不是海豹账号的好友",{"2":{"612":1}}],["如果你不跑这些规则",{"2":{"546":1}}],["如果你不想要任何娱乐功能",{"2":{"543":1}}],["如果你不想发布时在压缩包里添加一个教程",{"2":{"88":1}}],["如果你不确定某些信息是否应该重新描述",{"2":{"392":1}}],["如果你不清楚什么是日志",{"2":{"387":1}}],["如果你不知道",{"2":{"368":2}}],["如果你不知道选择什么",{"2":{"125":1}}],["如果你不得不在短时间内理解特定的英文内容",{"2":{"367":1}}],["如果你不慎拒绝通知权限",{"2":{"350":1}}],["如果你不了解这个指令",{"2":{"240":1}}],["如果你这么做了",{"2":{"105":1}}],["如果你还不熟悉它们",{"2":{"186":1}}],["如果你还没有阅读该章节",{"2":{"101":1}}],["如果你还希望海豹接入更多平台",{"2":{"50":1}}],["如果你对于玩法还不熟悉",{"2":{"720":1}}],["如果你对于服务器或电脑尚不了解",{"2":{"48":1}}],["如果你对计算机",{"2":{"516":1}}],["如果你对使用命令行感到困难",{"2":{"354":1}}],["如果你对上面的内容感到陌生",{"2":{"191":1}}],["如果你对这些内容感到陌生",{"2":{"177":1}}],["如果你对正则表达式还很陌生",{"2":{"101":1}}],["如果你对",{"2":{"97":1,"122":1}}],["如果你希望保留旧的备份文件",{"2":{"549":1}}],["如果你希望保证发言顺序",{"2":{"320":1}}],["如果你希望在",{"2":{"523":1}}],["如果你希望直接尝试以上插件的效果",{"2":{"176":1}}],["如果你希望某些牌组彻底隐藏",{"2":{"89":1}}],["如果你希望自己动手",{"2":{"53":1}}],["如果你使用公骰",{"2":{"693":1,"697":1}}],["如果你使用远程",{"2":{"520":1}}],["如果你使用该种连接方式",{"2":{"490":1}}],["如果你使用的是",{"2":{"214":1,"322":1,"323":1,"492":1,"657":1}}],["如果你使用",{"2":{"69":1,"657":1,"659":1}}],["如果你出现了奇怪的问题",{"2":{"63":1}}],["如果你之前部署过海豹核心",{"2":{"49":1}}],["如果你是骰主",{"2":{"543":1,"654":1,"662":1}}],["如果你是在服务器上部署",{"2":{"495":1}}],["如果你是在",{"2":{"492":1}}],["如果你是从零开始部署",{"2":{"49":1}}],["如果你是旧版本",{"2":{"32":1}}],["如果你曾经修改了主分支",{"2":{"45":1}}],["如果你熟悉",{"2":{"43":1,"356":1}}],["如果你的问题并没有在这里得到答案",{"2":{"653":1}}],["如果你的问题并不涉及某个的要素",{"2":{"384":1}}],["如果你的系统没有自动允许海豹核心访问存储空间",{"2":{"349":1}}],["如果你的手机系统支持",{"2":{"336":1}}],["如果你的海豹版本较新",{"2":{"62":1}}],["如果你的电脑是",{"2":{"32":1}}],["如果你的",{"2":{"11":1,"596":1}}],["如果你的动手能力足够强或者有足够的电脑知识",{"2":{"8":1}}],["如果登录成功",{"2":{"12":1}}],["1环",{"2":{"645":2}}],["1环3个",{"2":{"645":1}}],["13326",{"2":{"659":3}}],["13325",{"2":{"659":6}}],["13",{"2":{"631":9,"632":3}}],["13579",{"2":{"8":1}}],["1=1",{"2":{"608":1}}],["1=",{"2":{"567":1}}],["1+32",{"2":{"611":2}}],["1+d10",{"2":{"544":2}}],["1+2",{"2":{"544":1}}],["19",{"2":{"606":2,"632":1}}],["192",{"2":{"409":1}}],["1919810",{"2":{"80":4,"90":3,"93":1}}],["1919",{"2":{"65":2,"80":4}}],["1h30m10s",{"2":{"242":1}}],["1500",{"2":{"481":1}}],["15",{"2":{"162":1,"201":1,"607":1,"618":1,"631":6,"632":3}}],["16",{"2":{"462":2,"481":1,"536":1,"606":1,"609":1,"626":1,"631":6,"633":2,"643":2}}],["168",{"2":{"409":1}}],["1698636875",{"2":{"171":1}}],["1699086084",{"2":{"153":1}}],["1699077659",{"2":{"151":1}}],["1673250115",{"2":{"201":1}}],["1672066028",{"2":{"188":1}}],["1672423909",{"2":{"161":1}}],["1671886435",{"2":{"168":1}}],["1671540835",{"2":{"165":1,"166":1}}],["1671368035",{"2":{"149":1,"187":1}}],["1676386517",{"2":{"162":1}}],["18",{"2":{"149":1,"187":1,"462":3,"492":2,"536":1,"606":1,"631":1,"640":1}}],["1d1d1d1d1d1d1d1d1d1d1d1d1d1d",{"2":{"611":1}}],["1d100",{"2":{"724":1}}],["1d100=3",{"2":{"270":2}}],["1d100=60",{"2":{"114":1}}],["1d10+",{"2":{"611":2}}],["1d10=1",{"2":{"611":1}}],["1d10=8",{"2":{"603":1}}],["1d10=7",{"2":{"603":1}}],["1d10=3",{"2":{"544":1,"612":1}}],["1d10",{"2":{"84":1,"724":1}}],["1d50=25",{"2":{"611":1}}],["1d50=21",{"2":{"611":1}}],["1d50=4",{"2":{"602":1}}],["1d50=48",{"2":{"602":1}}],["1d4+4",{"2":{"643":1}}],["1d4+",{"2":{"544":1}}],["1d4",{"2":{"544":1,"651":1,"724":1}}],["1d20=20",{"2":{"651":1}}],["1d20=3",{"2":{"651":1}}],["1d20=8",{"2":{"640":1}}],["1d20=16",{"2":{"642":1}}],["1d20=19",{"2":{"632":1}}],["1d20=15",{"2":{"632":3}}],["1d20=12",{"2":{"613":1}}],["1d20=18",{"2":{"613":1}}],["1d20=1",{"2":{"611":1}}],["1d20",{"2":{"544":1,"611":1}}],["1d6=5",{"2":{"565":1}}],["1d6",{"2":{"111":1,"638":1}}],["1>",{"2":{"110":2}}],["14=42",{"2":{"682":1}}],["14=11+45",{"2":{"682":1}}],["144",{"2":{"613":1}}],["14",{"2":{"65":1,"95":1,"96":2,"162":1,"631":7,"638":1,"640":1,"706":1}}],["12=",{"2":{"544":1}}],["123",{"2":{"126":2,"171":2,"201":1}}],["1234567",{"2":{"498":1}}],["123456789",{"2":{"155":2,"201":3}}],["123456",{"2":{"326":1}}],["1234",{"2":{"66":1}}],["12",{"2":{"46":1,"149":1,"161":1,"165":1,"166":1,"168":1,"187":1,"214":1,"355":1,"462":1,"518":1,"590":1,"631":5,"632":2,"638":4,"640":2,"651":1,"659":1,"729":1}}],["127",{"2":{"29":2,"245":1,"409":3,"481":1,"482":1,"490":1,"491":1,"492":1,"495":1,"498":2,"499":2}}],["10a6k4m9=",{"2":{"609":1}}],["10a6k4m9",{"2":{"609":1}}],["10=63",{"2":{"604":1}}],["1024m",{"2":{"464":1}}],["10警告",{"2":{"157":1}}],["101",{"2":{"101":2}}],["1002",{"2":{"323":1}}],["1001",{"2":{"323":1}}],["100",{"2":{"56":1,"137":1,"148":1,"149":1,"152":1,"153":1,"159":5,"166":1,"168":3,"171":1,"201":1,"593":10,"602":2,"622":1}}],["10",{"2":{"46":1,"65":2,"80":4,"84":1,"85":1,"86":2,"122":2,"126":1,"159":1,"171":1,"188":1,"201":1,"210":1,"212":2,"242":1,"248":1,"466":1,"518":1,"544":1,"567":2,"593":2,"607":1,"609":1,"610":2,"631":8,"638":16,"643":6,"651":1,"677":1,"684":2,"706":1}}],["11111",{"2":{"498":1}}],["11+45",{"2":{"682":1}}],["11+4",{"2":{"96":2}}],["114",{"2":{"95":1,"96":2}}],["114514种论证",{"2":{"96":3}}],["114514",{"2":{"8":1,"80":4,"90":3,"93":1,"109":2,"201":1}}],["11",{"2":{"25":1,"32":1,"46":1,"65":1,"95":2,"96":7,"389":1,"462":1,"490":1,"590":1,"631":2,"632":1,"640":1,"684":1}}],["172",{"2":{"481":4}}],["17w13a",{"2":{"462":1}}],["1706684850",{"2":{"159":1}}],["17",{"2":{"24":1,"31":1,"162":1,"462":4,"481":4,"606":2,"631":2,"632":1,"640":2,"643":1}}],["1",{"0":{"14":2,"49":1,"74":1,"659":1},"2":{"24":6,"26":2,"29":2,"35":1,"46":1,"56":1,"58":1,"59":1,"80":3,"84":1,"85":2,"86":3,"88":1,"95":2,"96":8,"105":1,"108":1,"110":4,"111":4,"113":2,"115":2,"116":9,"119":1,"121":2,"122":5,"126":7,"144":2,"147":3,"148":2,"149":4,"151":4,"153":2,"159":7,"161":4,"162":14,"165":5,"166":3,"168":7,"171":7,"173":1,"174":2,"187":1,"188":3,"194":6,"196":5,"201":5,"202":7,"203":5,"207":2,"210":1,"242":1,"245":1,"247":1,"261":2,"337":1,"339":1,"356":2,"409":4,"462":10,"464":3,"466":1,"475":3,"481":4,"482":1,"490":1,"491":1,"492":1,"495":1,"498":4,"499":2,"522":1,"544":6,"565":1,"567":2,"572":1,"590":1,"593":8,"602":1,"607":3,"608":2,"609":6,"610":1,"611":1,"616":1,"618":1,"626":4,"627":1,"631":1,"638":2,"645":3,"647":1,"659":1,"668":1,"688":2,"724":2}}],["默认随机生成",{"2":{"735":1}}],["默认是",{"2":{"735":1,"736":1}}],["默认是中文",{"2":{"735":1}}],["默认不记录频道消息",{"2":{"664":1}}],["默认持续时长为",{"2":{"659":2}}],["默认技能等级",{"0":{"532":1}}],["默认开放的正向",{"2":{"495":1}}],["默认开启",{"2":{"240":1}}],["默认生成的配置文件生成的是",{"2":{"490":1}}],["默认端口为",{"2":{"466":1}}],["默认使用",{"2":{"433":1}}],["默认状态下",{"2":{"311":1}}],["默认情况下",{"2":{"310":1,"520":1}}],["默认分组",{"2":{"293":1}}],["默认会被解析为",{"2":{"284":1}}],["默认文案",{"2":{"271":1}}],["默认为抽",{"2":{"627":1}}],["默认为每页",{"2":{"616":1}}],["默认为",{"2":{"245":1,"472":1,"610":1}}],["默认为空",{"2":{"8":1}}],["默认关闭",{"2":{"241":1,"244":1}}],["默认输出的插件代码是压缩过的",{"0":{"185":1}}],["默认值的生效范围是当前群组",{"2":{"684":1}}],["默认值可以由",{"2":{"684":1}}],["默认值",{"2":{"684":1}}],["默认值等信息",{"2":{"170":1}}],["默认值和可选项",{"2":{"126":1}}],["默认模式启用",{"2":{"58":1}}],["默认",{"2":{"58":2,"293":1,"593":1}}],["默认的名字是",{"2":{"180":1}}],["默认的",{"2":{"8":1,"210":1}}],["签名服务",{"2":{"8":1,"490":2}}],["签名服务彻底被官方封死之后",{"2":{"6":1}}],["在主持人要求时",{"2":{"725":1}}],["在主持人要求你使用骰子时才动作",{"2":{"720":1}}],["在插件仓库中获取相应插件",{"2":{"717":1}}],["在插件的右侧有",{"2":{"302":1}}],["在病毒感染了绝大多数人类使得他们进化为超能力者的时代",{"2":{"714":1}}],["在模板中使用变量以自动更新",{"2":{"708":1}}],["在模块一栏中启用",{"2":{"28":1}}],["在机器人回复你之前",{"2":{"681":1}}],["在频道私聊中的以下问题",{"2":{"681":1}}],["在初次启动海豹时",{"2":{"668":1}}],["在初次启动海豹核心前",{"2":{"349":1}}],["在另一个目录再解压一份海豹核心",{"2":{"666":1}}],["在服务器上登录时说",{"0":{"658":1},"1":{"659":1,"660":1}}],["在服务器日志中出现",{"2":{"465":1}}],["在基本设置中设置",{"2":{"657":1}}],["在牌组较多时造成刷屏",{"2":{"626":1}}],["在牌堆",{"2":{"125":1}}],["在牌堆中",{"2":{"91":1}}],["在发送指令的群聊中",{"2":{"612":1}}],["在计算过程中",{"2":{"609":1,"610":1}}],["在计算机领域",{"2":{"437":1}}],["在计算机领域中",{"2":{"430":1}}],["在计算机技术领域内",{"2":{"377":1}}],["在第二轮中",{"2":{"609":1}}],["在骰点中使用属性值",{"0":{"604":1}}],["在以上的例子中",{"2":{"626":1}}],["在以上例子中",{"2":{"89":1}}],["在以下示例中略去",{"2":{"598":1}}],["在进行理智检定时使用指定数量的奖励骰或惩罚骰",{"2":{"584":1}}],["在进行任何迁移时",{"2":{"547":1}}],["在较短的时间内失去过多理智值",{"2":{"581":1}}],["在较新的",{"2":{"423":1}}],["在令人不安或恐怖的情景中",{"2":{"581":1}}],["在后面附加奖励骰与惩罚骰",{"2":{"577":1}}],["在前面附加难度等级",{"2":{"577":1}}],["在克苏鲁的呼唤中",{"2":{"559":1}}],["在被人遗忘的奇异书卷中",{"2":{"558":1}}],["在本地文件",{"2":{"557":1}}],["在本节中的一些部分",{"2":{"213":1}}],["在本节中",{"2":{"172":1}}],["在玩家中广泛使用的简称",{"2":{"556":1}}],["在线试用",{"2":{"552":1}}],["在设置中勾选",{"2":{"551":1}}],["在迁入平台准备一份全新的海豹核心",{"2":{"549":1}}],["在不同平台间迁移时",{"2":{"547":1}}],["在来开团的路上被巨龙叼走了",{"2":{"526":1}}],["在完成上面的步骤后",{"2":{"519":1}}],["在挂载目录时请注意",{"2":{"518":1}}],["在浏览器中输入",{"2":{"518":2}}],["在任意群聊产生的数据修改都会自动同步到其他绑定的群聊",{"2":{"721":1}}],["在任意一个接口成功返回数据后即停止",{"2":{"96":1}}],["在任务栏中找到海豹图标",{"2":{"518":1}}],["在侧边栏点击",{"2":{"510":1,"511":1}}],["在页面中你可以看到这样的信息",{"2":{"504":1}}],["在页面的上半部分",{"2":{"310":1}}],["在目前的新版本中",{"2":{"500":1}}],["在目前主流使用的",{"2":{"409":1}}],["在启动前",{"2":{"498":1}}],["在解压",{"2":{"490":1}}],["在二维码过期前尽快使用手机",{"2":{"490":1}}],["在其他平台",{"2":{"691":1}}],["在其他平台上",{"2":{"616":1}}],["在其他系统上",{"2":{"353":1}}],["在其",{"2":{"490":1}}],["在程序所在的文件夹中多出了一个",{"2":{"490":1}}],["在程序运行发生故障或不符合预期的行为时",{"2":{"430":1}}],["在右上角设置中将",{"2":{"487":1}}],["在右上角的内存一栏",{"2":{"22":1}}],["在填写",{"2":{"478":1}}],["在日志中即可看到",{"2":{"477":1}}],["在日志中也会显示",{"2":{"187":1}}],["在工作目录下使用以下命令启动容器",{"2":{"476":1}}],["在工作目录下创建",{"2":{"475":1}}],["在容器内以非",{"2":{"475":1}}],["在类",{"2":{"433":1}}],["在如今",{"2":{"423":1}}],["在开源项目网站如",{"2":{"410":1}}],["在配置文件按需要正确修改后",{"2":{"490":1}}],["在配置海豹时",{"2":{"482":1}}],["在配置分离部署的",{"2":{"409":1}}],["在配置后可以对接",{"2":{"21":1}}],["在分离部署",{"2":{"409":1}}],["在运行新海豹核心时",{"2":{"550":1}}],["在运行程序时",{"2":{"405":1}}],["在运行中输入",{"2":{"32":1}}],["在部分设置的选项中也与个人计算机有所不同",{"2":{"403":1}}],["在部分内容中",{"2":{"101":1}}],["在提问前务必花上几分钟阅读一遍",{"2":{"554":1}}],["在提问时",{"2":{"388":1}}],["在提供日志时",{"2":{"387":1}}],["在提供代码相关的信息时",{"2":{"386":1}}],["在我的",{"2":{"385":1}}],["在用户不使用指令前缀的情况下",{"2":{"385":1}}],["在用户群的群文件中",{"2":{"377":1}}],["在用户群里有人和你说",{"2":{"372":1}}],["在脑海中思考千遍",{"2":{"373":1}}],["在合适的位置停下是最为高效的方案",{"2":{"373":1}}],["在实际学习新知的过程中",{"2":{"373":1}}],["在实现上",{"2":{"144":1}}],["在正则表达式教程中",{"2":{"371":1}}],["在触发条件部分",{"2":{"371":1}}],["在学习新概念的过程中",{"2":{"371":1}}],["在严肃场合",{"2":{"369":1}}],["在速查表中",{"2":{"368":1}}],["在求助搜索引擎或用户群之前",{"2":{"368":1}}],["在磁盘中没有足够的空间",{"2":{"360":1}}],["在弹出的界面上找到你希望压缩包解压到那里的文件夹",{"2":{"358":1}}],["在弹出的菜单中找到新建文件夹这个选项",{"2":{"358":1}}],["在弹出的菜单里选择",{"2":{"343":1}}],["在希望解压的文件夹下单击鼠标右键",{"2":{"358":1}}],["在备份文件中找到最新的一份",{"2":{"355":1}}],["在损坏时如何修复",{"2":{"352":1}}],["在桌面长按海豹核心图标",{"2":{"343":1}}],["在授予海豹核心权限或允许一些行为时",{"2":{"343":1}}],["在安装后或首次启动时",{"2":{"343":1}}],["在安卓端海豹上",{"2":{"338":1}}],["在继续之前",{"2":{"342":1}}],["在引用图片时",{"2":{"324":1}}],["在群聊中默认删除群快捷指令",{"2":{"682":1}}],["在群聊中默认定义群快捷指令",{"2":{"682":1}}],["在群聊模式下",{"2":{"323":1}}],["在群内收集群友给出的安价选项",{"2":{"162":1}}],["在指定牌组抽指定数量的牌",{"2":{"627":1}}],["在指定的群中所有人均视为有",{"2":{"231":1}}],["在指令测试中产生的角色卡等数据都会被保留",{"2":{"323":1}}],["在文本长度匹配中",{"2":{"318":1}}],["在文案列表的上方都有着对应的",{"2":{"271":1}}],["在文案中通常会有结果变量",{"2":{"56":1}}],["在内容中填写要匹配的内容",{"2":{"317":1}}],["在回复项的左上角是该项的匹配模式",{"2":{"316":1}}],["在回复项的左上角可以控制该项的启用与否",{"2":{"315":1}}],["在回复文本中",{"2":{"107":1}}],["在自定义回复页的左下角有一个",{"2":{"315":1}}],["在自定义文案等地方",{"2":{"201":1}}],["在判定一个自定义回复是否能执行时",{"2":{"314":1}}],["在当前文件信息的下面",{"2":{"314":1}}],["在当前文件的右侧有几个按钮",{"2":{"312":1}}],["在编写过程中",{"2":{"311":1}}],["在同一文件夹下会出现一张登录二维码图片",{"2":{"490":1}}],["在同一个if内直接赋值",{"2":{"116":1}}],["在同意许可协议后",{"2":{"310":1}}],["在哪编写自定义回复",{"0":{"310":1},"1":{"311":1,"312":1,"313":1,"314":1}}],["在代码框中编写代码",{"2":{"304":1}}],["在对抗检定这一节中",{"2":{"577":1}}],["在对抗检定中应用调整",{"2":{"577":1}}],["在对应的区域填入",{"2":{"512":1}}],["在对插件进行调整后",{"2":{"302":1}}],["在对你的",{"2":{"170":1}}],["在管理界面中有多个标签页",{"2":{"301":1}}],["在管理中",{"2":{"33":1}}],["在重载期间",{"2":{"292":1}}],["在每个群聊",{"2":{"615":1}}],["在每个图片右侧提供三个按钮",{"2":{"324":1}}],["在每一个你需要指定端口的海豹核心目录下创建一个",{"2":{"667":1}}],["在每一个插件名前都有一个开关",{"2":{"302":1}}],["在每一个分类中",{"2":{"269":1}}],["在每次自动备份完成后将执行一次自动清理",{"2":{"219":1}}],["在加载某些牌堆之后",{"2":{"263":1}}],["在上文的例子中为",{"2":{"478":1}}],["在上个世代常用",{"2":{"423":1}}],["在上面的",{"2":{"262":1}}],["在上面的示例中",{"2":{"194":1}}],["在上图中已经有一个名为",{"2":{"261":1}}],["在更改任何设置后",{"2":{"214":1}}],["在下载",{"2":{"490":1}}],["在下载和创建完成后会首次启动会自行关闭",{"2":{"464":1}}],["在下方",{"2":{"455":1}}],["在下一次指令中使用上一次指令设置的",{"2":{"201":1}}],["在下文中有详细讨论",{"2":{"83":1}}],["在命令行中按任意键",{"2":{"490":1}}],["在命令行使用如下命令",{"2":{"180":1}}],["在命令行使用如下命令安装依赖",{"2":{"180":1}}],["在命令",{"2":{"181":1}}],["在确认你所使用的包管理器后",{"2":{"180":1}}],["在出现的浮窗中选择",{"2":{"178":1}}],["在返回对象的基础上",{"2":{"167":1}}],["在私聊模式下",{"2":{"323":1}}],["在私聊中",{"2":{"152":1}}],["在私聊触发",{"2":{"127":1}}],["在刚刚的位置填入核心代码",{"2":{"148":1}}],["在执行完自己的代码之后",{"2":{"147":1}}],["在创建扩展后",{"2":{"144":1}}],["在很多地方为了实现一些逻辑",{"2":{"124":1}}],["在尝试使用对应功能进行个性化前",{"2":{"123":1}}],["在尝试通过模拟器使用",{"2":{"24":1}}],["在一处的修改就会影响其他各处",{"2":{"615":1}}],["在一些情况下",{"2":{"387":1}}],["在一些系统上可能也称作",{"2":{"343":1}}],["在一个文案中使用另一个文案",{"0":{"284":1}}],["在一天触发多次时的回复",{"2":{"115":1}}],["在一般情况下",{"2":{"22":1}}],["在中间会出现突兀的空行",{"2":{"114":1}}],["在采用",{"2":{"102":1}}],["在海豹骰中集成了",{"2":{"659":1}}],["在海豹的新添账号选择",{"2":{"495":2}}],["在海豹的相关语境下",{"2":{"438":1}}],["在海豹核心发生",{"2":{"663":1}}],["在海豹核心的指令和后台设置中",{"2":{"597":1}}],["在海豹核心的后台配置中选择",{"2":{"345":1}}],["在海豹核心应用中",{"2":{"351":1}}],["在海豹",{"2":{"94":1,"269":1}}],["在海豹中记录的日志会自动上传",{"2":{"542":1}}],["在海豹中需要通过此地址指向",{"2":{"409":1}}],["在海豹中",{"2":{"35":1,"144":1}}],["在这个世界中",{"2":{"713":1}}],["在这个例子中",{"2":{"148":1}}],["在这个例子里",{"2":{"111":1}}],["在这里的讨论是所有人可见的",{"2":{"410":1}}],["在这里你可以添加",{"2":{"231":1}}],["在这里你可以管理你的骰娘的",{"2":{"229":1}}],["在这一脚本中",{"2":{"113":1}}],["在这一次指令的执行过程中不会再从该牌组中抽到相同结果",{"2":{"83":1}}],["在这种情况下",{"2":{"86":1}}],["在使用这些版本时",{"2":{"489":1}}],["在使用这些连接方式时",{"2":{"486":1}}],["在使用该指令的时候",{"2":{"146":1}}],["在使用",{"2":{"101":1,"433":1}}],["在使用不放回抽取的情况下",{"2":{"86":1}}],["在使用之前",{"2":{"26":1}}],["在此界面下",{"2":{"422":1}}],["在此目录下",{"2":{"356":1}}],["在此页面上",{"2":{"214":1}}],["在此示例中",{"2":{"83":1}}],["在此处打开命令行",{"2":{"32":1}}],["在阅读本节时",{"2":{"47":1}}],["在您使用海豹骰点核心前",{"2":{"46":1}}],["在新界面中开启",{"2":{"346":1}}],["在新工作分支上提交修改",{"2":{"41":1}}],["在新版",{"2":{"24":1,"31":1}}],["在电脑中使用命令",{"2":{"32":1}}],["在手机海豹上",{"2":{"551":1}}],["在手机上确认登录以后",{"2":{"487":1}}],["在手机设置中",{"2":{"32":1}}],["在手机中",{"2":{"32":1}}],["在打开的黑框框中输入命令",{"2":{"32":1}}],["在打开的终端中输入命令",{"2":{"29":1}}],["在系统开始一栏中可以直接搜索到该功能",{"2":{"32":1}}],["在你习惯的手机文件管理软件中找到",{"2":{"551":1}}],["在你具备相关背景的情况下",{"2":{"368":1}}],["在你想要将不同的回复区分开",{"2":{"312":1}}],["在你开启",{"2":{"232":1}}],["在你的问题看起来没有获得回答的时候",{"2":{"394":1}}],["在你的",{"2":{"44":1}}],["在你",{"2":{"44":1}}],["在你解压的",{"2":{"29":1}}],["在你传完文件之后",{"2":{"27":1}}],["在",{"2":{"29":1,"32":2,"34":1,"41":1,"78":1,"82":3,"89":10,"96":1,"102":1,"106":1,"137":1,"152":1,"175":3,"178":2,"216":2,"217":1,"218":2,"220":1,"248":1,"255":1,"257":1,"270":1,"273":1,"302":1,"322":1,"344":1,"346":2,"353":1,"368":1,"369":1,"449":1,"450":1,"453":1,"454":1,"457":1,"458":1,"463":3,"464":1,"466":1,"485":1,"489":1,"500":1,"511":2,"514":1,"515":1,"518":2,"556":1,"586":1,"597":1,"612":1,"616":1,"626":2,"657":1,"663":2,"664":1,"666":1,"691":2,"714":1}}],["在通知上",{"2":{"28":1}}],["在最右侧切换到",{"2":{"27":1}}],["在面具的设置里启动",{"2":{"26":1}}],["在账号添加中",{"2":{"23":1,"30":1,"501":1}}],["在连接地址中填写",{"2":{"12":1}}],["在终端运行",{"2":{"9":1}}],["在登录账号的时候会看到这样一个界面",{"2":{"8":1}}],["在未来",{"2":{"6":1}}],["账号处随便填写",{"2":{"495":1}}],["账号填写骰子的",{"2":{"491":1,"499":1}}],["账号用作机器人并被检测到时",{"2":{"485":1}}],["账号类型",{"2":{"466":1}}],["账号类型选",{"2":{"11":1}}],["账号使用新的",{"2":{"458":1}}],["账号协议配置文件",{"2":{"327":1}}],["账号选用",{"2":{"247":1}}],["账号添加中选择",{"2":{"35":1}}],["账号设置",{"2":{"11":1,"466":1,"487":1,"491":1,"499":1}}],["账号",{"2":{"8":1,"11":1,"458":1,"475":1,"614":2,"679":4}}],["账号密码错误",{"2":{"14":1}}],["账号密码",{"2":{"8":1,"11":1}}],["不带有尖括号的内容是字面量",{"2":{"695":1}}],["不带有角色名参数",{"2":{"615":1}}],["不重复骰点",{"0":{"676":1}}],["不一样",{"2":{"659":1}}],["不幸去世了",{"2":{"651":1}}],["不回复",{"2":{"645":1}}],["不足致死的伤害自动折算为死亡豁免失败",{"2":{"638":1}}],["不用再行关注",{"2":{"638":1}}],["不用再拼接",{"2":{"67":1}}],["不计算临时生命扣血",{"2":{"638":1}}],["不满",{"2":{"593":5}}],["不加参数的使用",{"2":{"592":1}}],["不论成功与否",{"2":{"588":1}}],["不支持运行",{"2":{"518":1}}],["不推荐一般用户使用",{"2":{"517":1}}],["不推荐关闭这些进程",{"2":{"22":1}}],["不能访问网络",{"2":{"659":1}}],["不能正确加载",{"2":{"426":1}}],["不能做到哪些事",{"2":{"51":1}}],["不提供参数则列出所有属性数值",{"2":{"561":1}}],["不提供日志",{"2":{"387":1}}],["不提供此类信息",{"2":{"386":1,"388":1,"389":1}}],["不提倡拍屏而是提倡截图的原因是",{"2":{"363":1}}],["不如一开始就将它们包含在你的问题之中",{"2":{"389":1}}],["不如把手放在键盘上",{"2":{"373":1}}],["不如直抵源头",{"2":{"369":1}}],["不至于过于专业",{"2":{"368":1}}],["不妨先看看此项目的帮助文档",{"2":{"368":1}}],["不仅可以帮助你看懂程序日志上的故障原因",{"2":{"367":1}}],["不建议进行剪裁",{"2":{"363":1}}],["不建议使用",{"2":{"23":1,"125":1}}],["不允许",{"2":{"346":1}}],["不允许没有值",{"2":{"65":1}}],["不断尝试",{"2":{"342":1}}],["不含文本",{"2":{"317":1}}],["不含有该标记的项目被视为拥有默认权重",{"2":{"85":1}}],["不受",{"2":{"252":2}}],["不受控的云端内容",{"2":{"94":1}}],["不是特别在意资源占用的",{"2":{"486":1}}],["不是数值",{"2":{"212":1}}],["不是所有人都能顺利访问",{"2":{"38":1}}],["不错",{"2":{"210":1}}],["不存数据库",{"2":{"201":1}}],["不存在",{"2":{"144":1}}],["不包括",{"2":{"186":1}}],["不摸鱼",{"2":{"174":1,"176":1}}],["不知道为什么",{"2":{"159":1}}],["不过骰子不会做出回复",{"2":{"623":1}}],["不过一般都是提供了一些",{"2":{"306":1}}],["不过先从",{"2":{"190":1}}],["不过",{"2":{"183":1,"403":1}}],["不过不修改也不会影响编译",{"2":{"179":1}}],["不过这种写法的返回值固定为字符串",{"2":{"151":1}}],["不过示例以更简单的自定义回复为例",{"2":{"57":1}}],["不确定",{"2":{"142":1}}],["不懂",{"2":{"142":1}}],["不会造成其他的效果",{"2":{"704":1}}],["不会超过上限",{"2":{"645":1}}],["不会关机的电脑",{"2":{"403":1}}],["不会被关闭",{"2":{"364":1}}],["不会触发任何指令",{"2":{"152":1}}],["不会自动",{"2":{"129":1}}],["不会回复",{"2":{"127":1}}],["不会泄露的信息",{"2":{"8":1}}],["不多赘述",{"2":{"126":3,"132":1,"133":1}}],["不让用户注意到突兀的空缺",{"2":{"114":1}}],["不需要使用任何",{"2":{"106":1}}],["不适宜的激情",{"2":{"99":1}}],["不适用以下教程",{"2":{"24":1}}],["不同版本规则之间的同一技能更换了用词",{"2":{"556":1}}],["不同范围的",{"2":{"409":1}}],["不同系统可能名称不同",{"2":{"336":1}}],["不同的对接方式适应不同的情况",{"2":{"486":1}}],["不同的",{"2":{"306":1}}],["不同前缀代表不同的作用域",{"2":{"201":1}}],["不同",{"2":{"91":1,"490":1}}],["不同方式拷打木落三次",{"2":{"83":3}}],["不展示也不能抽取",{"2":{"89":1}}],["不要同时打开",{"2":{"495":1}}],["不要将日志内容复制到聊天窗口中",{"2":{"387":1}}],["不要将代码内容复制到聊天窗口中",{"2":{"386":1}}],["不要随意关闭你不认识的进程",{"2":{"361":1}}],["不要使用无密码的扫码登录",{"2":{"658":1}}],["不要使用",{"2":{"339":1}}],["不要使用某些前缀",{"2":{"105":1}}],["不要忘记保存",{"2":{"270":1}}],["不要在最后一条语句的后面再使用分号",{"2":{"203":1}}],["不要紧张",{"2":{"169":1}}],["不要漏掉哦",{"2":{"144":1}}],["不要删去第一行的",{"2":{"100":1}}],["不要误写成",{"2":{"93":2}}],["不要回退到上一级目录然后选中",{"2":{"88":1}}],["不要修改主分支",{"2":{"43":1}}],["不放回抽取牌堆",{"2":{"134":1}}],["不放回抽取生效",{"2":{"83":1}}],["不放回抽取",{"2":{"83":2}}],["不可以使用",{"2":{"490":1}}],["不可以是",{"2":{"70":1}}],["不可同时登录",{"2":{"486":1}}],["不可见的将不展示在",{"2":{"93":1}}],["不可抗力",{"2":{"7":1}}],["不只是滑条",{"2":{"12":1}}],["ielts单词",{"2":{"626":1}}],["ios",{"2":{"659":1,"696":1}}],["io",{"2":{"475":5,"518":1}}],["ip138",{"2":{"659":1}}],["iptables",{"2":{"657":1}}],["ipv4",{"2":{"409":1}}],["ip",{"0":{"409":1},"2":{"363":1,"401":1,"409":7,"466":3,"481":5,"498":2,"657":1,"659":3}}],["im",{"2":{"510":1,"511":3,"614":3,"679":4}}],["implementation",{"2":{"492":1}}],["implementations",{"2":{"477":1,"490":2}}],["imsyy",{"2":{"167":2}}],["images",{"2":{"87":1,"98":1,"282":4,"324":1,"339":1}}],["image",{"2":{"12":1,"167":2,"475":5}}],["i",{"0":{"408":1},"1":{"409":1,"410":1},"2":{"162":3,"343":1,"520":1,"657":1,"669":1}}],["input",{"2":{"657":1}}],["init",{"0":{"633":1},"2":{"633":8,"645":1,"719":1}}],["in",{"2":{"518":1}}],["inet6",{"2":{"481":1}}],["inet",{"2":{"481":1}}],["indicating",{"2":{"464":1}}],["index",{"2":{"162":8,"168":1,"181":2}}],["installation",{"2":{"450":1}}],["install",{"2":{"180":2,"181":1,"450":1,"511":2}}],["inviter",{"2":{"153":1}}],["inviteuserid",{"2":{"138":1}}],["intel",{"2":{"489":1,"517":2,"518":1}}],["intent",{"2":{"448":3}}],["intents",{"2":{"448":1}}],["interface",{"2":{"170":3,"438":1}}],["intval",{"2":{"171":2}}],["int64",{"2":{"141":1}}],["intset",{"2":{"126":1,"131":1}}],["intget",{"2":{"126":3,"131":1}}],["int",{"2":{"126":8,"137":1,"170":1}}],["information",{"2":{"490":2,"492":1,"511":1}}],["info",{"2":{"12":2,"159":9,"356":3,"430":1,"465":3,"466":1,"600":1,"622":1}}],["ignoreself",{"2":{"490":1,"492":1}}],["ignore",{"2":{"122":1}}],["is",{"0":{"360":1},"2":{"356":6}}],["isnan",{"2":{"165":1}}],["isargequal",{"2":{"142":1}}],["isactive",{"2":{"138":1}}],["isprivate",{"2":{"137":1}}],["iscurgroupboton",{"2":{"137":1}}],["isshuffle",{"2":{"126":2}}],["issues",{"2":{"410":1}}],["issue",{"0":{"364":1,"395":1,"410":1},"2":{"6":1,"36":1,"38":1,"50":1,"364":3,"368":8,"395":1,"410":3}}],["iso8601",{"2":{"77":1}}],["if",{"0":{"110":1},"2":{"58":4,"59":3,"110":10,"111":1,"113":3,"115":3,"116":9,"119":4,"144":1,"148":1,"149":2,"151":2,"153":1,"159":10,"161":2,"162":6,"165":4,"166":1,"167":2,"168":6,"169":2,"171":3,"203":2,"212":1}}],["id>",{"2":{"695":1}}],["id",{"0":{"453":1},"2":{"8":1,"126":4,"140":1,"141":1,"155":2,"157":2,"159":2,"167":1,"201":6,"231":3,"232":1,"323":3,"356":6,"453":2,"454":1,"504":1,"596":1,"597":10,"616":1,"679":2,"695":1}}],["登录服务器开浏览器使用好麻烦",{"0":{"657":1}}],["登录二维码",{"2":{"477":1}}],["登录多个",{"2":{"475":1}}],["登录海豹并添加账号",{"2":{"449":1,"454":1,"458":1,"505":1,"512":1,"515":1}}],["登录后会自动记住一段时间",{"2":{"245":1}}],["登录后发送消息的群号",{"2":{"8":1}}],["登录后发送的消息内容",{"2":{"8":1}}],["登录",{"2":{"20":1,"448":1,"457":1,"509":1}}],["登录过于频繁",{"2":{"18":1}}],["登录频繁",{"2":{"17":1}}],["登录成功",{"2":{"12":1}}],["登录时间",{"2":{"8":1}}],["登录账号",{"2":{"8":1}}],["的舞台",{"2":{"716":1}}],["的指引下为了守护重要的人或者日常生活而战斗",{"2":{"714":1}}],["的指令",{"2":{"146":1}}],["的拓展规则",{"2":{"712":1}}],["的圆括号",{"2":{"695":1}}],["的括号",{"2":{"695":1}}],["的尖括号",{"2":{"695":1}}],["的别名",{"2":{"694":1}}],["的留言",{"2":{"679":2}}],["的群组管理中操作退群",{"2":{"656":1}}],["的死亡豁免检定",{"2":{"651":2}}],["的操作也会自动触发死亡豁免",{"2":{"651":1}}],["的操作按钮",{"2":{"44":1}}],["的加值",{"2":{"651":1}}],["的长休",{"2":{"649":2}}],["的2环法术位消耗至3个",{"2":{"647":1}}],["的法术位已经完全恢复",{"2":{"645":1}}],["的法术位状况",{"2":{"645":1}}],["的1环法术位消耗至2个",{"2":{"645":1}}],["的buff数据已经清除",{"2":{"643":1}}],["的如下buff属性被成功删除",{"2":{"643":1}}],["的属性录入完成",{"2":{"642":1}}],["的个人属性为",{"2":{"638":2,"643":3}}],["的dnd5e人物buff属性设置如下",{"2":{"643":3}}],["的dnd5e人物属性设置如下",{"2":{"638":2,"643":3,"651":3}}],["的dnd5e人物作成",{"2":{"631":2}}],["的先攻点为16",{"2":{"633":1}}],["的标记",{"2":{"623":1}}],["的整理者为",{"2":{"620":1}}],["的词条",{"2":{"616":1,"695":1}}],["的昵称已重置为",{"2":{"614":1}}],["的昵称被设定为",{"2":{"614":1}}],["的侦查是",{"2":{"613":1}}],["的侦查技能是80",{"2":{"573":1}}],["的暗骰",{"2":{"612":1}}],["的暗中检定",{"2":{"576":1}}],["的骰点服务",{"2":{"690":1}}],["的骰点用",{"2":{"609":2,"610":1}}],["的骰",{"2":{"609":2}}],["的最底下",{"2":{"599":1}}],["的最新构建二进制发布内容一致",{"2":{"518":1}}],["的部分",{"2":{"598":1}}],["的部署过程",{"2":{"474":1}}],["的七版coc人物作成",{"2":{"590":1}}],["的理智检定",{"2":{"582":1}}],["的理念",{"2":{"523":1}}],["的奖励骰",{"2":{"572":1}}],["的coc7属性录入完成",{"2":{"565":1}}],["的存在",{"2":{"558":1}}],["的任何一个名字使用这一属性",{"2":{"556":1}}],["的任何内容",{"2":{"28":1}}],["的短信",{"2":{"526":1,"675":1}}],["的高效",{"2":{"524":1}}],["的安装包",{"2":{"523":1}}],["的服务器都可以",{"2":{"657":1}}],["的服务器都应使用此版本",{"2":{"517":1}}],["的服务",{"2":{"518":1,"520":1}}],["的镜像与名为",{"2":{"518":1}}],["的科普内容后",{"2":{"516":1}}],["的开关",{"2":{"510":1}}],["的开发者已无力维护项目",{"2":{"6":1}}],["的旧版本中",{"2":{"500":1}}],["的旧版本和",{"2":{"500":1}}],["的新旧版本",{"2":{"500":1}}],["的新仓库向主仓库发起",{"2":{"44":1}}],["的教程启动程序",{"2":{"498":1}}],["的手册安装官方",{"2":{"496":1}}],["的手机",{"2":{"24":1}}],["的签名服务",{"2":{"490":1}}],["的签名服务地址",{"2":{"490":1}}],["的签名程序偷了出来",{"2":{"21":1}}],["的构建",{"2":{"489":1}}],["的版本为",{"2":{"490":1}}],["的版本",{"2":{"489":2}}],["的惩罚",{"2":{"485":1}}],["的填写请根据下列情况选择",{"2":{"466":1}}],["的海豹有几率在显示连接后仍然离线",{"2":{"458":1}}],["的搜素功能中",{"2":{"440":1}}],["的用户发言可以被一键去除",{"2":{"704":1}}],["的用户关闭海豹核心后台位于",{"2":{"486":1}}],["的用户关闭此开关",{"2":{"239":1}}],["的用户界面",{"2":{"422":1}}],["的主要优点包括稳定性",{"2":{"417":1}}],["的主机",{"2":{"9":1}}],["的官方",{"2":{"416":1,"418":1,"425":1}}],["的设置",{"2":{"495":1}}],["的设置页",{"2":{"495":1}}],["的设置页面",{"2":{"310":1}}],["的设备与海豹所在的是同一主机",{"2":{"409":1}}],["的目录",{"2":{"405":2}}],["的功能等于不存在",{"2":{"523":1}}],["的功能",{"2":{"385":1,"520":1}}],["的过程中遇到的问题",{"2":{"374":1,"396":1}}],["的过验证码网站已经停止服务",{"2":{"10":1}}],["的每一个回复都有可能是真材实料的信息",{"2":{"369":1}}],["的对象",{"2":{"369":1}}],["的对话框",{"2":{"350":1}}],["的问答网站到个人博客",{"2":{"369":1}}],["的字样",{"2":{"368":2}}],["的代码仓库中",{"2":{"364":1}}],["的代码补全",{"2":{"190":1}}],["的报错",{"0":{"360":1}}],["的消息",{"2":{"350":1,"506":1,"514":1}}],["的消息时",{"2":{"317":1}}],["的图标",{"2":{"343":1,"659":1}}],["的图片与内容",{"2":{"98":1}}],["的初始自定义回复文件",{"2":{"311":1}}],["的资料文档已经在列表中展示出来了",{"2":{"292":1}}],["的资料查询文档",{"2":{"290":1}}],["的力量检定结果为",{"2":{"270":2}}],["的相关文案",{"2":{"269":1}}],["的两个牌组",{"2":{"262":1}}],["的实现变更",{"2":{"237":1}}],["的今日人品为",{"2":{"201":1}}],["的插件之一",{"2":{"493":1}}],["的插件加载器",{"2":{"418":1,"493":1}}],["的插件而出错的情况",{"2":{"196":1}}],["的插件才可正常工作",{"2":{"194":1}}],["的调试控制台中运行",{"2":{"187":1}}],["的配置项",{"2":{"183":1}}],["的配置文件",{"2":{"181":1,"490":1,"492":1}}],["的积分",{"2":{"174":1}}],["的匹配条件",{"2":{"169":1}}],["的简单扩展",{"2":{"167":1}}],["的掷骰结果为",{"2":{"165":1}}],["的处理",{"2":{"151":1}}],["的话结果是",{"2":{"147":1,"148":1,"149":1}}],["的情况",{"2":{"233":1}}],["的情况赋值",{"2":{"116":1}}],["的情形",{"2":{"147":1}}],["的内容",{"0":{"137":1,"138":1,"139":1,"140":1,"141":1,"142":1},"2":{"557":1}}],["的结果即是",{"2":{"147":1,"148":1,"149":1}}],["的结果",{"2":{"134":2}}],["的结果可能是",{"2":{"84":1}}],["的名称",{"2":{"130":2}}],["的私聊回复",{"2":{"127":1}}],["的回复",{"2":{"127":2}}],["的人品为",{"2":{"129":1}}],["的人踢出那个群",{"2":{"128":1}}],["的人封禁",{"2":{"128":1}}],["的人",{"2":{"126":1,"130":1}}],["的返回值",{"2":{"126":1}}],["的扩展",{"2":{"126":2,"146":1}}],["的第一个人",{"2":{"126":1}}],["的值为",{"2":{"203":1}}],["的值设定为",{"2":{"126":3}}],["的值增加",{"2":{"111":1}}],["的位置",{"2":{"114":1}}],["的一层包装",{"2":{"444":1}}],["的一个整数",{"2":{"409":1}}],["的一串数字",{"2":{"409":1}}],["的一行中",{"2":{"114":1}}],["的一种途径",{"2":{"31":1}}],["的写法外",{"2":{"113":1}}],["的关系",{"2":{"110":1}}],["的语句出现时",{"2":{"110":1}}],["的语法极其灵活",{"2":{"79":1}}],["的语法",{"2":{"63":1}}],["的式子会输出",{"2":{"109":1}}],["的形式表明这里既可以使用技能名又可以使用属性名",{"2":{"559":1}}],["的形式表达",{"2":{"70":1}}],["的形式",{"2":{"114":1}}],["的形式即可",{"2":{"106":1}}],["的捕获组",{"2":{"105":1}}],["的具体内容",{"2":{"98":6}}],["的时候",{"2":{"96":1}}],["的牌端管理界面",{"2":{"94":1}}],["的牌组不展示在该列表中",{"2":{"89":1}}],["的方括号",{"2":{"695":1}}],["的方案目前比较稳定",{"2":{"485":1}}],["的方案也是可行的",{"2":{"27":1}}],["的方式",{"2":{"444":1}}],["的方式描述",{"2":{"409":1}}],["的方式请求对应接口",{"2":{"95":1}}],["的方法抽取",{"2":{"89":1}}],["的概率先抽出",{"2":{"86":2}}],["的几率出现闪光海豹",{"2":{"85":1}}],["的项目采用了放回抽取",{"2":{"83":1}}],["的放回表示",{"2":{"82":1}}],["的文本长度匹配",{"2":{"318":1}}],["的文档",{"2":{"183":1}}],["的文案来举例",{"2":{"270":1}}],["的文案",{"2":{"146":1,"149":1,"269":1}}],["的文案为例",{"2":{"60":1}}],["的文件进行测试",{"2":{"80":3}}],["的有意义的英文",{"2":{"43":1}}],["的准贡献者做个示范",{"2":{"40":1}}],["的源码",{"2":{"36":1}}],["的应用程序",{"2":{"490":1}}],["的应用",{"2":{"32":1}}],["的提示",{"2":{"28":1,"265":1}}],["的页面",{"2":{"28":1}}],["的超级用户权限",{"2":{"26":1}}],["的场景下",{"2":{"24":1}}],["的效果也不是很可观",{"2":{"24":1}}],["的使用依赖于",{"2":{"24":1}}],["的软件",{"2":{"24":1}}],["的连接配置",{"2":{"490":1}}],["的连接方案暂不支持",{"2":{"246":1}}],["的连接方案均无法回应戳一戳",{"2":{"239":1}}],["的连接",{"2":{"24":1,"488":1}}],["的可用运行内存不足",{"2":{"22":1}}],["的程序",{"2":{"20":1}}],["的日志",{"2":{"12":2,"187":1}}],["的缓存数据库损坏",{"2":{"12":1}}],["的",{"2":{"8":1,"12":3,"24":1,"28":1,"29":1,"126":2,"136":1,"142":1,"172":1,"199":1,"205":1,"214":1,"278":1,"395":1,"410":1,"416":1,"430":1,"486":1,"487":1,"488":1,"491":1,"496":1,"498":1,"499":1,"500":1,"517":1,"518":1,"569":3,"570":1,"571":1,"572":1,"596":2,"616":2,"640":3,"642":1,"663":1,"664":1}}],["的说明",{"2":{"8":1,"126":1}}],["截取自",{"2":{"8":1}}],["自身技能",{"2":{"719":1}}],["自然",{"2":{"638":2}}],["自由分配模式",{"2":{"631":1}}],["自己的属性表达式",{"2":{"579":1}}],["自己与对手均使用相同属性",{"2":{"578":1}}],["自己搭建本地签名服务器",{"2":{"8":1}}],["自用之外",{"2":{"542":1}}],["自带的",{"2":{"524":1}}],["自行修改",{"2":{"495":1}}],["自行搭建签名服务",{"2":{"8":1}}],["自近期用户量剧增后",{"2":{"376":1}}],["自启动",{"2":{"344":1}}],["自动名片",{"2":{"719":1}}],["自动更新用户的群名片",{"2":{"705":1}}],["自动群名片",{"0":{"705":1},"1":{"706":1,"707":1,"708":1,"709":1}}],["自动转换为短画线",{"2":{"696":1}}],["自动优先消耗",{"2":{"638":1}}],["自动为容器构建了一个子网",{"2":{"480":1}}],["自动管理",{"2":{"346":1}}],["自动退群将会按批次执行",{"2":{"248":1}}],["自动退出不活跃群组",{"0":{"248":1}}],["自动激活",{"2":{"232":1,"663":1}}],["自动添加",{"0":{"226":1}}],["自动清理时将保留创建时间在指定时间范围内的备份文件",{"2":{"218":1}}],["自动清理时将保留最新的指定数量的备份文件",{"2":{"218":1}}],["自动清理",{"0":{"217":1},"1":{"218":1,"219":1}}],["自动清理设置",{"2":{"214":1}}],["自动清理旧备份的相关设置",{"2":{"213":1}}],["自动备份后",{"2":{"219":2}}],["自动备份设置",{"2":{"214":1}}],["自动备份",{"0":{"216":1},"2":{"213":1}}],["自动修改群名片等",{"2":{"175":1}}],["自动补全",{"2":{"125":1}}],["自设规则",{"2":{"168":2}}],["自负",{"2":{"99":1}}],["自尊心太强",{"2":{"99":1}}],["自定义模板",{"0":{"708":1}}],["自定义骰点回执",{"2":{"326":1}}],["自定义文案的本体",{"2":{"327":1}}],["自定义文案组合",{"0":{"273":1},"1":{"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1}}],["自定义文案",{"0":{"267":1},"1":{"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1},"2":{"201":2,"269":1,"273":1,"674":1}}],["自定义序号必须大于等于",{"2":{"168":1}}],["自定义指令",{"0":{"145":1},"1":{"146":1,"147":1,"148":1,"149":1}}],["自定义",{"0":{"135":1,"168":1},"2":{"168":1}}],["自定义回复模块",{"2":{"599":1}}],["自定义回复教程",{"2":{"371":1}}],["自定义回复和",{"2":{"361":1}}],["自定义回复要怎么抽取牌堆",{"2":{"321":1}}],["自定义回复仓库",{"2":{"313":1}}],["自定义回复功能是被关闭的",{"2":{"310":1}}],["自定义回复的形式自由",{"2":{"309":1}}],["自定义回复中则采用",{"2":{"114":1}}],["自定义回复中的多行输出通常并不是",{"2":{"114":1}}],["自定义回复中分",{"2":{"102":1}}],["自定义回复",{"0":{"308":1,"624":1,"697":1},"1":{"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"625":1,"626":1,"627":1,"628":1,"629":1},"2":{"57":1,"101":1,"102":2,"262":1,"309":2,"310":2,"311":1,"629":1,"691":1,"697":1}}],["自定义工具",{"2":{"26":1}}],["服务名称和服务的启动用户均可以通过提供命令行参数自定义",{"2":{"520":1}}],["服务项",{"2":{"520":1}}],["服务端所在服务器的",{"2":{"466":1}}],["服务端部署在不同的服务器",{"2":{"466":1}}],["服务端部署在同一台服务器",{"2":{"466":1}}],["服务端连接完毕",{"2":{"466":1}}],["服务端连接",{"0":{"466":1}}],["服务端的准备工作已经完毕",{"2":{"465":1}}],["服务端的架设",{"2":{"462":1}}],["服务端版本",{"2":{"462":4}}],["服务端",{"0":{"462":1},"1":{"463":1,"464":1,"465":1},"2":{"463":2}}],["服务端接入海豹核心需要了解的特定内容",{"2":{"460":1}}],["服务端应用程序会",{"2":{"409":1}}],["服务有困难",{"2":{"449":1,"515":1}}],["服务器等",{"2":{"720":1}}],["服务器等相关知识没有任何了解",{"2":{"516":1}}],["服务器端运行工具",{"2":{"659":1}}],["服务器ip地址",{"2":{"657":1}}],["服务器间跨架构迁移",{"0":{"550":1}}],["服务器部署",{"2":{"520":1}}],["服务器首次启动完毕",{"2":{"464":1}}],["服务器首先需要根据选定对应的",{"2":{"462":1}}],["服务器的邀请链接",{"2":{"450":1,"459":1}}],["服务器一开始并不容易熟练操作",{"2":{"403":1}}],["服务器使用的是微软特地为了服务器开发的",{"2":{"403":1}}],["服务器从运行系统上就与其稍有不同",{"2":{"403":1}}],["服务器和个人计算机在使用上有明显差异",{"2":{"403":1}}],["服务器可以简单地理解为持续保持开机的电脑",{"2":{"403":1}}],["服务器",{"0":{"403":1},"2":{"461":1,"516":1,"657":1,"659":1}}],["服务器运行的是",{"2":{"386":1}}],["服务器上部署海豹",{"2":{"361":1}}],["服务器群组号",{"2":{"141":1}}],["服务器已启动",{"2":{"12":1}}],["服务密码",{"2":{"11":1}}],["服务地址",{"2":{"11":1,"490":1}}],["服务鉴权不填写",{"2":{"11":1}}],["服务鉴权",{"2":{"8":1}}],["服务",{"2":{"8":3,"11":2,"28":1,"659":1}}],["你使用一个技能",{"2":{"720":1}}],["你使用的指令",{"2":{"654":1}}],["你尝试私聊海豹核心",{"2":{"654":1}}],["你尝试过的方法可能就是排查问题的手段之一",{"2":{"388":1}}],["你尝试过的解决方案",{"0":{"388":1}}],["你觉得你还可以抢救一下",{"2":{"651":1}}],["你所需要做的",{"2":{"630":1}}],["你必须",{"2":{"598":1}}],["你必须允许海豹核心访问存储空间",{"2":{"349":1}}],["你会在许多其他指令中看到代骰用法",{"2":{"613":1}}],["你会经常用到统一",{"2":{"597":1}}],["你会希望双方都进行掷骰来决出胜者",{"2":{"577":1}}],["你会发现不应当为人类所知晓的秘密",{"2":{"558":1}}],["你会需要使用一些特殊技术",{"2":{"523":1}}],["你已经成功启动了海豹核心",{"2":{"519":1}}],["你实际输入命令的位置",{"2":{"421":1}}],["你都自动拥有一张独立的角色卡",{"2":{"615":1}}],["你都应确保迁出和迁入的海豹核心都未在运行",{"2":{"547":1}}],["你都应该尝试根据参考信息自行解决问题",{"2":{"388":1}}],["你都需要正确处理",{"2":{"409":1}}],["你希望",{"2":{"395":1}}],["你正在为建设海豹社区做出有力的贡献",{"2":{"391":1}}],["你正在阅读的就是海豹骰点核心的用户手册",{"2":{"368":1}}],["你做了什么",{"0":{"386":1}}],["你即使猜测不出问题所在",{"2":{"379":1}}],["你该这样做",{"0":{"378":1,"384":1,"390":1},"1":{"379":1,"380":1,"381":1,"382":1,"383":1,"385":1,"386":1,"387":1,"388":1,"389":1,"391":1,"392":1}}],["你通常也无需专门查阅列表",{"2":{"557":1}}],["你通常需要以深度优先的方式",{"2":{"373":1}}],["你通常会看到展示设备上所有应用的列表",{"2":{"343":1}}],["你依然不得不求助于人",{"2":{"372":1}}],["你对所有涉及的概念都一知半解",{"2":{"372":1}}],["你去搜索了一下",{"2":{"372":1}}],["你遇到了一些故障",{"2":{"372":1}}],["你发现",{"2":{"371":1}}],["你发现你可能需要学习正则表达式",{"2":{"371":1}}],["你找到了海豹手册的",{"2":{"371":1}}],["你不知道终端是什么意思",{"2":{"372":1}}],["你不应该不加校验地使用",{"2":{"369":1}}],["你不需要记住每个指令的所有细节",{"2":{"52":1}}],["你很可能找到一些使用上的问题",{"2":{"368":1}}],["你应该原样输入这里的内容",{"2":{"695":1}}],["你应该遵守这些规则",{"2":{"691":1}}],["你应该做出反馈",{"2":{"391":1}}],["你应该下拉页面",{"2":{"387":1}}],["你应该描述在问题发生之前你做了什么",{"2":{"386":1}}],["你应该已经掌握了隐藏在触发条件与回复结果背后的全部知识",{"2":{"371":1}}],["你应该永远对",{"2":{"369":1}}],["你应该先从官网下载安卓版海豹核心",{"2":{"342":1}}],["你应当确保应用程序已经拥有充足的权限",{"2":{"343":1}}],["你应当能在控制台中观察到一条",{"2":{"187":1}}],["你应当能看到一条类似于",{"2":{"12":1}}],["你应当具备诸如命令行",{"2":{"177":1,"191":1}}],["你也需要在浏览器地址栏填入此",{"2":{"409":1}}],["你也不必对这些问题有太大的压力",{"2":{"403":1}}],["你也不一定需要诉诸所有方法才能保证海豹核心的存活",{"2":{"342":1}}],["你也应该额外补充一些信息",{"2":{"392":1}}],["你也可添加群组",{"2":{"231":1}}],["你也可以在管理后台的",{"2":{"703":1}}],["你也可以在海豹核心中的",{"2":{"702":1}}],["你也可以在用户群里找到它",{"2":{"659":1}}],["你也可以在",{"2":{"543":1}}],["你也可以再打开相应扩展",{"2":{"543":1}}],["你也可以通过这个功能上传本地图片到海豹核心",{"2":{"324":1}}],["你也可以对备份行为进行设置",{"2":{"214":1}}],["你也可以直接使用",{"2":{"170":1}}],["你也可以使用异步编程",{"2":{"167":1}}],["你在这些系统上是通过命令行",{"2":{"668":1}}],["你在本群的角色将会恢复为独立卡的数据",{"2":{"615":1}}],["你在解决问题时所做的努力",{"2":{"383":1}}],["你在运行海豹的终端把日志截图一下",{"2":{"372":1}}],["你在中文互联网上找到的技术性信息",{"2":{"369":1}}],["你在该虚拟群聊中拥有群主权限",{"2":{"323":1}}],["你在",{"2":{"322":1,"387":1,"473":1}}],["你在进行移除操作时需要自己判断是否符合你的预期",{"2":{"156":1}}],["你好",{"2":{"318":1}}],["你设定的答案不应含有空格",{"2":{"247":1}}],["你指定的邮箱需支持通过",{"2":{"234":1}}],["你就可以看到自定义回复的设置页面",{"2":{"310":1}}],["你就可以进入",{"2":{"301":1,"310":1}}],["你就可以进入帮助文档的管理页面",{"2":{"292":1}}],["你就可以进入牌堆的管理页面",{"2":{"261":1}}],["你就可以进入拦截管理页面",{"2":{"250":1}}],["你就可以进入黑白名单管理页面",{"2":{"222":1}}],["你就能看到这句话",{"2":{"209":2,"211":1}}],["你将无法继续发送频道私聊消息",{"2":{"681":1}}],["你将面对令人",{"2":{"558":1}}],["你将扮演一位坚定的侦探",{"2":{"558":1}}],["你将看到类似的输出",{"2":{"353":1}}],["你将看到",{"2":{"214":1}}],["你将使用到",{"2":{"213":1}}],["你将以",{"2":{"86":1}}],["你只需在第一次启动时这样做",{"2":{"667":1}}],["你只需要准备每个平台的可执行文件",{"2":{"547":1}}],["你只需要学习",{"2":{"186":1}}],["你只能通过按原逻辑重写为海豹",{"2":{"199":1}}],["你还会用到其他指令才能在其他群聊使用这张角色卡",{"2":{"720":1}}],["你还可能用到其他指令",{"2":{"720":1}}],["你还可以拥有若干与特定群聊无关的角色卡",{"2":{"615":1}}],["你还可以选择使用",{"2":{"489":1}}],["你还可以选择从海豹官方群的群文件中获取安装包",{"2":{"125":1}}],["你还可以参阅海豹所使用的",{"2":{"194":1}}],["你还可以按照以下格式书写",{"2":{"100":1}}],["你还可以",{"2":{"98":1}}],["你还可以使用",{"2":{"98":1}}],["你还需要修改几处地方",{"2":{"179":1}}],["你是否已阅读使用说明",{"2":{"247":1}}],["你是否因为自定义回复只能调用图片",{"2":{"169":1}}],["你是否因为自定义回复的匹配方式不全而愤怒",{"2":{"169":1}}],["你是否因为自定义回复能实现的功能有限而烦恼",{"2":{"169":1}}],["你是一个一个一个牌堆结果",{"2":{"80":4,"90":3,"93":1}}],["你没有权限执行此命令",{"2":{"159":5,"171":1}}],["你赢了",{"2":{"116":1}}],["你失去了514金币",{"2":{"91":3}}],["你现在有",{"2":{"91":6}}],["你抽到了114金币",{"2":{"91":3}}],["你仍可能抽到相同结果",{"2":{"83":1}}],["你仍必须使用",{"2":{"69":1}}],["你需要通过扩展管理指令",{"2":{"694":1}}],["你需要和骰子成为好友",{"2":{"691":1}}],["你需要一个代理软件",{"2":{"659":1}}],["你需要指定",{"2":{"518":1}}],["你需要建立好一个机器人",{"2":{"514":1}}],["你需要建立好一个",{"2":{"504":1}}],["你需要建立好一个应用",{"2":{"448":1,"457":1,"509":1}}],["你需要将其修改为",{"2":{"498":1}}],["你需要将它接入你希望的即时通讯平台",{"2":{"50":1}}],["你需要修改",{"2":{"498":1}}],["你需要根据",{"2":{"496":1}}],["你需要根据规则编写规则模板",{"2":{"176":1}}],["你需要打开并修改其中的一些项",{"2":{"490":1}}],["你需要安装对应版本的",{"2":{"489":1}}],["你需要安装或下载一个",{"2":{"356":1}}],["你需要前往",{"2":{"452":1}}],["你需要学习的内容会爆炸式增长",{"2":{"371":1}}],["你需要访问系统设置的",{"2":{"343":1}}],["你需要下载新版",{"2":{"340":1}}],["你需要点击右上角的",{"2":{"214":1}}],["你需要自行尝试",{"2":{"183":1}}],["你需要自行抓取",{"2":{"10":1}}],["你需要自己通过",{"2":{"170":1}}],["你需要编写指令对象的",{"2":{"146":1}}],["你需要的回复文本",{"2":{"115":1}}],["你需要的文本",{"2":{"115":3}}],["你需要对于海豹核心对不同功能的约定有所了解",{"2":{"53":1}}],["你需要让海豹核心在你的服务器或电脑上运行起来",{"2":{"49":1}}],["你需要在不同群聊中使用同一角色卡",{"2":{"721":1}}],["你需要在侧边栏",{"2":{"450":1}}],["你需要在",{"2":{"33":1}}],["你需要开启",{"2":{"32":1}}],["你需要使用安装包",{"2":{"666":1}}],["你需要使用",{"2":{"32":1}}],["你有多种方式使用",{"2":{"32":1}}],["你可将",{"2":{"609":1}}],["你可指定保存的角色名",{"2":{"615":1}}],["你可指定",{"2":{"609":1}}],["你可在不同群聊之间使用同一角色卡",{"2":{"721":1}}],["你可在任意有",{"2":{"703":1}}],["你可在表达式中包含属性值或其他变量",{"2":{"604":1}}],["你可在每个群聊中启用不同的扩展",{"2":{"599":1}}],["你可在",{"2":{"355":1}}],["你可在这个页面查看目前在",{"2":{"324":1}}],["你可按需要进行编辑",{"2":{"294":1}}],["你可通过指令测试功能测试你的海豹核心对于消息的反应",{"2":{"323":1}}],["你可通过",{"2":{"220":1,"674":1}}],["你可选择每次自动备份的范围",{"2":{"216":1}}],["你可能用到以下指令",{"2":{"720":1}}],["你可能还想了解",{"2":{"414":1,"421":1,"423":1,"433":1,"444":1}}],["你可能想编写一个能够在用户发出符合某种规则的消息时",{"2":{"371":1}}],["你可能已经注意到了",{"2":{"368":1}}],["你可能会从镜子里召唤出血腥玛丽",{"2":{"713":1}}],["你可能会收到",{"2":{"350":1}}],["你可能会发现一些牌堆拥有特殊的功能",{"2":{"263":1}}],["你可能需要先将骰子加为好友",{"2":{"575":1}}],["你可能需要自行通过",{"2":{"518":1}}],["你可能需要自己新建文件夹",{"2":{"358":1}}],["你可能需要选择",{"2":{"349":1}}],["你可能需要对使用命令行程序有所了解",{"2":{"31":1}}],["你可能需要对",{"2":{"24":1}}],["你可能注意到",{"2":{"201":1,"283":1}}],["你可能暂时不会用到所有的功能",{"2":{"51":1}}],["你可以将",{"2":{"596":1}}],["你可以将它看成不需要触发词的自定义回复",{"2":{"102":1}}],["你可以复制迁出海豹",{"2":{"549":1}}],["你可以自行删除",{"2":{"548":1}}],["你可以自己在本地搭一个",{"2":{"8":1}}],["你可以",{"2":{"543":1}}],["你可以编写一些复杂逻辑",{"2":{"525":1}}],["你可以按照",{"2":{"492":1}}],["你可以尝试在内容的开头和结尾去寻找原文链接",{"2":{"369":1}}],["你可以提出一个",{"2":{"368":1}}],["你可以给此",{"2":{"368":1}}],["你可以右键单击压缩包后选择解压到",{"2":{"358":1}}],["你可以右键点击托盘图标并选择退出",{"2":{"353":1}}],["你可以从其官网下载页",{"2":{"356":1}}],["你可以选择性地采用本节介绍的方法",{"2":{"342":1}}],["你可以选择以下任意一种格式来学习",{"2":{"80":1}}],["你可以分别控制回复文件的启用与否",{"2":{"311":1}}],["你可以点击",{"2":{"310":1}}],["你可以为每个分组添加若干别名",{"2":{"294":1}}],["你可以参考上面的内容自行对比理解",{"2":{"278":1}}],["你可以参考以下内容以学习",{"2":{"213":1}}],["你可以看见",{"2":{"490":1}}],["你可以看见名如",{"2":{"490":1}}],["你可以看见一些帮助信息",{"2":{"310":1}}],["你可以看见文案被按照几个大类放置在一起",{"2":{"269":1}}],["你可以看出很多回复语都有普通和无前缀",{"2":{"278":1}}],["你可以看到一个开源项目的全部进行中的议题",{"2":{"410":1}}],["你可以看到在何时",{"2":{"255":1}}],["你可以看到",{"2":{"28":1}}],["你可以看到从本地安装的选项",{"2":{"27":1}}],["你可以通过触发",{"2":{"691":1}}],["你可以通过如下方式记录武器的熟练项",{"2":{"642":1}}],["你可以通过以下指令在",{"2":{"600":1}}],["你可以通过以下方法访问这个界面",{"2":{"343":1}}],["你可以通过在",{"2":{"395":1}}],["你可以通过",{"2":{"261":1,"622":1}}],["你可以通过查看牌堆管理界面中的",{"2":{"89":1}}],["你可以把它想象成一组扑克牌",{"2":{"259":1}}],["你可以对不同等级的处理方式做不同的设置",{"2":{"253":1}}],["你可以设定一个时间线",{"2":{"248":1}}],["你可以设定为你的扩展的名字",{"2":{"160":1}}],["你可以写出很多调用",{"2":{"167":1}}],["你可以使用文本匹配中的",{"2":{"316":1}}],["你可以使用",{"2":{"98":1,"167":1,"283":1,"522":1}}],["你可以直接按照以下格式书写",{"2":{"98":1,"121":1,"122":1}}],["你可以直接右键",{"2":{"32":1}}],["你可以以表的形式来创建更复杂的牌组",{"2":{"93":1}}],["你可以阅读此章的剩余各节",{"2":{"52":1}}],["你可以跳过一些细节问题",{"2":{"51":1}}],["你可以熟悉一下海豹核心提供的不同自定义功能",{"2":{"51":1}}],["你可以立即付诸实践",{"2":{"47":1}}],["你可以打开",{"2":{"28":1}}],["你可以在频道中向海豹核心发送",{"2":{"681":1}}],["你可以在海豹核心的设置中选择",{"2":{"347":1}}],["你可以在应用信息界面管理海豹核心的权限",{"2":{"343":1}}],["你可以在下拉框选择进行切换",{"2":{"311":1}}],["你可以在手动备份时调整备份范围",{"2":{"215":1}}],["你可以在其中引用其他",{"2":{"183":1}}],["你可以在多开助手中看到你的编号",{"2":{"29":1}}],["你可以在",{"2":{"24":1,"98":1,"193":1,"196":1,"248":1,"260":1,"290":1,"300":1,"313":1,"518":1,"616":1}}],["你的海豹应该可以正常连接官方机器人运作了",{"2":{"505":1}}],["你的海豹应该可以正常在",{"2":{"449":1,"454":1,"458":1,"512":1,"515":1}}],["你的qq号",{"2":{"498":1}}],["你的浏览器则试图连接到",{"2":{"409":1}}],["你的追问同样应该是一个良好的问题",{"2":{"392":1}}],["你的操作系统会不断调整各个程序的活动策略",{"2":{"342":1}}],["你的用户",{"2":{"323":2}}],["你的指令测试只能模拟私聊",{"2":{"323":1}}],["你的扩展依赖于另一个扩展提供的功能",{"2":{"193":1}}],["你的扩展的主页链接",{"2":{"188":1}}],["你的扩展的代码就写在这个文件里",{"2":{"181":1}}],["你的修改完成后",{"2":{"44":1}}],["你的账号应当已经成功连接",{"2":{"12":1}}],["你的端口号可能不同",{"2":{"12":1}}],["你的投喂将用于支付服务器费用",{"2":{"2":1}}],["你登录骰娘的qq号",{"2":{"12":1}}],["你要链接的",{"2":{"8":1}}],["请再额外关闭系统防火墙或设置规则放行",{"2":{"659":2}}],["请转到",{"2":{"624":1}}],["请多次使用成长指令",{"2":{"588":1}}],["请以海豹核心最新帮助信息为准",{"2":{"560":1}}],["请运行",{"2":{"520":1}}],["请下载",{"2":{"518":1}}],["请记下以便后续使用",{"2":{"498":1}}],["请参阅相应的使用文档以了解骰主设定的自定义回复",{"2":{"697":1}}],["请参阅",{"2":{"625":1,"629":1}}],["请参考下面的段落",{"2":{"720":1}}],["请参考以下内容",{"2":{"557":1}}],["请参考",{"2":{"494":1,"689":1}}],["请参见",{"2":{"2":1,"478":1}}],["请根据说明下载对应版本",{"2":{"490":1}}],["请根据自己的情况选择适合的方式",{"2":{"486":1}}],["请根据实际情况自行调整挂载的目录",{"2":{"475":1}}],["请根据实际情况自行调整端口映射",{"2":{"475":1}}],["请首先阅读",{"2":{"474":1}}],["请至少完成",{"2":{"473":1}}],["请把该项修改为",{"2":{"464":1}}],["请把8080替换为你的",{"2":{"12":1}}],["请按需安装对应",{"2":{"462":1}}],["请尝试替换为以下配置",{"2":{"492":1}}],["请尝试重新刷新",{"2":{"458":1}}],["请尝试在应用信息界面中开启",{"2":{"344":1}}],["请先检查",{"2":{"426":1}}],["请先阅读它",{"2":{"172":1}}],["请先阅读这一节",{"2":{"101":1}}],["请做好截图保护",{"2":{"363":1}}],["请做好预期准备",{"2":{"7":1}}],["请看",{"2":{"357":3,"365":3,"375":3,"387":1,"397":3}}],["请看迁移一节",{"2":{"330":1}}],["请始终允许海豹核心发送通知",{"2":{"350":1}}],["请始终开启",{"2":{"344":1}}],["请查阅你系统的",{"2":{"520":1}}],["请查阅模板项目所使用的构建工具",{"2":{"183":1}}],["请查看安卓端登录",{"2":{"518":1}}],["请查看安卓端文件路径一节",{"2":{"328":1}}],["请查看配置安卓端保活对应系统修改系统设置",{"2":{"334":1}}],["请查看数据库检查和修复一节",{"2":{"329":1}}],["请不要添加",{"2":{"510":1}}],["请不要将海豹从任务列表中划除",{"2":{"347":1}}],["请不要开启",{"2":{"347":1}}],["请不要在新版本导入旧版本的文案",{"2":{"272":1}}],["请不要被搜索引擎等误导进各种下载站",{"2":{"125":1}}],["请慎重决定是否开启",{"2":{"233":1}}],["请检查海豹是否为最新版本",{"2":{"201":1}}],["请使用上述客户端连接",{"2":{"486":1}}],["请使用屏幕截图",{"2":{"386":2,"387":2}}],["请使用该页面展示的路径",{"2":{"324":1}}],["请使用统一",{"2":{"231":1}}],["请使用",{"2":{"201":1,"517":1,"731":2,"733":1}}],["请使用版本为",{"2":{"35":1}}],["请小心溢出问题",{"2":{"187":1}}],["请善用搜索",{"2":{"125":1,"718":1}}],["请善用侧边栏和搜索",{"2":{"54":1,"61":1,"97":1,"101":1,"120":1,"123":1,"186":1,"200":1,"221":1,"249":1,"258":1,"267":1,"288":1,"298":1,"308":1,"558":1,"624":1,"630":1,"673":1,"698":1,"734":1}}],["请加好括号",{"2":{"116":1}}],["请用反引号",{"2":{"109":1}}],["请对它们进行转义",{"2":{"105":1}}],["请注意查阅它的使用说明",{"2":{"693":1}}],["请注意设置中的正向连接和反向连接请",{"2":{"495":1}}],["请注意",{"2":{"213":1,"466":1}}],["请注意在左侧的",{"2":{"101":1}}],["请注意辨析",{"2":{"101":1}}],["请从第二行开始编写词条",{"2":{"100":1}}],["请永远使用",{"2":{"98":1}}],["请务必提供日志截图",{"2":{"387":1}}],["请务必注意这一点",{"2":{"78":1}}],["请务必仔细阅读使用须知",{"2":{"46":1}}],["请你参考下面的版本",{"2":{"492":1}}],["请你首先阅读",{"2":{"53":1}}],["请你提出",{"2":{"50":1}}],["请你直接从导航栏查找对应分类",{"2":{"47":1}}],["请在没有必须要展示的情况下隐藏好截图内可能存在的敏感信息",{"2":{"363":1}}],["请在",{"2":{"349":1}}],["请在列表中选择",{"2":{"343":1}}],["请在阅读过新平台的部署方法后阅读",{"2":{"49":1}}],["请在模拟器设置中打开",{"2":{"26":1}}],["请阅读这一章下面的各节",{"2":{"51":1}}],["请阅读",{"2":{"48":2,"49":1,"51":1,"52":1}}],["请立即停用海豹骰",{"2":{"46":1}}],["请确认",{"2":{"518":1}}],["请确认你的硬盘状态是否还好",{"2":{"669":1}}],["请确认你的操作系统并选择对应版本的安装包",{"2":{"517":1}}],["请确认你是否下载的是正确版本的海豹",{"2":{"518":1}}],["请确认是从你的仓库的新分支",{"2":{"44":1}}],["请确保你发送的日志是问题发生那一刻前后一段时间内的日志",{"2":{"387":1}}],["请确保你有良好的计算机使用能力",{"2":{"24":1}}],["请求",{"0":{"44":1},"2":{"41":1}}],["请自行根据场景",{"2":{"579":1}}],["请自行理解",{"2":{"557":1}}],["请自行考虑是否使用这样的牌堆",{"2":{"265":1}}],["请自行了解或放弃使用",{"2":{"191":1}}],["请自行了解或转至",{"2":{"177":1}}],["请自行配置保活策略",{"2":{"34":1}}],["请自行斟酌",{"2":{"24":1}}],["请于服务器管理面板放行你要用的端口",{"2":{"659":1}}],["请于",{"2":{"27":1,"28":1}}],["请耐心等待",{"2":{"24":1}}],["请仔细分辨",{"2":{"24":1}}],["请等待一段时间继续",{"2":{"18":1}}],["请重新配置",{"2":{"15":1}}],["请选择对应版本",{"2":{"11":1}}],["请直接依次按下",{"2":{"9":1}}],["原则上不允许机器人账号",{"2":{"523":1}}],["原本有图形化用户界面的",{"2":{"437":1}}],["原本的文件上传到海豹后",{"2":{"386":1}}],["原本是梨骰用于",{"2":{"100":1}}],["原因",{"2":{"151":1,"165":1,"280":1,"597":1,"601":1,"676":1}}],["原因见",{"2":{"43":1}}],["原始格式的",{"2":{"201":2}}],["原始指令内容",{"2":{"146":1}}],["原始信息",{"2":{"141":1}}],["原理是利用",{"2":{"31":1}}],["原",{"2":{"7":1}}],["query",{"2":{"597":1}}],["quitgroup",{"2":{"596":1}}],["quarantine",{"2":{"518":2}}],["quot检定结果为",{"2":{"572":1}}],["quot侦查",{"2":{"572":1}}],["quot",{"2":{"17":2,"63":2,"65":8,"66":2,"67":2,"70":6,"77":2,"96":6,"109":3,"110":6,"464":2,"569":6,"570":2,"571":2,"573":2,"574":2,"576":2}}],["qdisc",{"2":{"481":1}}],["qr",{"2":{"477":1,"490":1}}],["q",{"0":{"427":1},"1":{"428":1},"2":{"399":1,"609":1}}],["qsign",{"0":{"15":1,"19":1,"22":1},"2":{"6":1,"7":3,"8":5,"9":5,"11":4,"15":4,"16":4,"19":1,"21":2,"486":1,"490":1}}],["qq12345",{"2":{"660":1}}],["qq123456",{"2":{"326":1}}],["qq号",{"2":{"487":2}}],["qqnt",{"0":{"428":1},"2":{"426":1}}],["qq",{"0":{"246":1,"473":1,"480":1,"483":1,"485":1,"664":1},"1":{"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":2,"482":2,"484":1,"485":1,"486":1,"487":1,"488":1,"489":1,"490":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"497":1,"498":1,"499":1,"500":1,"501":1,"502":1,"503":1,"504":1,"505":1,"506":1},"2":{"6":2,"11":2,"12":1,"20":1,"21":2,"23":1,"24":3,"26":1,"28":6,"30":1,"31":4,"33":1,"34":2,"35":2,"50":1,"155":1,"201":6,"232":1,"234":1,"235":1,"236":2,"237":1,"239":2,"244":1,"246":1,"247":1,"248":1,"320":1,"327":1,"389":4,"399":1,"409":8,"416":2,"418":2,"425":1,"426":4,"473":2,"474":1,"475":4,"477":3,"478":1,"480":6,"481":1,"482":1,"483":1,"485":12,"486":6,"487":5,"488":1,"490":2,"491":2,"493":1,"495":3,"496":4,"499":2,"502":7,"504":2,"505":1,"518":1,"519":1,"523":2,"542":1,"554":5,"597":2,"612":1,"654":1,"662":1,"681":2,"690":1,"691":5,"705":1}}],["见到卡片右上角出现锁图标即可",{"2":{"346":1}}],["见",{"2":{"6":1,"57":1,"124":1,"191":1,"225":1,"253":1,"262":1,"266":1,"287":1,"291":1,"297":1,"305":1,"307":1,"316":2,"317":1,"486":4,"519":1,"702":1}}],["2环4个",{"2":{"645":1}}],["2环",{"2":{"645":2}}],["2=15",{"2":{"632":1}}],["2=17",{"2":{"632":2}}],["2=100",{"2":{"602":1}}],["2=80",{"2":{"613":1}}],["2=75",{"2":{"613":1}}],["2=65",{"2":{"611":1}}],["2=21",{"2":{"611":1}}],["28",{"2":{"579":1}}],["25",{"2":{"523":1,"571":1,"659":2}}],["255",{"2":{"481":2}}],["2d20q1",{"2":{"606":1}}],["2d20k1=",{"2":{"606":2}}],["2d20k1",{"2":{"207":1}}],["2d",{"2":{"481":1}}],["21w19a",{"2":{"462":1}}],["21w18a",{"2":{"462":1}}],["21",{"2":{"174":2}}],["24",{"2":{"168":1,"403":2}}],["2471",{"2":{"6":1}}],["22",{"2":{"162":1,"174":5}}],["2>",{"2":{"110":2}}],["272",{"2":{"24":1}}],["23",{"2":{"578":1,"626":1}}],["237",{"0":{"18":1}}],["235",{"0":{"17":1}}],["20+1d3",{"2":{"611":1}}],["2012r2",{"2":{"659":2}}],["2012",{"2":{"487":1}}],["2008",{"2":{"487":1}}],["200mb",{"2":{"353":1}}],["2001",{"2":{"323":1}}],["20",{"2":{"12":2,"24":1,"165":1,"166":1,"168":3,"230":1,"464":3,"579":1,"606":1,"622":1,"642":1}}],["20230109",{"2":{"201":1}}],["2023",{"2":{"122":2,"162":1,"188":1,"201":1}}],["2022",{"2":{"12":2,"149":1,"161":1,"165":1,"166":1,"168":1,"187":1,"626":2}}],["2024",{"2":{"6":1,"23":1,"24":3,"31":1,"464":1,"492":2}}],["2",{"0":{"15":1,"50":1,"75":1,"660":1},"2":{"6":1,"12":1,"24":1,"35":1,"46":1,"58":1,"59":1,"84":1,"86":2,"96":2,"104":1,"110":4,"115":1,"119":1,"121":2,"122":4,"126":3,"147":2,"148":1,"149":2,"161":1,"162":5,"165":1,"166":1,"168":4,"171":3,"173":2,"176":1,"187":1,"188":2,"194":3,"195":2,"203":3,"205":3,"247":1,"337":1,"465":1,"475":3,"492":2,"498":1,"500":1,"544":3,"546":1,"556":1,"572":1,"593":2,"599":1,"602":1,"607":1,"608":1,"609":4,"610":3,"611":3,"613":1,"626":1,"638":6,"645":3,"659":2,"684":2}}],["日常用语中基本等价且易混淆的词汇等价",{"2":{"556":1}}],["日或之前下载的",{"2":{"492":2}}],["日志名",{"2":{"700":3,"701":2,"702":4,"703":1,"719":2}}],["日志记录是本群记录过的所有日志",{"2":{"700":1}}],["日志记录",{"2":{"690":1}}],["日志记录提示",{"0":{"243":1}}],["日志在线染色器",{"2":{"542":1}}],["日志通常分为信息",{"2":{"430":1}}],["日志通常指程序在运行时生成的一系列记录",{"2":{"430":1}}],["日志中通常也会有所反映",{"2":{"430":1}}],["日志中每条记录都相对较长",{"2":{"387":1}}],["日志还会使用特定格式输出堆栈信息",{"2":{"387":1}}],["日志是这样显示的",{"2":{"387":1}}],["日志是这样的",{"2":{"387":1}}],["日志截图",{"2":{"387":2}}],["日志",{"0":{"430":1,"698":1},"1":{"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"705":1,"706":1,"707":1,"708":1,"709":1,"710":1},"2":{"269":1,"327":1,"361":1,"387":1,"419":1,"430":1}}],["日期以及正则表达式等",{"2":{"299":1}}],["日期",{"2":{"77":1}}],["日期或时刻",{"2":{"65":1}}],["日归档",{"2":{"24":1}}],["日",{"2":{"6":1,"23":1,"24":2,"31":1}}],["78",{"2":{"659":1}}],["72",{"2":{"631":1}}],["73",{"2":{"631":3}}],["76",{"2":{"631":2}}],["7+20+15+1+17",{"2":{"602":1}}],["75",{"2":{"590":3,"613":1}}],["755",{"2":{"550":1}}],["747114944",{"2":{"554":1}}],["715664650",{"2":{"554":1}}],["7zip",{"2":{"358":1}}],["7th",{"2":{"175":1,"524":1,"558":1,"719":1}}],["70",{"2":{"11":1,"137":1,"152":1,"524":1,"576":1,"590":1}}],["7",{"0":{"21":1,"558":1},"1":{"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1,"570":1,"571":1,"572":1,"573":1,"574":1,"575":1,"576":1,"577":1,"578":1,"579":1,"580":1,"581":1,"582":1,"583":1,"584":1,"585":1,"586":1,"587":1,"588":1,"589":1,"590":1,"591":1,"592":1,"593":1,"594":1},"2":{"6":1,"23":1,"24":1,"31":1,"32":1,"46":1,"69":1,"79":1,"84":1,"104":1,"126":1,"171":1,"201":1,"462":1,"464":1,"487":1,"517":1,"536":1,"543":1,"556":2,"574":1,"579":1,"599":1,"605":1,"606":1,"643":1,"684":1,"712":1}}],["月",{"2":{"6":1,"23":1,"24":3,"31":1,"492":2}}],["5a10=",{"2":{"684":1}}],["5a6q4=",{"2":{"609":1}}],["5a6=",{"2":{"609":1,"684":1}}],["56",{"2":{"659":1}}],["562897832",{"2":{"554":1}}],["57",{"2":{"631":1}}],["575",{"2":{"590":1}}],["53",{"2":{"604":1}}],["530",{"2":{"590":1}}],["5d24=60",{"2":{"602":1}}],["5d24=",{"2":{"602":1}}],["5d24",{"2":{"602":1}}],["5s后将退出当前群组",{"2":{"598":1}}],["59",{"2":{"582":1,"585":1}}],["55",{"2":{"162":1,"201":1,"590":2}}],["5555",{"2":{"29":1}}],["5000",{"2":{"477":1,"490":1,"492":1}}],["50",{"2":{"137":1,"152":2,"153":1,"210":2,"481":1,"524":1,"544":1,"556":4,"569":1,"590":2,"593":9}}],["5+14",{"2":{"96":2}}],["514",{"2":{"91":3,"95":1,"96":2}}],["5e",{"0":{"630":1},"1":{"631":1,"632":1,"633":1,"634":1,"635":1,"636":1,"637":1,"638":1,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"648":1,"649":1,"650":1,"651":1,"652":1},"2":{"69":1,"79":1,"175":1,"630":1,"719":1}}],["5800",{"2":{"29":2}}],["524364253",{"2":{"554":1}}],["52",{"2":{"23":1}}],["540",{"2":{"590":1}}],["54",{"2":{"23":2}}],["5",{"0":{"18":1,"19":1,"53":1},"2":{"6":1,"23":1,"46":1,"84":1,"119":3,"126":1,"168":1,"171":2,"188":1,"194":2,"196":3,"213":1,"337":1,"462":1,"546":1,"563":1,"593":5,"602":1,"605":1,"607":2,"609":7,"611":2,"626":1,"631":1,"645":2,"684":3,"688":1,"735":1,"736":1}}],["年月日",{"2":{"214":2}}],["年",{"2":{"6":1,"23":1,"24":3,"31":1,"492":2}}],["以在名片中使用小写字母",{"2":{"706":1}}],["以控制指令的行为",{"2":{"694":1}}],["以打破死锁",{"2":{"681":1}}],["以打卡指令为例",{"2":{"115":1}}],["以这种方式骰出的点数会自动成为一个骰池",{"2":{"676":1}}],["以腾讯云轻量服务器为例",{"2":{"659":1}}],["以允许远程",{"2":{"657":1}}],["以确定海豹核心是否收到了指令",{"2":{"654":1}}],["以确保其接受任何来源的连接",{"2":{"481":1}}],["以确保数据被写入硬盘",{"2":{"353":1}}],["以确保正则表达式的表现一致",{"2":{"101":1}}],["以使用对方的属性",{"2":{"613":1}}],["以使用对方的技能进行检定",{"2":{"576":1}}],["以进行更复杂的运算",{"2":{"611":1}}],["以此类推",{"2":{"609":1,"610":1,"645":1}}],["以更方便地计算某些固定骰点",{"2":{"565":1}}],["以适配尽量多的用法",{"2":{"556":1}}],["以提供各自不同的服务内容",{"2":{"545":1}}],["以避免预期外结果",{"2":{"522":1}}],["以不合理的速度在多地区登录等等",{"2":{"485":1}}],["以启动服务器",{"2":{"465":1}}],["以至于错失了一个全新的",{"2":{"366":1}}],["以防万一最好导出一次保留数据",{"2":{"340":1}}],["以及括号",{"2":{"611":1}}],["以及极少的",{"2":{"524":1}}],["以及你的操作系统等",{"2":{"389":1}}],["以及如何在",{"2":{"364":1}}],["以及一些与文件相关的问题",{"2":{"325":1}}],["以及",{"2":{"290":1,"476":1}}],["以及帮助社畜制作者们稍微抵抗来自现实的引力",{"2":{"2":1}}],["以图片",{"2":{"282":1}}],["以便顺畅使用的方法",{"2":{"342":1}}],["以便于骰主知晓存活状态",{"2":{"242":1}}],["以便使用和分享",{"2":{"188":1}}],["以免产生不必要的报错和麻烦",{"2":{"239":1,"486":1}}],["以免造成麻烦",{"2":{"24":1}}],["以设置自动清理时机",{"2":{"219":1}}],["以秒为单位的",{"2":{"188":1}}],["以供参考",{"2":{"176":1}}],["以对方身份进行骰点",{"2":{"166":1}}],["以对外暴露",{"2":{"24":1}}],["以结构体方法的形式存在",{"2":{"126":1}}],["以匹配",{"0":{"117":1}}],["以石头剪刀布为例",{"2":{"116":1}}],["以养猫功能中猫好感度为例",{"2":{"113":1}}],["以显示该牌堆提供了云端内容",{"2":{"94":1}}],["以指定对应的更新链接",{"2":{"90":3}}],["以示例图中路径为例",{"2":{"88":1}}],["以示它们的不同",{"2":{"69":1}}],["以两个斜杠",{"2":{"74":1}}],["以",{"2":{"65":1,"86":1,"247":1,"517":2,"543":1,"694":1,"695":1}}],["以修改了",{"2":{"60":1}}],["以上指令等价于",{"2":{"629":1}}],["以上所有骰法",{"2":{"611":1}}],["以上功能可以组合使用",{"0":{"574":1}}],["以上功能均可以通过附加",{"2":{"567":1,"573":1,"639":1,"641":1,"644":1,"646":1,"648":1,"650":1,"652":1}}],["以上命令的详细用法",{"2":{"520":1}}],["以上命令会完成容器更新",{"2":{"479":1}}],["以上就是提问的智慧中我们总结出的",{"2":{"396":1}}],["以上就是我们总结出的",{"2":{"374":1}}],["以上版本",{"2":{"356":1}}],["以上的规则模板和指令都可以在同一个",{"2":{"176":1}}],["以上的安卓端海豹",{"2":{"35":1}}],["以上三个对象内容暂略",{"2":{"137":1}}],["以上两种写法实现效果没有差别",{"2":{"115":1}}],["以上述牌组为例",{"2":{"96":1}}],["以上文的例子而言",{"2":{"86":1}}],["以上结构相当于",{"2":{"68":1}}],["以上",{"2":{"25":1,"31":1,"209":1,"211":1,"353":1}}],["以下内容针对从未接触过骰子的用户准备",{"2":{"689":1}}],["以下内容归档于",{"2":{"6":1,"23":1,"24":1,"31":1}}],["以下指令均可",{"2":{"656":1}}],["以下的角色名部分相同",{"2":{"632":1}}],["以下是一些典型的反例",{"2":{"385":1}}],["以下是一些合适的措辞",{"2":{"385":1,"386":1,"387":1,"388":1,"389":1}}],["以下载对应文件",{"2":{"220":1}}],["以下代码处理的是",{"2":{"147":1}}],["以下为",{"2":{"274":1}}],["以下为部分",{"2":{"126":1}}],["以下为简要说明",{"2":{"73":1}}],["以下给出在同一个",{"2":{"116":1}}],["以下",{"2":{"25":1}}],["以下教程也不再适用",{"2":{"24":1}}],["gm",{"2":{"553":1,"714":1}}],["global",{"2":{"481":1}}],["ghcr",{"2":{"475":5,"518":1}}],["gateway",{"2":{"448":1}}],["gamesystem",{"2":{"126":2,"135":2}}],["g",{"0":{"404":1},"1":{"405":1}}],["gpl",{"2":{"188":1}}],["generator",{"2":{"167":1,"187":1,"450":1}}],["getoptimumserver",{"2":{"490":1,"492":1}}],["getoptionconfig",{"2":{"126":1,"171":1}}],["getxxxconfig",{"2":{"170":1}}],["getrestargsfrom",{"2":{"142":1}}],["getkwarg",{"2":{"142":1}}],["getargn",{"2":{"142":1,"147":5,"148":2,"149":2,"151":2,"159":5,"161":1,"162":5,"165":1,"166":1,"171":1}}],["getvaluenamebyalias",{"2":{"139":1}}],["getversion",{"2":{"136":1}}],["getendpoints",{"2":{"136":1}}],["getuser",{"2":{"126":1,"158":1,"159":1}}],["getlist",{"2":{"126":1,"157":1,"159":1}}],["gettemplateconfig",{"2":{"126":1,"171":1}}],["getboolconfig",{"2":{"126":1,"171":1}}],["getfloatconfig",{"2":{"126":1,"171":1}}],["getintconfig",{"2":{"126":1,"171":1}}],["getstringconfig",{"2":{"126":1,"171":1}}],["getchartemplate",{"2":{"138":1}}],["getconfig",{"2":{"126":1,"170":1,"171":4}}],["getctxproxyatpos",{"0":{"130":1},"2":{"126":2,"130":1}}],["getctxproxyfirst",{"0":{"130":1},"2":{"126":1,"130":1,"166":1}}],["get",{"2":{"95":1,"167":1,"463":1,"702":1,"719":1,"738":1}}],["green",{"0":{"712":1},"2":{"712":1}}],["gre单词",{"2":{"150":1,"626":8}}],["groupclr",{"2":{"617":1}}],["group=",{"2":{"617":1}}],["groups",{"2":{"510":1,"511":2}}],["grouplocaltime",{"2":{"498":1}}],["groupnum",{"2":{"140":1}}],["groupname",{"2":{"138":1}}],["groupwelcomemessage",{"2":{"138":1}}],["group",{"0":{"138":1},"2":{"137":1,"141":1,"165":1,"201":3,"323":1,"356":4,"481":1,"597":1,"617":1}}],["groupid",{"2":{"126":2,"128":4,"138":1,"141":1,"165":1}}],["git",{"2":{"43":2,"131":3,"178":1}}],["github",{"0":{"364":1,"395":1},"2":{"1":1,"4":1,"36":1,"38":3,"40":1,"41":1,"44":1,"126":1,"137":1,"149":1,"151":1,"153":1,"159":1,"161":1,"162":1,"165":1,"166":1,"168":1,"178":2,"187":1,"188":2,"260":1,"290":1,"300":1,"313":1,"362":1,"364":5,"368":1,"395":1,"410":1,"416":1,"418":1,"425":1,"465":1,"489":2,"490":1,"517":2}}],["gt",{"2":{"32":1,"80":1,"89":5,"98":1,"100":2,"102":1,"105":1,"110":4,"121":1,"122":1,"146":1,"152":1,"194":3,"201":4,"346":4,"386":1,"387":2,"421":1,"498":1,"559":2,"561":1,"562":1,"563":7,"564":2,"565":2,"569":1,"570":2,"571":2,"572":2,"578":1,"579":2,"580":3,"582":2,"583":2,"584":3,"588":4,"589":7,"590":1,"593":1,"594":1,"596":3,"597":5,"599":2,"600":1,"601":2,"609":7,"610":4,"614":1,"615":10,"616":5,"617":1,"621":1,"622":3,"626":3,"627":2,"631":2,"632":6,"633":4,"636":3,"637":2,"638":6,"640":4,"643":6,"647":2,"651":1,"657":1,"667":1,"676":3,"677":2,"678":1,"679":3,"680":1,"682":11,"684":2,"685":1,"686":3,"687":1,"688":1,"695":3,"700":3,"701":2,"702":6,"703":3,"707":1,"708":1,"719":35,"721":2,"723":1,"724":2,"726":1,"728":1,"729":1,"730":1,"735":1,"736":2,"737":1,"738":8}}],["gugu",{"0":{"675":1},"2":{"543":1,"675":2}}],["guild",{"2":{"450":1}}],["guildid",{"2":{"138":1,"141":1}}],["gui",{"2":{"32":1,"433":1}}],["guestport",{"2":{"29":1}}],["google",{"2":{"369":3,"659":1}}],["goja",{"2":{"187":1}}],["gotype",{"2":{"170":1}}],["gofunc",{"2":{"104":1}}],["golang",{"2":{"101":1,"524":1}}],["gocqhttp",{"0":{"13":1},"1":{"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"488":1}}],["gocqqq号",{"2":{"12":1}}],["gocq",{"0":{"20":1},"2":{"10":1,"12":6,"16":1,"21":1,"24":2}}],["go",{"0":{"6":1,"20":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"6":5,"9":2,"12":5,"36":1,"101":1,"104":1,"126":1,"194":1,"485":1,"486":1,"660":1}}],["归档",{"0":{"5":1},"1":{"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1}}],["下扫码",{"0":{"658":1},"1":{"659":1,"660":1}}],["下略",{"2":{"638":1}}],["下点击",{"2":{"511":1}}],["下滑在",{"2":{"511":1}}],["下添加如下事件",{"2":{"510":1}}],["下文海豹对接时按引导执行即可",{"2":{"490":1}}],["下文海豹对接时应该选择",{"2":{"490":1}}],["下选择你希望海豹拥有的权限",{"2":{"455":1}}],["下填写对应的信息",{"2":{"454":1}}],["下找到",{"2":{"453":1,"457":1,"511":1}}],["下方的子目录",{"2":{"450":1,"459":1}}],["下方的敏感词列表会展示当前加载的敏感词",{"2":{"254":1}}],["下拉框",{"2":{"271":1}}],["下同",{"2":{"209":1}}],["下读出的数据即被代骰者的个人数据",{"2":{"166":1}}],["下的备份文件",{"2":{"548":1}}],["下的",{"2":{"146":1}}],["下划线和短横线",{"2":{"66":1}}],["下载后解压的单文件版本的",{"2":{"490":1}}],["下载对应版本的服务端核心文件",{"2":{"463":2}}],["下载安装就可以了",{"2":{"358":1}}],["下载其中的",{"2":{"356":1}}],["下载原图和删除图片文件",{"2":{"324":1}}],["下载",{"0":{"497":1},"2":{"28":1,"220":1,"311":1,"337":2,"465":1,"659":1}}],["下载完成后",{"2":{"27":1,"356":1}}],["下面该",{"2":{"633":1}}],["下面以",{"2":{"462":1}}],["下面我们将一一介绍其中的功能",{"2":{"310":1}}],["下面我们将一一介绍",{"2":{"251":1}}],["下面是一个可行的思考过程",{"2":{"379":1}}],["下面是一个简单的示例",{"2":{"109":1}}],["下面是",{"2":{"126":4,"695":1}}],["下面的语法中涉及到的符号都是",{"2":{"63":1}}],["下面的方法随时可能失效",{"2":{"9":1}}],["下面将引导你跳转到对应规则的具体命令支持页",{"2":{"711":1}}],["下面将一一介绍",{"2":{"301":1}}],["下面将简单介绍他们之间的关系",{"2":{"273":1}}],["下面将补充介绍进阶内容",{"2":{"102":1}}],["下面将以提交对手册的改进为示例",{"2":{"40":1}}],["下面将使用",{"2":{"25":1}}],["下",{"2":{"4":1,"36":1,"430":1,"511":1}}],["浣熊旅記",{"2":{"3":1,"99":1}}],["憧憬少",{"2":{"3":1,"162":2}}],["病毒",{"2":{"46":1}}],["病",{"2":{"3":1}}],["蜜瓜包",{"2":{"3":1,"620":1}}],["鹊鹊结合实际经历创作",{"2":{"526":1,"675":1}}],["鹊鹊",{"2":{"3":1}}],["新人入群欢迎",{"0":{"680":1}}],["新建空白卡",{"2":{"719":1}}],["新建日志",{"2":{"719":1}}],["新建",{"0":{"312":1},"2":{"312":1}}],["新建一份日志",{"2":{"700":1}}],["新建一张角色卡",{"2":{"615":1}}],["新建一个空白文件夹",{"2":{"464":1}}],["新建一个",{"2":{"187":1}}],["新建一轮分歧并设标题",{"2":{"162":1}}],["新建一项自定义回复",{"2":{"102":1}}],["新版本的海豹有时会增加更多插件可以调用的",{"2":{"196":1}}],["新版本支持了直接使用时间字符串",{"2":{"188":1}}],["新版本发布的正式地址",{"2":{"1":1}}],["新增链接",{"2":{"491":1,"499":1}}],["新增连接",{"2":{"487":1}}],["新增的",{"2":{"196":2}}],["新增",{"2":{"126":3,"261":1}}],["新开一行赋值",{"2":{"116":1}}],["新",{"2":{"36":1}}],["新手册贡献者",{"2":{"3":1}}],["染色",{"2":{"1":1}}],["官方",{"2":{"681":1}}],["官方对机器人能力的严格限制",{"2":{"502":1}}],["官方目前已开放了机器人功能",{"2":{"502":1}}],["官方的机器人服务",{"2":{"502":1}}],["官方的检测",{"2":{"6":1}}],["官方文档",{"2":{"494":1,"496":1}}],["官方仓库的最新说明",{"2":{"492":1}}],["官方认可",{"2":{"487":1}}],["官方认可的机器人方案",{"2":{"485":1}}],["官方机器人的群聊权限并未对所有人开放",{"2":{"502":1}}],["官方机器人",{"0":{"502":1},"1":{"503":1,"504":1,"505":1,"506":1},"2":{"486":1,"505":1}}],["官方机器人权限",{"2":{"486":1}}],["官方机器人服务",{"2":{"485":1}}],["官方保证",{"2":{"485":1}}],["官方角度等同于",{"2":{"485":1}}],["官方会对账号行为进行检测",{"2":{"485":1}}],["官方一直在对第三方实现进行技术与非技术层面的多重打击",{"2":{"485":1}}],["官方站点",{"0":{"1":1}}],["官网的下载最顺畅和便捷",{"2":{"517":1}}],["官网下载页",{"2":{"517":1}}],["官网下载可能会十分缓慢",{"2":{"125":1}}],["官网应当是你下载软件的首选途径",{"2":{"125":1}}],["官网",{"2":{"1":1,"2":1,"517":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/Tableau10.B-NsZVaP.js b/assets/chunks/Tableau10.B-NsZVaP.js new file mode 100644 index 000000000..4223ec34a --- /dev/null +++ b/assets/chunks/Tableau10.B-NsZVaP.js @@ -0,0 +1 @@ +function o(e){for(var c=e.length/6|0,n=new Array(c),a=0;ae in a?kt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{X as Ot,s as ne,v as Ve,ap as Rt,aq as Ct,d as Mt,G as be,ar as et,h as ye,as as At,at as Lt,x as Dt,au as zt,y as Me,R as de,Q as we,av as Pt,aw as jt,Y as Vt,U as $t,a1 as Bt,o as H,b as Wt,j as _,a2 as Kt,k as D,ax as Jt,ay as Ut,az as qt,c as Z,n as tt,e as _e,E as st,F as nt,a as he,t as fe,aA as Gt,p as Qt,l as Ht,aB as it,aC as Yt,af as Zt,al as Xt,aD as es,_ as ts}from"./framework.C7ysi3tu.js";import{u as ss,c as ns}from"./theme.AljJD-Uk.js";const is={root:()=>Ot(()=>import("./@localSearchIndexroot.DCq8HKfW.js"),[])};/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Te=vt.join(","),mt=typeof Element>"u",re=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},ke=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},rs=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(ke(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Te));return t&&re.call(e,Te)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!ke(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),c=o.length?o:i.children,l=a(c,!0,s);s.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=re.call(i,Te);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var f=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),v=!ke(f,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(f&&v){var y=a(f===!0?i.children:f.children,!0,s);s.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ie=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||rs(e))&&!yt(e)?0:e.tabIndex},as=function(e,t){var s=ie(e);return s<0&&t&&!yt(e)?0:s},os=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},cs=function(e){return wt(e)&&e.type==="hidden"},ls=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},us=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var c=e.parentElement,l=Ne(e);if(c&&!c.shadowRoot&&n(c)===!0)return rt(e);e.assignedSlot?e=e.assignedSlot:!c&&l!==e.ownerDocument?e=l.host:e=c}e=o}if(ps(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return rt(e);return!1},ms=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},bs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,c=as(o,i),l=i?a(n.candidates):o;c===0?i?t.push.apply(t,l):t.push(o):s.push({documentOrder:r,tabIndex:c,item:n,isScope:i,content:l})}),s.sort(os).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:$e.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:gs}):s=gt(e,t.includeContainer,$e.bind(null,t)),bs(s)},ws=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Fe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Fe.bind(null,t)),s},ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,Te)===!1?!1:$e(t,e)},_s=vt.concat("iframe").join(","),Ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,_s)===!1?!1:Fe(t,e)};/*! +* focus-trap 7.5.4 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function at(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(a);e&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable})),t.push.apply(t,s)}return t}function ot(a){for(var e=1;e0){var s=e[e.length-1];s!==t&&s.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var s=e.indexOf(t);s!==-1&&e.splice(s,1),e.length>0&&e[e.length-1].unpause()}},Is=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Ts=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ve=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Ns=function(e){return ve(e)&&!e.shiftKey},ks=function(e){return ve(e)&&e.shiftKey},lt=function(e){return setTimeout(e,0)},ut=function(e,t){var s=-1;return e.every(function(n,r){return t(n)?(s=r,!1):!0}),s},pe=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n1?m-1:0),E=1;E=0)u=s.activeElement;else{var d=i.tabbableGroups[0],m=d&&d.firstTabbableNode;u=m||h("fallbackFocus")}if(!u)throw new Error("Your focus-trap needs to have at least one focusable element");return u},v=function(){if(i.containerGroups=i.containers.map(function(u){var d=ys(u,r.tabbableOptions),m=ws(u,r.tabbableOptions),S=d.length>0?d[0]:void 0,E=d.length>0?d[d.length-1]:void 0,k=m.find(function(p){return ae(p)}),F=m.slice().reverse().find(function(p){return ae(p)}),M=!!d.find(function(p){return ie(p)>0});return{container:u,tabbableNodes:d,focusableNodes:m,posTabIndexesFound:M,firstTabbableNode:S,lastTabbableNode:E,firstDomTabbableNode:k,lastDomTabbableNode:F,nextTabbableNode:function(g){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,O=d.indexOf(g);return O<0?N?m.slice(m.indexOf(g)+1).find(function(P){return ae(P)}):m.slice(0,m.indexOf(g)).reverse().find(function(P){return ae(P)}):d[O+(N?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(u){return u.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(u){return u.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function I(u){var d=u.activeElement;if(d)return d.shadowRoot&&d.shadowRoot.activeElement!==null?I(d.shadowRoot):d},w=function I(u){if(u!==!1&&u!==y(document)){if(!u||!u.focus){I(f());return}u.focus({preventScroll:!!r.preventScroll}),i.mostRecentlyFocusedNode=u,Is(u)&&u.select()}},b=function(u){var d=h("setReturnFocus",u);return d||(d===!1?!1:u)},x=function(u){var d=u.target,m=u.event,S=u.isBackward,E=S===void 0?!1:S;d=d||xe(m),v();var k=null;if(i.tabbableGroups.length>0){var F=l(d,m),M=F>=0?i.containerGroups[F]:void 0;if(F<0)E?k=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:k=i.tabbableGroups[0].firstTabbableNode;else if(E){var p=ut(i.tabbableGroups,function(T){var L=T.firstTabbableNode;return d===L});if(p<0&&(M.container===d||Ae(d,r.tabbableOptions)&&!ae(d,r.tabbableOptions)&&!M.nextTabbableNode(d,!1))&&(p=F),p>=0){var g=p===0?i.tabbableGroups.length-1:p-1,N=i.tabbableGroups[g];k=ie(d)>=0?N.lastTabbableNode:N.lastDomTabbableNode}else ve(m)||(k=M.nextTabbableNode(d,!1))}else{var O=ut(i.tabbableGroups,function(T){var L=T.lastTabbableNode;return d===L});if(O<0&&(M.container===d||Ae(d,r.tabbableOptions)&&!ae(d,r.tabbableOptions)&&!M.nextTabbableNode(d))&&(O=F),O>=0){var P=O===i.tabbableGroups.length-1?0:O+1,j=i.tabbableGroups[P];k=ie(d)>=0?j.firstTabbableNode:j.firstDomTabbableNode}else ve(m)||(k=M.nextTabbableNode(d))}}else k=h("fallbackFocus");return k},C=function(u){var d=xe(u);if(!(l(d,u)>=0)){if(pe(r.clickOutsideDeactivates,u)){o.deactivate({returnFocus:r.returnFocusOnDeactivate});return}pe(r.allowOutsideClick,u)||u.preventDefault()}},R=function(u){var d=xe(u),m=l(d,u)>=0;if(m||d instanceof Document)m&&(i.mostRecentlyFocusedNode=d);else{u.stopImmediatePropagation();var S,E=!0;if(i.mostRecentlyFocusedNode)if(ie(i.mostRecentlyFocusedNode)>0){var k=l(i.mostRecentlyFocusedNode),F=i.containerGroups[k].tabbableNodes;if(F.length>0){var M=F.findIndex(function(p){return p===i.mostRecentlyFocusedNode});M>=0&&(r.isKeyForward(i.recentNavEvent)?M+1=0&&(S=F[M-1],E=!1))}}else i.containerGroups.some(function(p){return p.tabbableNodes.some(function(g){return ie(g)>0})})||(E=!1);else E=!1;E&&(S=x({target:i.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(i.recentNavEvent)})),w(S||i.mostRecentlyFocusedNode||f())}i.recentNavEvent=void 0},W=function(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=u;var m=x({event:u,isBackward:d});m&&(ve(u)&&u.preventDefault(),w(m))},J=function(u){if(Ts(u)&&pe(r.escapeDeactivates,u)!==!1){u.preventDefault(),o.deactivate();return}(r.isKeyForward(u)||r.isKeyBackward(u))&&W(u,r.isKeyBackward(u))},V=function(u){var d=xe(u);l(d,u)>=0||pe(r.clickOutsideDeactivates,u)||pe(r.allowOutsideClick,u)||(u.preventDefault(),u.stopImmediatePropagation())},U=function(){if(i.active)return ct.activateTrap(n,o),i.delayInitialFocusTimer=r.delayInitialFocus?lt(function(){w(f())}):w(f()),s.addEventListener("focusin",R,!0),s.addEventListener("mousedown",C,{capture:!0,passive:!1}),s.addEventListener("touchstart",C,{capture:!0,passive:!1}),s.addEventListener("click",V,{capture:!0,passive:!1}),s.addEventListener("keydown",J,{capture:!0,passive:!1}),o},q=function(){if(i.active)return s.removeEventListener("focusin",R,!0),s.removeEventListener("mousedown",C,!0),s.removeEventListener("touchstart",C,!0),s.removeEventListener("click",V,!0),s.removeEventListener("keydown",J,!0),o},Re=function(u){var d=u.some(function(m){var S=Array.from(m.removedNodes);return S.some(function(E){return E===i.mostRecentlyFocusedNode})});d&&w(f())},A=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(Re):void 0,K=function(){A&&(A.disconnect(),i.active&&!i.paused&&i.containers.map(function(u){A.observe(u,{subtree:!0,childList:!0})}))};return o={get active(){return i.active},get paused(){return i.paused},activate:function(u){if(i.active)return this;var d=c(u,"onActivate"),m=c(u,"onPostActivate"),S=c(u,"checkCanFocusTrap");S||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=s.activeElement,d==null||d();var E=function(){S&&v(),U(),K(),m==null||m()};return S?(S(i.containers.concat()).then(E,E),this):(E(),this)},deactivate:function(u){if(!i.active)return this;var d=ot({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},u);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,q(),i.active=!1,i.paused=!1,K(),ct.deactivateTrap(n,o);var m=c(d,"onDeactivate"),S=c(d,"onPostDeactivate"),E=c(d,"checkCanReturnFocus"),k=c(d,"returnFocus","returnFocusOnDeactivate");m==null||m();var F=function(){lt(function(){k&&w(b(i.nodeFocusedBeforeActivation)),S==null||S()})};return k&&E?(E(b(i.nodeFocusedBeforeActivation)).then(F,F),this):(F(),this)},pause:function(u){if(i.paused||!i.active)return this;var d=c(u,"onPause"),m=c(u,"onPostPause");return i.paused=!0,d==null||d(),q(),K(),m==null||m(),this},unpause:function(u){if(!i.paused||!i.active)return this;var d=c(u,"onUnpause"),m=c(u,"onPostUnpause");return i.paused=!1,d==null||d(),v(),U(),K(),m==null||m(),this},updateContainerElements:function(u){var d=[].concat(u).filter(Boolean);return i.containers=d.map(function(m){return typeof m=="string"?s.querySelector(m):m}),i.active&&v(),K(),this}},o.updateContainerElements(e),o};function Rs(a,e={}){let t;const{immediate:s,...n}=e,r=ne(!1),i=ne(!1),o=f=>t&&t.activate(f),c=f=>t&&t.deactivate(f),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return Ve(()=>Rt(a),f=>{f&&(t=Os(f,{...n,onActivate(){r.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){r.value=!1,e.onDeactivate&&e.onDeactivate()}}),s&&o())},{flush:"post"}),Ct(()=>c()),{hasFocus:r,isPaused:i,activate:o,deactivate:c,pause:l,unpause:h}}class ce{constructor(e,t=!0,s=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=s,this.iframesTimeout=n}static matches(e,t){const s=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let r=!1;return s.every(i=>n.call(e,i)?(r=!0,!1):!0),r}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(s=>{const n=t.filter(r=>r.contains(s)).length>0;t.indexOf(s)===-1&&!n&&t.push(s)}),t}getIframeContents(e,t,s=()=>{}){let n;try{const r=e.contentWindow;if(n=r.document,!r||!n)throw new Error("iframe inaccessible")}catch{s()}n&&t(n)}isIframeBlank(e){const t="about:blank",s=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&s!==t&&s}observeIframeLoad(e,t,s){let n=!1,r=null;const i=()=>{if(!n){n=!0,clearTimeout(r);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,s))}catch{s()}}};e.addEventListener("load",i),r=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,s){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,s):this.getIframeContents(e,t,s):this.observeIframeLoad(e,t,s)}catch{s()}}waitForIframes(e,t){let s=0;this.forEachIframe(e,()=>!0,n=>{s++,this.waitForIframes(n.querySelector("html"),()=>{--s||t()})},n=>{n||t()})}forEachIframe(e,t,s,n=()=>{}){let r=e.querySelectorAll("iframe"),i=r.length,o=0;r=Array.prototype.slice.call(r);const c=()=>{--i<=0&&n(o)};i||c(),r.forEach(l=>{ce.matches(l,this.exclude)?c():this.onIframeReady(l,h=>{t(l)&&(o++,s(h)),c()},c)})}createIterator(e,t,s){return document.createNodeIterator(e,t,s,!1)}createInstanceOnIframe(e){return new ce(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,s){const n=e.compareDocumentPosition(s),r=Node.DOCUMENT_POSITION_PRECEDING;if(n&r)if(t!==null){const i=t.compareDocumentPosition(s),o=Node.DOCUMENT_POSITION_FOLLOWING;if(i&o)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let s;return t===null?s=e.nextNode():s=e.nextNode()&&e.nextNode(),{prevNode:t,node:s}}checkIframeFilter(e,t,s,n){let r=!1,i=!1;return n.forEach((o,c)=>{o.val===s&&(r=c,i=o.handled)}),this.compareNodeIframe(e,t,s)?(r===!1&&!i?n.push({val:s,handled:!0}):r!==!1&&!i&&(n[r].handled=!0),!0):(r===!1&&n.push({val:s,handled:!1}),!1)}handleOpenIframes(e,t,s,n){e.forEach(r=>{r.handled||this.getIframeContents(r.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,s,n)})})}iterateThroughNodes(e,t,s,n,r){const i=this.createIterator(t,e,n);let o=[],c=[],l,h,f=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;f();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,o),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>c.push(y),n)}),c.push(l);c.forEach(v=>{s(v)}),this.iframes&&this.handleOpenIframes(o,e,s,n),r()}forEachNode(e,t,s,n=()=>{}){const r=this.getContexts();let i=r.length;i||n(),r.forEach(o=>{const c=()=>{this.iterateThroughNodes(e,o,t,s,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(o,c):c()})}}let Cs=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new ce(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const s=this.opt.log;this.opt.debug&&typeof s=="object"&&typeof s[t]=="function"&&s[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,s=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let r in t)if(t.hasOwnProperty(r)){const i=t[r],o=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(r):this.escapeStr(r),c=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);o!==""&&c!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(o)}|${this.escapeStr(c)})`,`gm${s}`),n+`(${this.processSynomyms(o)}|${this.processSynomyms(c)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,s,n)=>{let r=n.charAt(s+1);return/[(|)\\]/.test(r)||r===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const s=this.opt.ignorePunctuation;return Array.isArray(s)&&s.length&&t.push(this.escapeStr(s.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",s=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(r=>{s.every(i=>{if(i.indexOf(r)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let s=this.opt.accuracy,n=typeof s=="string"?s:s.value,r=typeof s=="string"?[]:s.limiters,i="";switch(r.forEach(o=>{i+=`|${this.escapeStr(o)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(s=>{this.opt.separateWordSearch?s.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):s.trim()&&t.indexOf(s)===-1&&t.push(s)}),{keywords:t.sort((s,n)=>n.length-s.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let s=0;return e.sort((n,r)=>n.start-r.start).forEach(n=>{let{start:r,end:i,valid:o}=this.callNoMatchOnInvalidRanges(n,s);o&&(n.start=r,n.length=i-r,t.push(n),s=i)}),t}callNoMatchOnInvalidRanges(e,t){let s,n,r=!1;return e&&typeof e.start<"u"?(s=parseInt(e.start,10),n=s+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-s>0?r=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:s,end:n,valid:r}}checkWhitespaceRanges(e,t,s){let n,r=!0,i=s.length,o=t-i,c=parseInt(e.start,10)-o;return c=c>i?i:c,n=c+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),c<0||n-c<0||c>i||n>i?(r=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):s.substring(c,n).replace(/\s+/g,"")===""&&(r=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:c,end:n,valid:r}}getTextNodes(e){let t="",s=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{s.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:s})})}matchesExclude(e){return ce.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,s){const n=this.opt.element?this.opt.element:"mark",r=e.splitText(t),i=r.splitText(s-t);let o=document.createElement(n);return o.setAttribute("data-markjs","true"),this.opt.className&&o.setAttribute("class",this.opt.className),o.textContent=r.textContent,r.parentNode.replaceChild(o,r),i}wrapRangeInMappedTextNode(e,t,s,n,r){e.nodes.every((i,o)=>{const c=e.nodes[o+1];if(typeof c>"u"||c.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(s>i.end?i.end:s)-i.start,f=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=f+v,e.nodes.forEach((y,w)=>{w>=o&&(e.nodes[w].start>0&&w!==o&&(e.nodes[w].start-=h),e.nodes[w].end-=h)}),s-=h,r(i.node.previousSibling,i.start),s>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,s,n,r){const i=t===0?0:t+1;this.getTextNodes(o=>{o.nodes.forEach(c=>{c=c.node;let l;for(;(l=e.exec(c.textContent))!==null&&l[i]!=="";){if(!s(l[i],c))continue;let h=l.index;if(i!==0)for(let f=1;f{let c;for(;(c=e.exec(o.value))!==null&&c[i]!=="";){let l=c.index;if(i!==0)for(let f=1;fs(c[i],f),(f,v)=>{e.lastIndex=v,n(f)})}r()})}wrapRangeFromIndex(e,t,s,n){this.getTextNodes(r=>{const i=r.value.length;e.forEach((o,c)=>{let{start:l,end:h,valid:f}=this.checkWhitespaceRanges(o,i,r.value);f&&this.wrapRangeInMappedTextNode(r,l,h,v=>t(v,o,r.value.substring(l,h),c),v=>{s(v,o)})}),n()})}unwrapMatches(e){const t=e.parentNode;let s=document.createDocumentFragment();for(;e.firstChild;)s.appendChild(e.removeChild(e.firstChild));t.replaceChild(s,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let s=0,n="wrapMatches";const r=i=>{s++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,o)=>this.opt.filter(o,i,s),r,()=>{s===0&&this.opt.noMatch(e),this.opt.done(s)})}mark(e,t){this.opt=t;let s=0,n="wrapMatches";const{keywords:r,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),o=this.opt.caseSensitive?"":"i",c=l=>{let h=new RegExp(this.createRegExp(l),`gm${o}`),f=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,y)=>this.opt.filter(y,l,s,f),v=>{f++,s++,this.opt.each(v)},()=>{f===0&&this.opt.noMatch(l),r[i-1]===l?this.opt.done(s):c(r[r.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(s):c(r[0])}markRanges(e,t){this.opt=t;let s=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(r,i,o,c)=>this.opt.filter(r,i,o,c),(r,i)=>{s++,this.opt.each(r,i)},()=>{this.opt.done(s)})):this.opt.done(s)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,s=>{this.unwrapMatches(s)},s=>{const n=ce.matches(s,t),r=this.matchesExclude(s);return!n||r?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Ms(a){const e=new Cs(a);return this.mark=(t,s)=>(e.mark(t,s),this),this.markRegExp=(t,s)=>(e.markRegExp(t,s),this),this.markRanges=(t,s)=>(e.markRanges(t,s),this),this.unmark=t=>(e.unmark(t),this),this}function Ie(a,e,t,s){function n(r){return r instanceof t?r:new t(function(i){i(r)})}return new(t||(t=Promise))(function(r,i){function o(h){try{l(s.next(h))}catch(f){i(f)}}function c(h){try{l(s.throw(h))}catch(f){i(f)}}function l(h){h.done?r(h.value):n(h.value).then(o,c)}l((s=s.apply(a,[])).next())})}const As="ENTRIES",_t="KEYS",xt="VALUES",z="";class Le{constructor(e,t){const s=e._tree,n=Array.from(s.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:s,keys:n}]:[]}next(){const e=this.dive();return this.backtrack(),e}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:e,keys:t}=oe(this._path);if(oe(t)===z)return{done:!1,value:this.result()};const s=e.get(oe(t));return this._path.push({node:s,keys:Array.from(s.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const e=oe(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:e})=>oe(e)).filter(e=>e!==z).join("")}value(){return oe(this._path).node.get(z)}result(){switch(this._type){case xt:return this.value();case _t:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const oe=a=>a[a.length-1],Ls=(a,e,t)=>{const s=new Map;if(e===void 0)return s;const n=e.length+1,r=n+t,i=new Uint8Array(r*n).fill(t+1);for(let o=0;o{const c=r*i;e:for(const l of a.keys())if(l===z){const h=n[c-1];h<=t&&s.set(o,[a.get(l),h])}else{let h=r;for(let f=0;ft)continue e}St(a.get(l),e,t,s,n,h,i,o+l)}};class X{constructor(e=new Map,t=""){this._size=void 0,this._tree=e,this._prefix=t}atPrefix(e){if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");const[t,s]=Oe(this._tree,e.slice(this._prefix.length));if(t===void 0){const[n,r]=Je(s);for(const i of n.keys())if(i!==z&&i.startsWith(r)){const o=new Map;return o.set(i.slice(r.length),n.get(i)),new X(o,e)}}return new X(t,e)}clear(){this._size=void 0,this._tree.clear()}delete(e){return this._size=void 0,Ds(this._tree,e)}entries(){return new Le(this,As)}forEach(e){for(const[t,s]of this)e(t,s,this)}fuzzyGet(e,t){return Ls(this._tree,e,t)}get(e){const t=Be(this._tree,e);return t!==void 0?t.get(z):void 0}has(e){const t=Be(this._tree,e);return t!==void 0&&t.has(z)}keys(){return new Le(this,_t)}set(e,t){if(typeof e!="string")throw new Error("key must be a string");return this._size=void 0,De(this._tree,e).set(z,t),this}get size(){if(this._size)return this._size;this._size=0;const e=this.entries();for(;!e.next().done;)this._size+=1;return this._size}update(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);return s.set(z,t(s.get(z))),this}fetch(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);let n=s.get(z);return n===void 0&&s.set(z,n=t()),n}values(){return new Le(this,xt)}[Symbol.iterator](){return this.entries()}static from(e){const t=new X;for(const[s,n]of e)t.set(s,n);return t}static fromObject(e){return X.from(Object.entries(e))}}const Oe=(a,e,t=[])=>{if(e.length===0||a==null)return[a,t];for(const s of a.keys())if(s!==z&&e.startsWith(s))return t.push([a,s]),Oe(a.get(s),e.slice(s.length),t);return t.push([a,e]),Oe(void 0,"",t)},Be=(a,e)=>{if(e.length===0||a==null)return a;for(const t of a.keys())if(t!==z&&e.startsWith(t))return Be(a.get(t),e.slice(t.length))},De=(a,e)=>{const t=e.length;e:for(let s=0;a&&s{const[t,s]=Oe(a,e);if(t!==void 0){if(t.delete(z),t.size===0)Et(s);else if(t.size===1){const[n,r]=t.entries().next().value;It(s,n,r)}}},Et=a=>{if(a.length===0)return;const[e,t]=Je(a);if(e.delete(t),e.size===0)Et(a.slice(0,-1));else if(e.size===1){const[s,n]=e.entries().next().value;s!==z&&It(a.slice(0,-1),s,n)}},It=(a,e,t)=>{if(a.length===0)return;const[s,n]=Je(a);s.set(n+e,t),s.delete(n)},Je=a=>a[a.length-1],Ue="or",Tt="and",zs="and_not";class le{constructor(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const t=e.autoVacuum==null||e.autoVacuum===!0?je:e.autoVacuum;this._options=Object.assign(Object.assign(Object.assign({},Pe),e),{autoVacuum:t,searchOptions:Object.assign(Object.assign({},dt),e.searchOptions||{}),autoSuggestOptions:Object.assign(Object.assign({},Bs),e.autoSuggestOptions||{})}),this._index=new X,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Ke,this.addFields(this._options.fields)}add(e){const{extractField:t,tokenize:s,processTerm:n,fields:r,idField:i}=this._options,o=t(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);if(this._idToShortId.has(o))throw new Error(`MiniSearch: duplicate ID ${o}`);const c=this.addDocumentId(o);this.saveStoredFields(c,e);for(const l of r){const h=t(e,l);if(h==null)continue;const f=s(h.toString(),l),v=this._fieldIds[l],y=new Set(f).size;this.addFieldLength(c,v,this._documentCount-1,y);for(const w of f){const b=n(w,l);if(Array.isArray(b))for(const x of b)this.addTerm(v,c,x);else b&&this.addTerm(v,c,b)}}}addAll(e){for(const t of e)this.add(t)}addAllAsync(e,t={}){const{chunkSize:s=10}=t,n={chunk:[],promise:Promise.resolve()},{chunk:r,promise:i}=e.reduce(({chunk:o,promise:c},l,h)=>(o.push(l),(h+1)%s===0?{chunk:[],promise:c.then(()=>new Promise(f=>setTimeout(f,0))).then(()=>this.addAll(o))}:{chunk:o,promise:c}),n);return i.then(()=>this.addAll(r))}remove(e){const{tokenize:t,processTerm:s,extractField:n,fields:r,idField:i}=this._options,o=n(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);const c=this._idToShortId.get(o);if(c==null)throw new Error(`MiniSearch: cannot remove document with ID ${o}: it is not in the index`);for(const l of r){const h=n(e,l);if(h==null)continue;const f=t(h.toString(),l),v=this._fieldIds[l],y=new Set(f).size;this.removeFieldLength(c,v,this._documentCount,y);for(const w of f){const b=s(w,l);if(Array.isArray(b))for(const x of b)this.removeTerm(v,c,x);else b&&this.removeTerm(v,c,b)}}this._storedFields.delete(c),this._documentIds.delete(c),this._idToShortId.delete(o),this._fieldLength.delete(c),this._documentCount-=1}removeAll(e){if(e)for(const t of e)this.remove(t);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new X,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(e){const t=this._idToShortId.get(e);if(t==null)throw new Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);this._idToShortId.delete(e),this._documentIds.delete(t),this._storedFields.delete(t),(this._fieldLength.get(t)||[]).forEach((s,n)=>{this.removeFieldLength(t,n,this._documentCount,s)}),this._fieldLength.delete(t),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:e,minDirtCount:t,batchSize:s,batchWait:n}=this._options.autoVacuum;this.conditionalVacuum({batchSize:s,batchWait:n},{minDirtCount:t,minDirtFactor:e})}discardAll(e){const t=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const s of e)this.discard(s)}finally{this._options.autoVacuum=t}this.maybeAutoVacuum()}replace(e){const{idField:t,extractField:s}=this._options,n=s(e,t);this.discard(n),this.add(e)}vacuum(e={}){return this.conditionalVacuum(e)}conditionalVacuum(e,t){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const s=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=Ke,this.performVacuuming(e,s)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)}performVacuuming(e,t){return Ie(this,void 0,void 0,function*(){const s=this._dirtCount;if(this.vacuumConditionsMet(t)){const n=e.batchSize||We.batchSize,r=e.batchWait||We.batchWait;let i=1;for(const[o,c]of this._index){for(const[l,h]of c)for(const[f]of h)this._documentIds.has(f)||(h.size<=1?c.delete(l):h.delete(f));this._index.get(o).size===0&&this._index.delete(o),i%n===0&&(yield new Promise(l=>setTimeout(l,r))),i+=1}this._dirtCount-=s}yield null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null})}vacuumConditionsMet(e){if(e==null)return!0;let{minDirtCount:t,minDirtFactor:s}=e;return t=t||je.minDirtCount,s=s||je.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=s}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(e){return this._idToShortId.has(e)}getStoredFields(e){const t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)}search(e,t={}){const s=this.executeQuery(e,t),n=[];for(const[r,{score:i,terms:o,match:c}]of s){const l=o.length||1,h={id:this._documentIds.get(r),score:i*l,terms:Object.keys(c),queryTerms:o,match:c};Object.assign(h,this._storedFields.get(r)),(t.filter==null||t.filter(h))&&n.push(h)}return e===le.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||n.sort(ft),n}autoSuggest(e,t={}){t=Object.assign(Object.assign({},this._options.autoSuggestOptions),t);const s=new Map;for(const{score:r,terms:i}of this.search(e,t)){const o=i.join(" "),c=s.get(o);c!=null?(c.score+=r,c.count+=1):s.set(o,{score:r,terms:i,count:1})}const n=[];for(const[r,{score:i,terms:o,count:c}]of s)n.push({suggestion:r,terms:o,score:i/c});return n.sort(ft),n}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)}static loadJSONAsync(e,t){return Ie(this,void 0,void 0,function*(){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(e),t)})}static getDefault(e){if(Pe.hasOwnProperty(e))return ze(Pe,e);throw new Error(`MiniSearch: unknown option "${e}"`)}static loadJS(e,t){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,c=this.instantiateMiniSearch(e,t);c._documentIds=Se(n),c._fieldLength=Se(r),c._storedFields=Se(i);for(const[l,h]of c._documentIds)c._idToShortId.set(h,l);for(const[l,h]of s){const f=new Map;for(const v of Object.keys(h)){let y=h[v];o===1&&(y=y.ds),f.set(parseInt(v,10),Se(y))}c._index.set(l,f)}return c}static loadJSAsync(e,t){return Ie(this,void 0,void 0,function*(){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,c=this.instantiateMiniSearch(e,t);c._documentIds=yield Ee(n),c._fieldLength=yield Ee(r),c._storedFields=yield Ee(i);for(const[h,f]of c._documentIds)c._idToShortId.set(f,h);let l=0;for(const[h,f]of s){const v=new Map;for(const y of Object.keys(f)){let w=f[y];o===1&&(w=w.ds),v.set(parseInt(y,10),yield Ee(w))}++l%1e3===0&&(yield Nt(0)),c._index.set(h,v)}return c})}static instantiateMiniSearch(e,t){const{documentCount:s,nextId:n,fieldIds:r,averageFieldLength:i,dirtCount:o,serializationVersion:c}=e;if(c!==1&&c!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const l=new le(t);return l._documentCount=s,l._nextId=n,l._idToShortId=new Map,l._fieldIds=r,l._avgFieldLength=i,l._dirtCount=o||0,l._index=new X,l}executeQuery(e,t={}){if(e===le.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){const v=Object.assign(Object.assign(Object.assign({},t),e),{queries:void 0}),y=e.queries.map(w=>this.executeQuery(w,v));return this.combineResults(y,v.combineWith)}const{tokenize:s,processTerm:n,searchOptions:r}=this._options,i=Object.assign(Object.assign({tokenize:s,processTerm:n},r),t),{tokenize:o,processTerm:c}=i,f=o(e).flatMap(v=>c(v)).filter(v=>!!v).map($s(i)).map(v=>this.executeQuerySpec(v,i));return this.combineResults(f,i.combineWith)}executeQuerySpec(e,t){const s=Object.assign(Object.assign({},this._options.searchOptions),t),n=(s.fields||this._options.fields).reduce((b,x)=>Object.assign(Object.assign({},b),{[x]:ze(s.boost,x)||1}),{}),{boostDocument:r,weights:i,maxFuzzy:o,bm25:c}=s,{fuzzy:l,prefix:h}=Object.assign(Object.assign({},dt.weights),i),f=this._index.get(e.term),v=this.termResults(e.term,e.term,1,f,n,r,c);let y,w;if(e.prefix&&(y=this._index.atPrefix(e.term)),e.fuzzy){const b=e.fuzzy===!0?.2:e.fuzzy,x=b<1?Math.min(o,Math.round(e.term.length*b)):b;x&&(w=this._index.fuzzyGet(e.term,x))}if(y)for(const[b,x]of y){const C=b.length-e.term.length;if(!C)continue;w==null||w.delete(b);const R=h*b.length/(b.length+.3*C);this.termResults(e.term,b,R,x,n,r,c,v)}if(w)for(const b of w.keys()){const[x,C]=w.get(b);if(!C)continue;const R=l*b.length/(b.length+C);this.termResults(e.term,b,R,x,n,r,c,v)}return v}executeWildcardQuery(e){const t=new Map,s=Object.assign(Object.assign({},this._options.searchOptions),e);for(const[n,r]of this._documentIds){const i=s.boostDocument?s.boostDocument(r,"",this._storedFields.get(n)):1;t.set(n,{score:i,terms:[],match:{}})}return t}combineResults(e,t=Ue){if(e.length===0)return new Map;const s=t.toLowerCase(),n=Ps[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map}toJSON(){const e=[];for(const[t,s]of this._index){const n={};for(const[r,i]of s)n[r]=Object.fromEntries(i);e.push([t,n])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:e,serializationVersion:2}}termResults(e,t,s,n,r,i,o,c=new Map){if(n==null)return c;for(const l of Object.keys(r)){const h=r[l],f=this._fieldIds[l],v=n.get(f);if(v==null)continue;let y=v.size;const w=this._avgFieldLength[f];for(const b of v.keys()){if(!this._documentIds.has(b)){this.removeTerm(f,b,t),y-=1;continue}const x=i?i(this._documentIds.get(b),t,this._storedFields.get(b)):1;if(!x)continue;const C=v.get(b),R=this._fieldLength.get(b)[f],W=Vs(C,y,this._documentCount,R,w,o),J=s*h*x*W,V=c.get(b);if(V){V.score+=J,Ws(V.terms,e);const U=ze(V.match,t);U?U.push(l):V.match[t]=[l]}else c.set(b,{score:J,terms:[e],match:{[t]:[l]}})}}return c}addTerm(e,t,s){const n=this._index.fetch(s,pt);let r=n.get(e);if(r==null)r=new Map,r.set(t,1),n.set(e,r);else{const i=r.get(t);r.set(t,(i||0)+1)}}removeTerm(e,t,s){if(!this._index.has(s)){this.warnDocumentChanged(t,e,s);return}const n=this._index.fetch(s,pt),r=n.get(e);r==null||r.get(t)==null?this.warnDocumentChanged(t,e,s):r.get(t)<=1?r.size<=1?n.delete(e):r.delete(t):r.set(t,r.get(t)-1),this._index.get(s).size===0&&this._index.delete(s)}warnDocumentChanged(e,t,s){for(const n of Object.keys(this._fieldIds))if(this._fieldIds[n]===t){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term "${s}" was not present in field "${n}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(e){const t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t}addFields(e){for(let t=0;tObject.prototype.hasOwnProperty.call(a,e)?a[e]:void 0,Ps={[Ue]:(a,e)=>{for(const t of e.keys()){const s=a.get(t);if(s==null)a.set(t,e.get(t));else{const{score:n,terms:r,match:i}=e.get(t);s.score=s.score+n,s.match=Object.assign(s.match,i),ht(s.terms,r)}}return a},[Tt]:(a,e)=>{const t=new Map;for(const s of e.keys()){const n=a.get(s);if(n==null)continue;const{score:r,terms:i,match:o}=e.get(s);ht(n.terms,i),t.set(s,{score:n.score+r,terms:n.terms,match:Object.assign(n.match,o)})}return t},[zs]:(a,e)=>{for(const t of e.keys())a.delete(t);return a}},js={k:1.2,b:.7,d:.5},Vs=(a,e,t,s,n,r)=>{const{k:i,b:o,d:c}=r;return Math.log(1+(t-e+.5)/(e+.5))*(c+a*(i+1)/(a+i*(1-o+o*s/n)))},$s=a=>(e,t,s)=>{const n=typeof a.fuzzy=="function"?a.fuzzy(e,t,s):a.fuzzy||!1,r=typeof a.prefix=="function"?a.prefix(e,t,s):a.prefix===!0;return{term:e,fuzzy:n,prefix:r}},Pe={idField:"id",extractField:(a,e)=>a[e],tokenize:a=>a.split(Ks),processTerm:a=>a.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(a,e)=>{typeof(console==null?void 0:console[a])=="function"&&console[a](e)},autoVacuum:!0},dt={combineWith:Ue,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:js},Bs={combineWith:Tt,prefix:(a,e,t)=>e===t.length-1},We={batchSize:1e3,batchWait:10},Ke={minDirtFactor:.1,minDirtCount:20},je=Object.assign(Object.assign({},We),Ke),Ws=(a,e)=>{a.includes(e)||a.push(e)},ht=(a,e)=>{for(const t of e)a.includes(t)||a.push(t)},ft=({score:a},{score:e})=>e-a,pt=()=>new Map,Se=a=>{const e=new Map;for(const t of Object.keys(a))e.set(parseInt(t,10),a[t]);return e},Ee=a=>Ie(void 0,void 0,void 0,function*(){const e=new Map;let t=0;for(const s of Object.keys(a))e.set(parseInt(s,10),a[s]),++t%1e3===0&&(yield Nt(0));return e}),Nt=a=>new Promise(e=>setTimeout(e,a)),Ks=/[\n\r\p{Z}\p{P}]/u;class Js{constructor(e=10){Ce(this,"max");Ce(this,"cache");this.max=e,this.cache=new Map}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){this.cache.has(e)?this.cache.delete(e):this.cache.size===this.max&&this.cache.delete(this.first()),this.cache.set(e,t)}first(){return this.cache.keys().next().value}clear(){this.cache.clear()}}const B=a=>(Qt("data-v-e6560dbd"),a=a(),Ht(),a),Us=["aria-owns"],qs={class:"shell"},Gs=["title"],Qs=B(()=>_("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)),Hs=[Qs],Ys={class:"search-actions before"},Zs=["title"],Xs=B(()=>_("span",{class:"vpi-arrow-left local-search-icon"},null,-1)),en=[Xs],tn=["placeholder"],sn={class:"search-actions"},nn=["title"],rn=B(()=>_("span",{class:"vpi-layout-list local-search-icon"},null,-1)),an=[rn],on=["disabled","title"],cn=B(()=>_("span",{class:"vpi-delete local-search-icon"},null,-1)),ln=[cn],un=["id","role","aria-labelledby"],dn=["aria-selected"],hn=["href","aria-label","onMouseenter","onFocusin"],fn={class:"titles"},pn=B(()=>_("span",{class:"title-icon"},"#",-1)),vn=["innerHTML"],mn=B(()=>_("span",{class:"vpi-chevron-right local-search-icon"},null,-1)),gn={class:"title main"},bn=["innerHTML"],yn={key:0,class:"excerpt-wrapper"},wn={key:0,class:"excerpt",inert:""},_n=["innerHTML"],xn=B(()=>_("div",{class:"excerpt-gradient-bottom"},null,-1)),Sn=B(()=>_("div",{class:"excerpt-gradient-top"},null,-1)),En={key:0,class:"no-results"},In={class:"search-keyboard-shortcuts"},Tn=["aria-label"],Nn=B(()=>_("span",{class:"vpi-arrow-up navigate-icon"},null,-1)),kn=[Nn],Fn=["aria-label"],On=B(()=>_("span",{class:"vpi-arrow-down navigate-icon"},null,-1)),Rn=[On],Cn=["aria-label"],Mn=B(()=>_("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)),An=[Mn],Ln=["aria-label"],Dn=Mt({__name:"VPLocalSearchBox",emits:["close"],setup(a,{emit:e}){var F,M;const t=e,s=be(),n=be(),r=be(is),i=ss(),{activate:o}=Rs(s,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:c,theme:l}=i,h=et(async()=>{var p,g,N,O,P,j,T,L,G;return it(le.loadJSON((N=await((g=(p=r.value)[c.value])==null?void 0:g.call(p)))==null?void 0:N.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((O=l.value.search)==null?void 0:O.provider)==="local"&&((j=(P=l.value.search.options)==null?void 0:P.miniSearch)==null?void 0:j.searchOptions)},...((T=l.value.search)==null?void 0:T.provider)==="local"&&((G=(L=l.value.search.options)==null?void 0:L.miniSearch)==null?void 0:G.options)}))}),v=ye(()=>{var p,g;return((p=l.value.search)==null?void 0:p.provider)==="local"&&((g=l.value.search.options)==null?void 0:g.disableQueryPersistence)===!0}).value?ne(""):At("vitepress:local-search-filter",""),y=Lt("vitepress:local-search-detailed-list",((F=l.value.search)==null?void 0:F.provider)==="local"&&((M=l.value.search.options)==null?void 0:M.detailedView)===!0),w=ye(()=>{var p,g,N;return((p=l.value.search)==null?void 0:p.provider)==="local"&&(((g=l.value.search.options)==null?void 0:g.disableDetailedView)===!0||((N=l.value.search.options)==null?void 0:N.detailedView)===!1)}),b=ye(()=>{var g,N,O,P,j,T,L;const p=((g=l.value.search)==null?void 0:g.options)??l.value.algolia;return((j=(P=(O=(N=p==null?void 0:p.locales)==null?void 0:N[c.value])==null?void 0:O.translations)==null?void 0:P.button)==null?void 0:j.buttonText)||((L=(T=p==null?void 0:p.translations)==null?void 0:T.button)==null?void 0:L.buttonText)||"Search"});Dt(()=>{w.value&&(y.value=!1)});const x=be([]),C=ne(!1);Ve(v,()=>{C.value=!1});const R=et(async()=>{if(n.value)return it(new Ms(n.value))},null),W=new Js(16);zt(()=>[h.value,v.value,y.value],async([p,g,N],O,P)=>{var me,qe,Ge,Qe;(O==null?void 0:O[0])!==p&&W.clear();let j=!1;if(P(()=>{j=!0}),!p)return;x.value=p.search(g).slice(0,16),C.value=!0;const T=N?await Promise.all(x.value.map($=>J($.id))):[];if(j)return;for(const{id:$,mod:ee}of T){const te=$.slice(0,$.indexOf("#"));let Y=W.get(te);if(Y)continue;Y=new Map,W.set(te,Y);const Q=ee.default??ee;if(Q!=null&&Q.render||Q!=null&&Q.setup){const se=Yt(Q);se.config.warnHandler=()=>{},se.provide(Zt,i),Object.defineProperties(se.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const He=document.createElement("div");se.mount(He),He.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(ue=>{var Xe;const ge=(Xe=ue.querySelector("a"))==null?void 0:Xe.getAttribute("href"),Ye=(ge==null?void 0:ge.startsWith("#"))&&ge.slice(1);if(!Ye)return;let Ze="";for(;(ue=ue.nextElementSibling)&&!/^h[1-6]$/i.test(ue.tagName);)Ze+=ue.outerHTML;Y.set(Ye,Ze)}),se.unmount()}if(j)return}const L=new Set;if(x.value=x.value.map($=>{const[ee,te]=$.id.split("#"),Y=W.get(ee),Q=(Y==null?void 0:Y.get(te))??"";for(const se in $.match)L.add(se);return{...$,text:Q}}),await de(),j)return;await new Promise($=>{var ee;(ee=R.value)==null||ee.unmark({done:()=>{var te;(te=R.value)==null||te.markRegExp(k(L),{done:$})}})});const G=((me=s.value)==null?void 0:me.querySelectorAll(".result .excerpt"))??[];for(const $ of G)(qe=$.querySelector('mark[data-markjs="true"]'))==null||qe.scrollIntoView({block:"center"});(Qe=(Ge=n.value)==null?void 0:Ge.firstElementChild)==null||Qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function J(p){const g=Xt(p.slice(0,p.indexOf("#")));try{if(!g)throw new Error(`Cannot find file for id: ${p}`);return{id:p,mod:await import(g)}}catch(N){return console.error(N),{id:p,mod:{}}}}const V=ne(),U=ye(()=>{var p;return((p=v.value)==null?void 0:p.length)<=0});function q(p=!0){var g,N;(g=V.value)==null||g.focus(),p&&((N=V.value)==null||N.select())}Me(()=>{q()});function Re(p){p.pointerType==="mouse"&&q()}const A=ne(-1),K=ne(!1);Ve(x,p=>{A.value=p.length?0:-1,I()});function I(){de(()=>{const p=document.querySelector(".result.selected");p==null||p.scrollIntoView({block:"nearest"})})}we("ArrowUp",p=>{p.preventDefault(),A.value--,A.value<0&&(A.value=x.value.length-1),K.value=!0,I()}),we("ArrowDown",p=>{p.preventDefault(),A.value++,A.value>=x.value.length&&(A.value=0),K.value=!0,I()});const u=Pt();we("Enter",p=>{if(p.isComposing||p.target instanceof HTMLButtonElement&&p.target.type!=="submit")return;const g=x.value[A.value];if(p.target instanceof HTMLInputElement&&!g){p.preventDefault();return}g&&(u.go(g.id),t("close"))}),we("Escape",()=>{t("close")});const m=ns({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Me(()=>{window.history.pushState(null,"",null)}),jt("popstate",p=>{p.preventDefault(),t("close")});const S=Vt($t?document.body:null);Me(()=>{de(()=>{S.value=!0,de().then(()=>o())})}),Bt(()=>{S.value=!1});function E(){v.value="",de().then(()=>q(!1))}function k(p){return new RegExp([...p].sort((g,N)=>N.length-g.length).map(g=>`(${es(g)})`).join("|"),"gi")}return(p,g)=>{var N,O,P,j;return H(),Wt(Gt,{to:"body"},[_("div",{ref_key:"el",ref:s,role:"button","aria-owns":(N=x.value)!=null&&N.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[_("div",{class:"backdrop",onClick:g[0]||(g[0]=T=>p.$emit("close"))}),_("div",qs,[_("form",{class:"search-bar",onPointerup:g[4]||(g[4]=T=>Re(T)),onSubmit:g[5]||(g[5]=Kt(()=>{},["prevent"]))},[_("label",{title:b.value,id:"localsearch-label",for:"localsearch-input"},Hs,8,Gs),_("div",Ys,[_("button",{class:"back-button",title:D(m)("modal.backButtonTitle"),onClick:g[1]||(g[1]=T=>p.$emit("close"))},en,8,Zs)]),Jt(_("input",{ref_key:"searchInput",ref:V,"onUpdate:modelValue":g[2]||(g[2]=T=>qt(v)?v.value=T:null),placeholder:b.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,tn),[[Ut,D(v)]]),_("div",sn,[w.value?_e("",!0):(H(),Z("button",{key:0,class:tt(["toggle-layout-button",{"detailed-list":D(y)}]),type:"button",title:D(m)("modal.displayDetails"),onClick:g[3]||(g[3]=T=>A.value>-1&&(y.value=!D(y)))},an,10,nn)),_("button",{class:"clear-button",type:"reset",disabled:U.value,title:D(m)("modal.resetButtonTitle"),onClick:E},ln,8,on)])],32),_("ul",{ref_key:"resultsEl",ref:n,id:(O=x.value)!=null&&O.length?"localsearch-list":void 0,role:(P=x.value)!=null&&P.length?"listbox":void 0,"aria-labelledby":(j=x.value)!=null&&j.length?"localsearch-label":void 0,class:"results",onMousemove:g[7]||(g[7]=T=>K.value=!1)},[(H(!0),Z(nt,null,st(x.value,(T,L)=>(H(),Z("li",{key:T.id,role:"option","aria-selected":A.value===L?"true":"false"},[_("a",{href:T.id,class:tt(["result",{selected:A.value===L}]),"aria-label":[...T.titles,T.title].join(" > "),onMouseenter:G=>!K.value&&(A.value=L),onFocusin:G=>A.value=L,onClick:g[6]||(g[6]=G=>p.$emit("close"))},[_("div",null,[_("div",fn,[pn,(H(!0),Z(nt,null,st(T.titles,(G,me)=>(H(),Z("span",{key:me,class:"title"},[_("span",{class:"text",innerHTML:G},null,8,vn),mn]))),128)),_("span",gn,[_("span",{class:"text",innerHTML:T.title},null,8,bn)])]),D(y)?(H(),Z("div",yn,[T.text?(H(),Z("div",wn,[_("div",{class:"vp-doc",innerHTML:T.text},null,8,_n)])):_e("",!0),xn,Sn])):_e("",!0)])],42,hn)],8,dn))),128)),D(v)&&!x.value.length&&C.value?(H(),Z("li",En,[he(fe(D(m)("modal.noResultsText"))+' "',1),_("strong",null,fe(D(v)),1),he('" ')])):_e("",!0)],40,un),_("div",In,[_("span",null,[_("kbd",{"aria-label":D(m)("modal.footer.navigateUpKeyAriaLabel")},kn,8,Tn),_("kbd",{"aria-label":D(m)("modal.footer.navigateDownKeyAriaLabel")},Rn,8,Fn),he(" "+fe(D(m)("modal.footer.navigateText")),1)]),_("span",null,[_("kbd",{"aria-label":D(m)("modal.footer.selectKeyAriaLabel")},An,8,Cn),he(" "+fe(D(m)("modal.footer.selectText")),1)]),_("span",null,[_("kbd",{"aria-label":D(m)("modal.footer.closeKeyAriaLabel")},"esc",8,Ln),he(" "+fe(D(m)("modal.footer.closeText")),1)])])])],8,Us)])}}}),Bn=ts(Dn,[["__scopeId","data-v-e6560dbd"]]);export{Bn as default}; diff --git a/assets/chunks/arc.BxUBBXCP.js b/assets/chunks/arc.BxUBBXCP.js new file mode 100644 index 000000000..9f73f1754 --- /dev/null +++ b/assets/chunks/arc.BxUBBXCP.js @@ -0,0 +1 @@ +import{w as ln,c as Q}from"./path.CbwjOpE9.js";import{aM as an,aN as X,aO as I,aP as rn,aQ as y,aI as on,aR as B,aS as _,aT as un,aU as t,aV as sn,aW as tn,aX as fn}from"../app.BKabOgys.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,q,O,v,R,U,a){var D=q-l,i=O-h,n=U-v,m=a-R,r=m*D-n*i;if(!(r*ru*u+W*W&&(M=w,N=d),{cx:M,cy:N,x01:-n,y01:-m,x11:M*(v/T-1),y11:N*(v/T-1)}}function vn(){var l=cn,h=yn,q=Q(0),O=null,v=gn,R=mn,U=pn,a=null,D=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=R.apply(this,arguments)-rn,V=un(c-f),o=c>f;if(a||(a=n=D()),sy))a.moveTo(0,0);else if(V>on-y)a.moveTo(s*X(f),s*I(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*X(c),r*I(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,A=f,T=c,P=V,E=V,M=U.apply(this,arguments)/2,N=M>y&&(O?+O.apply(this,arguments):B(r*r+s*s)),w=_(un(s-r)/2,+q.apply(this,arguments)),d=w,x=w,e,u;if(N>y){var W=sn(N/r*I(M)),C=sn(N/s*I(M));(P-=W*2)>y?(W*=o?1:-1,A+=W,T-=W):(P=0,A=T=(f+c)/2),(E-=C*2)>y?(C*=o?1:-1,p+=C,g-=C):(E=0,p=g=(f+c)/2)}var j=s*X(p),z=s*I(p),F=r*X(T),G=r*I(T);if(w>y){var H=s*X(g),J=s*I(g),L=r*X(A),Y=r*I(A),S;if(Vy?x>y?(e=K(L,Y,j,z,s,x,o),u=K(H,J,F,G,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(F,G):d>y?(e=K(F,G,H,J,r,-d,o),u=K(j,z,L,Y,r,-d,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),d"u"&&(w.yylloc={});var J=w.yylloc;t.push(J);var me=w.options&&w.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(){var P;return P=u.pop()||w.lex()||C,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}for(var I,M,z,Q,W={},X,B,ae,G;;){if(M=i[i.length-1],this.defaultActions[M]?z=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=_e()),z=m[M]&&m[M][I]),typeof z>"u"||!z.length||!z[0]){var $="";G=[];for(X in m[M])this.terminals_[X]&&X>F&&G.push("'"+this.terminals_[X]+"'");w.showPosition?$="Parse error on line "+(R+1)+`: +`+w.showPosition()+` +Expecting `+G.join(", ")+", got '"+(this.terminals_[I]||I)+"'":$="Parse error on line "+(R+1)+": Unexpected "+(I==C?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError($,{text:w.match,token:this.terminals_[I]||I,line:w.yylineno,loc:J,expected:G})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+I);switch(z[0]){case 1:i.push(I),h.push(w.yytext),t.push(w.yylloc),i.push(z[1]),I=null,Y=w.yyleng,r=w.yytext,R=w.yylineno,J=w.yylloc;break;case 2:if(B=this.productions_[z[1]][1],W.$=h[h.length-B],W._$={first_line:t[t.length-(B||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(B||1)].first_column,last_column:t[t.length-1].last_column},me&&(W._$.range=[t[t.length-(B||1)].range[0],t[t.length-1].range[1]]),Q=this.performAction.apply(W,[r,Y,R,K.yy,z[1],h,t].concat(Le)),typeof Q<"u")return Q;B&&(i=i.slice(0,-1*B*2),h=h.slice(0,-1*B),t=t.slice(0,-1*B)),i.push(this.productions_[z[1]][0]),h.push(W.$),t.push(W._$),ae=m[i[i.length-2]][i[i.length-1]],i.push(ae);break;case 3:return!0}}return!0}},A=function(){var D={EOF:1,parseError:function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},setInput:function(o,s){return this.yy=s||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var s=o.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var s=o.length,i=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var h=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[h[0],h[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),s=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+s+"^"},test_match:function(o,s){var i,u,h;if(this.options.backtrack_lexer&&(h={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(h.yylloc.range=this.yylloc.range.slice(0))),u=o[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],i=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var t in h)this[t]=h[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,s,i,u;this._more||(this.yytext="",this.match="");for(var h=this._currentRules(),t=0;ts[0].length)){if(s=i,u=t,this.options.backtrack_lexer){if(o=this.test_match(i,h[t]),o!==!1)return o;if(this._backtrack){s=!1;continue}else return!1}else if(!this.options.flex)break}return s?(o=this.test_match(s,h[u]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var s=this.next();return s||this.lex()},begin:function(s){this.conditionStack.push(s)},popState:function(){var s=this.conditionStack.length-1;return s>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(s){return s=this.conditionStack.length-1-Math.abs(s||0),s>=0?this.conditionStack[s]:"INITIAL"},pushState:function(s){this.begin(s)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(s,i,u,h){switch(u){case 0:return 10;case 1:return s.getLogger().debug("Found space-block"),31;case 2:return s.getLogger().debug("Found nl-block"),31;case 3:return s.getLogger().debug("Found space-block"),29;case 4:s.getLogger().debug(".",i.yytext);break;case 5:s.getLogger().debug("_",i.yytext);break;case 6:return 5;case 7:return i.yytext=-1,28;case 8:return i.yytext=i.yytext.replace(/columns\s+/,""),s.getLogger().debug("COLUMNS (LEX)",i.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:s.getLogger().debug("LEX: POPPING STR:",i.yytext),this.popState();break;case 14:return s.getLogger().debug("LEX: STR end:",i.yytext),"STR";case 15:return i.yytext=i.yytext.replace(/space\:/,""),s.getLogger().debug("SPACE NUM (LEX)",i.yytext),21;case 16:return i.yytext="1",s.getLogger().debug("COLUMNS (LEX)",i.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),s.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),s.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),s.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),s.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),s.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),s.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),s.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),s.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),s.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),s.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),s.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),s.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return s.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return s.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return s.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return s.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return s.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return s.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return s.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),s.getLogger().debug("LEX ARR START"),38;case 75:return s.getLogger().debug("Lex: NODE_ID",i.yytext),32;case 76:return s.getLogger().debug("Lex: EOF",i.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:s.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:s.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return s.getLogger().debug("LEX: NODE_DESCR:",i.yytext),"NODE_DESCR";case 84:s.getLogger().debug("LEX POPPING"),this.popState();break;case 85:s.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (right): dir:",i.yytext),"DIR";case 87:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (left):",i.yytext),"DIR";case 88:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (x):",i.yytext),"DIR";case 89:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (y):",i.yytext),"DIR";case 90:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (up):",i.yytext),"DIR";case 91:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (down):",i.yytext),"DIR";case 92:return i.yytext="]>",s.getLogger().debug("Lex (ARROW_DIR end):",i.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return s.getLogger().debug("Lex: LINK","#"+i.yytext+"#"),15;case 94:return s.getLogger().debug("Lex: LINK",i.yytext),15;case 95:return s.getLogger().debug("Lex: LINK",i.yytext),15;case 96:return s.getLogger().debug("Lex: LINK",i.yytext),15;case 97:return s.getLogger().debug("Lex: START_LINK",i.yytext),this.pushState("LLABEL"),16;case 98:return s.getLogger().debug("Lex: START_LINK",i.yytext),this.pushState("LLABEL"),16;case 99:return s.getLogger().debug("Lex: START_LINK",i.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return s.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),s.getLogger().debug("Lex: LINK","#"+i.yytext+"#"),15;case 103:return this.popState(),s.getLogger().debug("Lex: LINK",i.yytext),15;case 104:return this.popState(),s.getLogger().debug("Lex: LINK",i.yytext),15;case 105:return s.getLogger().debug("Lex: COLON",i.yytext),i.yytext=i.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return D}();L.lexer=A;function k(){this.yy={}}return k.prototype=L,L.Parser=k,new k}();ee.parser=ee;const Pe=ee;let O={},ie=[],j={};const ce="color",ue="fill",Fe="bgFill",pe=",",Ke=he();let V={};const Me=e=>De.sanitizeText(e,Ke),Ye=function(e,a=""){V[e]===void 0&&(V[e]={id:e,styles:[],textStyles:[]});const d=V[e];a!=null&&a.split(pe).forEach(c=>{const n=c.replace(/([^;]*);/,"$1").trim();if(c.match(ce)){const l=n.replace(ue,Fe).replace(ce,ue);d.textStyles.push(l)}d.styles.push(n)})},We=function(e,a=""){const d=O[e];a!=null&&(d.styles=a.split(pe))},je=function(e,a){e.split(",").forEach(function(d){let c=O[d];if(c===void 0){const n=d.trim();O[n]={id:n,type:"na",children:[]},c=O[n]}c.classes||(c.classes=[]),c.classes.push(a)})},fe=(e,a)=>{const d=e.flat(),c=[];for(const n of d){if(n.label&&(n.label=Me(n.label)),n.type==="classDef"){Ye(n.id,n.css);continue}if(n.type==="applyClass"){je(n.id,(n==null?void 0:n.styleClass)||"");continue}if(n.type==="applyStyles"){n!=null&&n.stylesStr&&We(n.id,n==null?void 0:n.stylesStr);continue}if(n.type==="column-setting")a.columns=n.columns||-1;else if(n.type==="edge")j[n.id]?j[n.id]++:j[n.id]=1,n.id=j[n.id]+"-"+n.id,ie.push(n);else{n.label||(n.type==="composite"?n.label="":n.label=n.id);const g=!O[n.id];if(g?O[n.id]=n:(n.type!=="na"&&(O[n.id].type=n.type),n.label!==n.id&&(O[n.id].label=n.label)),n.children&&fe(n.children,n),n.type==="space"){const l=n.width||1;for(let f=0;f{S.debug("Clear called"),Ee(),U={id:"root",type:"composite",children:[],columns:-1},O={root:U},re=[],V={},ie=[],j={}};function Ue(e){switch(S.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return S.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function Xe(e){switch(S.debug("typeStr2Type",e),e){case"==":return"thick";default:return"normal"}}function Ge(e){switch(e.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let de=0;const He=()=>(de++,"id-"+Math.random().toString(36).substr(2,12)+"-"+de),qe=e=>{U.children=e,fe(e,U),re=U.children},Ze=e=>{const a=O[e];return a?a.columns?a.columns:a.children?a.children.length:-1:-1},Je=()=>[...Object.values(O)],Qe=()=>re||[],$e=()=>ie,et=e=>O[e],tt=e=>{O[e.id]=e},st=()=>console,it=function(){return V},rt={getConfig:()=>se().block,typeStr2Type:Ue,edgeTypeStr2Type:Xe,edgeStrToEdgeData:Ge,getLogger:st,getBlocksFlat:Je,getBlocks:Qe,getEdges:$e,setHierarchy:qe,getBlock:et,setBlock:tt,getColumns:Ze,getClasses:it,clear:Ve,generateId:He},nt=rt,q=(e,a)=>{const d=Re,c=d(e,"r"),n=d(e,"g"),g=d(e,"b");return we(c,n,g,a)},at=e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${q(e.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${q(e.mainBkg,.5)}; + fill: ${q(e.clusterBkg,.5)}; + stroke: ${q(e.clusterBorder,.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`,lt=at;function be(e,a,d=!1){var c,n,g;const l=e;let f="default";(((c=l==null?void 0:l.classes)==null?void 0:c.length)||0)>0&&(f=((l==null?void 0:l.classes)||[]).join(" ")),f=f+" flowchart-label";let b=0,p="",x;switch(l.type){case"round":b=5,p="rect";break;case"composite":b=0,p="composite",x=0;break;case"square":p="rect";break;case"diamond":p="question";break;case"hexagon":p="hexagon";break;case"block_arrow":p="block_arrow";break;case"odd":p="rect_left_inv_arrow";break;case"lean_right":p="lean_right";break;case"lean_left":p="lean_left";break;case"trapezoid":p="trapezoid";break;case"inv_trapezoid":p="inv_trapezoid";break;case"rect_left_inv_arrow":p="rect_left_inv_arrow";break;case"circle":p="circle";break;case"ellipse":p="ellipse";break;case"stadium":p="stadium";break;case"subroutine":p="subroutine";break;case"cylinder":p="cylinder";break;case"group":p="rect";break;case"doublecircle":p="doublecircle";break;default:p="rect"}const y=ve((l==null?void 0:l.styles)||[]),T=l.label,v=l.size||{width:0,height:0,x:0,y:0};return{labelStyle:y.labelStyle,shape:p,labelText:T,rx:b,ry:b,class:f,style:y.style,id:l.id,directions:l.directions,width:v.width,height:v.height,x:v.x,y:v.y,positioned:d,intersect:void 0,type:l.type,padding:x??(((g=(n=se())==null?void 0:n.block)==null?void 0:g.padding)||0)}}async function ot(e,a,d){const c=be(a,d,!1);if(c.type==="group")return;const n=await ge(e,c),g=n.node().getBBox(),l=d.getBlock(c.id);l.size={width:g.width,height:g.height,x:0,y:0,node:n},d.setBlock(l),n.remove()}async function ct(e,a,d){const c=be(a,d,!0);d.getBlock(c.id).type!=="space"&&(await ge(e,c),a.intersect=c==null?void 0:c.intersect,ze(c))}async function ne(e,a,d,c){for(const n of a)await c(e,n,d),n.children&&await ne(e,n.children,d,c)}async function ut(e,a,d){await ne(e,a,d,ot)}async function dt(e,a,d){await ne(e,a,d,ct)}async function ht(e,a,d,c,n){const g=new Ce({multigraph:!0,compound:!0});g.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const l of d)l.size&&g.setNode(l.id,{width:l.size.width,height:l.size.height,intersect:l.intersect});for(const l of a)if(l.start&&l.end){const f=c.getBlock(l.start),b=c.getBlock(l.end);if(f!=null&&f.size&&(b!=null&&b.size)){const p=f.size,x=b.size,y=[{x:p.x,y:p.y},{x:p.x+(x.x-p.x)/2,y:p.y+(x.y-p.y)/2},{x:x.x,y:x.y}];await Ie(e,{v:l.start,w:l.end,name:l.id},{...l,arrowTypeEnd:l.arrowTypeEnd,arrowTypeStart:l.arrowTypeStart,points:y,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",g,n),l.label&&(await Oe(e,{...l,label:l.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:l.arrowTypeEnd,arrowTypeStart:l.arrowTypeStart,points:y,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await Te({...l,x:y[1].x,y:y[1].y},{originalPath:y}))}}}const _=((oe=(le=he())==null?void 0:le.block)==null?void 0:oe.padding)||8;function gt(e,a){if(e===0||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(a<0||!Number.isInteger(a))throw new Error("Position must be a non-negative integer."+a);if(e<0)return{px:a,py:0};if(e===1)return{px:0,py:a};const d=a%e,c=Math.floor(a/e);return{px:d,py:c}}const pt=e=>{let a=0,d=0;for(const c of e.children){const{width:n,height:g,x:l,y:f}=c.size||{width:0,height:0,x:0,y:0};S.debug("getMaxChildSize abc95 child:",c.id,"width:",n,"height:",g,"x:",l,"y:",f,c.type),c.type!=="space"&&(n>a&&(a=n/(e.widthInColumns||1)),g>d&&(d=g))}return{width:a,height:d}};function te(e,a,d=0,c=0){var n,g,l,f,b,p,x,y,T,v,N;S.debug("setBlockSizes abc95 (start)",e.id,(n=e==null?void 0:e.size)==null?void 0:n.x,"block width =",e==null?void 0:e.size,"sieblingWidth",d),(g=e==null?void 0:e.size)!=null&&g.width||(e.size={width:d,height:c,x:0,y:0});let E=0,L=0;if(((l=e.children)==null?void 0:l.length)>0){for(const h of e.children)te(h,a);const A=pt(e);E=A.width,L=A.height,S.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",E,L);for(const h of e.children)h.size&&(S.debug(`abc95 Setting size of children of ${e.id} id=${h.id} ${E} ${L} ${h.size}`),h.size.width=E*(h.widthInColumns||1)+_*((h.widthInColumns||1)-1),h.size.height=L,h.size.x=0,h.size.y=0,S.debug(`abc95 updating size of ${e.id} children child:${h.id} maxWidth:${E} maxHeight:${L}`));for(const h of e.children)te(h,a,E,L);const k=e.columns||-1;let D=0;for(const h of e.children)D+=h.widthInColumns||1;let o=e.children.length;k>0&&k0?Math.min(e.children.length,k):e.children.length;if(h>0){const t=(i-h*_-_)/h;S.debug("abc95 (growing to fit) width",e.id,i,(x=e.size)==null?void 0:x.width,t);for(const m of e.children)m.size&&(m.size.width=t)}}e.size={width:i,height:u,x:0,y:0}}S.debug("setBlockSizes abc94 (done)",e.id,(y=e==null?void 0:e.size)==null?void 0:y.x,(T=e==null?void 0:e.size)==null?void 0:T.width,(v=e==null?void 0:e.size)==null?void 0:v.y,(N=e==null?void 0:e.size)==null?void 0:N.height)}function xe(e,a){var d,c,n,g,l,f,b,p,x,y,T,v,N,E,L,A,k;S.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${(d=e==null?void 0:e.size)==null?void 0:d.x} y: ${(c=e==null?void 0:e.size)==null?void 0:c.y} width: ${(n=e==null?void 0:e.size)==null?void 0:n.width}`);const D=e.columns||-1;if(S.debug("layoutBlocks columns abc95",e.id,"=>",D,e),e.children&&e.children.length>0){const o=((l=(g=e==null?void 0:e.children[0])==null?void 0:g.size)==null?void 0:l.width)||0,s=e.children.length*o+(e.children.length-1)*_;S.debug("widthOfChildren 88",s,"posX");let i=0;S.debug("abc91 block?.size?.x",e.id,(f=e==null?void 0:e.size)==null?void 0:f.x);let u=(b=e==null?void 0:e.size)!=null&&b.x?((p=e==null?void 0:e.size)==null?void 0:p.x)+(-((x=e==null?void 0:e.size)==null?void 0:x.width)/2||0):-_,h=0;for(const t of e.children){const m=e;if(!t.size)continue;const{width:r,height:R}=t.size,{px:Y,py:F}=gt(D,i);if(F!=h&&(h=F,u=(y=e==null?void 0:e.size)!=null&&y.x?((T=e==null?void 0:e.size)==null?void 0:T.x)+(-((v=e==null?void 0:e.size)==null?void 0:v.width)/2||0):-_,S.debug("New row in layout for block",e.id," and child ",t.id,h)),S.debug(`abc89 layout blocks (child) id: ${t.id} Pos: ${i} (px, py) ${Y},${F} (${(N=m==null?void 0:m.size)==null?void 0:N.x},${(E=m==null?void 0:m.size)==null?void 0:E.y}) parent: ${m.id} width: ${r}${_}`),m.size){const C=r/2;t.size.x=u+_+C,S.debug(`abc91 layout blocks (calc) px, pyid:${t.id} startingPos=X${u} new startingPosX${t.size.x} ${C} padding=${_} width=${r} halfWidth=${C} => x:${t.size.x} y:${t.size.y} ${t.widthInColumns} (width * (child?.w || 1)) / 2 ${r*((t==null?void 0:t.widthInColumns)||1)/2}`),u=t.size.x+C,t.size.y=m.size.y-m.size.height/2+F*(R+_)+R/2+_,S.debug(`abc88 layout blocks (calc) px, pyid:${t.id}startingPosX${u}${_}${C}=>x:${t.size.x}y:${t.size.y}${t.widthInColumns}(width * (child?.w || 1)) / 2${r*((t==null?void 0:t.widthInColumns)||1)/2}`)}t.children&&xe(t),i+=(t==null?void 0:t.widthInColumns)||1,S.debug("abc88 columnsPos",t,i)}}S.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${(L=e==null?void 0:e.size)==null?void 0:L.x} y: ${(A=e==null?void 0:e.size)==null?void 0:A.y} width: ${(k=e==null?void 0:e.size)==null?void 0:k.width}`)}function Se(e,{minX:a,minY:d,maxX:c,maxY:n}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!=="root"){const{x:g,y:l,width:f,height:b}=e.size;g-f/2c&&(c=g+f/2),l+b/2>n&&(n=l+b/2)}if(e.children)for(const g of e.children)({minX:a,minY:d,maxX:c,maxY:n}=Se(g,{minX:a,minY:d,maxX:c,maxY:n}));return{minX:a,minY:d,maxX:c,maxY:n}}function ft(e){const a=e.getBlock("root");if(!a)return;te(a,e,0,0),xe(a),S.debug("getBlocks",JSON.stringify(a,null,2));const{minX:d,minY:c,maxX:n,maxY:g}=Se(a),l=g-c,f=n-d;return{x:d,y:c,width:f,height:l}}const bt=function(e,a){return a.db.getClasses()},xt=async function(e,a,d,c){const{securityLevel:n,block:g}=se(),l=c.db;let f;n==="sandbox"&&(f=H("#i"+a));const b=n==="sandbox"?H(f.nodes()[0].contentDocument.body):H("body"),p=n==="sandbox"?b.select(`[id="${a}"]`):H(`[id="${a}"]`);ke(p,["point","circle","cross"],c.type,a);const y=l.getBlocks(),T=l.getBlocksFlat(),v=l.getEdges(),N=p.insert("g").attr("class","block");await ut(N,y,l);const E=ft(l);if(await dt(N,y,l),await ht(N,v,T,l,a),E){const L=E,A=Math.max(1,Math.round(.125*(L.width/L.height))),k=L.height+A+10,D=L.width+10,{useMaxWidth:o}=g;ye(p,k,D,!!o),S.debug("Here Bounds",E,L),p.attr("viewBox",`${L.x-5} ${L.y-5} ${L.width+10} ${L.height+10}`)}Ae(Be)},St={draw:xt,getClasses:bt},Ct={parser:Pe,db:nt,renderer:St,styles:lt};export{Ct as diagram}; diff --git a/assets/chunks/c4Diagram-ae766693.DLOsxA_1.js b/assets/chunks/c4Diagram-ae766693.DLOsxA_1.js new file mode 100644 index 000000000..4e22c57a2 --- /dev/null +++ b/assets/chunks/c4Diagram-ae766693.DLOsxA_1.js @@ -0,0 +1,10 @@ +import{s as we,g as Oe,a as Te,b as Re,c as Dt,d as ue,e as De,f as wt,h as Nt,l as le,i as Se,w as Pe,j as Kt,k as oe,m as Me}from"../app.BKabOgys.js";import{d as Le,g as Ne}from"./svgDrawCommon-5e1cfd1d.IQKLCKK_.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";var Yt=function(){var e=function(bt,_,x,m){for(x=x||{},m=bt.length;m--;x[bt[m]]=_);return x},t=[1,24],a=[1,25],o=[1,26],l=[1,27],i=[1,28],s=[1,63],r=[1,64],n=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],E=[1,29],O=[1,30],R=[1,31],S=[1,32],L=[1,33],Y=[1,34],Q=[1,35],H=[1,36],q=[1,37],G=[1,38],K=[1,39],J=[1,40],Z=[1,41],$=[1,42],tt=[1,43],et=[1,44],it=[1,45],nt=[1,46],st=[1,47],at=[1,48],rt=[1,50],lt=[1,51],ot=[1,52],ct=[1,53],ht=[1,54],ut=[1,55],dt=[1,56],ft=[1,57],pt=[1,58],yt=[1,59],gt=[1,60],At=[14,42],Vt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ot=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],v=[1,82],k=[1,83],A=[1,84],C=[1,85],w=[12,14,42],ne=[12,14,33,42],Pt=[12,14,33,42,76,77,79,80],mt=[12,33],zt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Xt={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(_,x,m,g,T,u,Tt){var y=u.length-1;switch(T){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(u[y-3]);break;case 19:g.setTitle(u[y].substring(6)),this.$=u[y].substring(6);break;case 20:g.setAccDescription(u[y].substring(15)),this.$=u[y].substring(15);break;case 21:this.$=u[y].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=u[y].trim(),g.setAccDescription(this.$);break;case 28:case 29:u[y].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 30:g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 31:u[y].splice(2,0,"CONTAINER"),g.addContainerBoundary(...u[y]),this.$=u[y];break;case 32:g.addDeploymentNode("node",...u[y]),this.$=u[y];break;case 33:g.addDeploymentNode("nodeL",...u[y]),this.$=u[y];break;case 34:g.addDeploymentNode("nodeR",...u[y]),this.$=u[y];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...u[y]),this.$=u[y];break;case 40:g.addPersonOrSystem("external_person",...u[y]),this.$=u[y];break;case 41:g.addPersonOrSystem("system",...u[y]),this.$=u[y];break;case 42:g.addPersonOrSystem("system_db",...u[y]),this.$=u[y];break;case 43:g.addPersonOrSystem("system_queue",...u[y]),this.$=u[y];break;case 44:g.addPersonOrSystem("external_system",...u[y]),this.$=u[y];break;case 45:g.addPersonOrSystem("external_system_db",...u[y]),this.$=u[y];break;case 46:g.addPersonOrSystem("external_system_queue",...u[y]),this.$=u[y];break;case 47:g.addContainer("container",...u[y]),this.$=u[y];break;case 48:g.addContainer("container_db",...u[y]),this.$=u[y];break;case 49:g.addContainer("container_queue",...u[y]),this.$=u[y];break;case 50:g.addContainer("external_container",...u[y]),this.$=u[y];break;case 51:g.addContainer("external_container_db",...u[y]),this.$=u[y];break;case 52:g.addContainer("external_container_queue",...u[y]),this.$=u[y];break;case 53:g.addComponent("component",...u[y]),this.$=u[y];break;case 54:g.addComponent("component_db",...u[y]),this.$=u[y];break;case 55:g.addComponent("component_queue",...u[y]),this.$=u[y];break;case 56:g.addComponent("external_component",...u[y]),this.$=u[y];break;case 57:g.addComponent("external_component_db",...u[y]),this.$=u[y];break;case 58:g.addComponent("external_component_queue",...u[y]),this.$=u[y];break;case 60:g.addRel("rel",...u[y]),this.$=u[y];break;case 61:g.addRel("birel",...u[y]),this.$=u[y];break;case 62:g.addRel("rel_u",...u[y]),this.$=u[y];break;case 63:g.addRel("rel_d",...u[y]),this.$=u[y];break;case 64:g.addRel("rel_l",...u[y]),this.$=u[y];break;case 65:g.addRel("rel_r",...u[y]),this.$=u[y];break;case 66:g.addRel("rel_b",...u[y]),this.$=u[y];break;case 67:u[y].splice(0,1),g.addRel("rel",...u[y]),this.$=u[y];break;case 68:g.updateElStyle("update_el_style",...u[y]),this.$=u[y];break;case 69:g.updateRelStyle("update_rel_style",...u[y]),this.$=u[y];break;case 70:g.updateLayoutConfig("update_layout_config",...u[y]),this.$=u[y];break;case 71:this.$=[u[y]];break;case 72:u[y].unshift(u[y-1]),this.$=u[y];break;case 73:case 75:this.$=u[y].trim();break;case 74:let Et={};Et[u[y-1].trim()]=u[y].trim(),this.$=Et;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:70,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:71,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:72,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:73,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{14:[1,74]},e(At,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(At,[2,14]),e(Vt,[2,16],{12:[1,76]}),e(At,[2,36],{12:[1,77]}),e(Ot,[2,19]),e(Ot,[2,20]),{25:[1,78]},{27:[1,79]},e(Ot,[2,23]),{35:80,75:81,76:v,77:k,79:A,80:C},{35:86,75:81,76:v,77:k,79:A,80:C},{35:87,75:81,76:v,77:k,79:A,80:C},{35:88,75:81,76:v,77:k,79:A,80:C},{35:89,75:81,76:v,77:k,79:A,80:C},{35:90,75:81,76:v,77:k,79:A,80:C},{35:91,75:81,76:v,77:k,79:A,80:C},{35:92,75:81,76:v,77:k,79:A,80:C},{35:93,75:81,76:v,77:k,79:A,80:C},{35:94,75:81,76:v,77:k,79:A,80:C},{35:95,75:81,76:v,77:k,79:A,80:C},{35:96,75:81,76:v,77:k,79:A,80:C},{35:97,75:81,76:v,77:k,79:A,80:C},{35:98,75:81,76:v,77:k,79:A,80:C},{35:99,75:81,76:v,77:k,79:A,80:C},{35:100,75:81,76:v,77:k,79:A,80:C},{35:101,75:81,76:v,77:k,79:A,80:C},{35:102,75:81,76:v,77:k,79:A,80:C},{35:103,75:81,76:v,77:k,79:A,80:C},{35:104,75:81,76:v,77:k,79:A,80:C},e(w,[2,59]),{35:105,75:81,76:v,77:k,79:A,80:C},{35:106,75:81,76:v,77:k,79:A,80:C},{35:107,75:81,76:v,77:k,79:A,80:C},{35:108,75:81,76:v,77:k,79:A,80:C},{35:109,75:81,76:v,77:k,79:A,80:C},{35:110,75:81,76:v,77:k,79:A,80:C},{35:111,75:81,76:v,77:k,79:A,80:C},{35:112,75:81,76:v,77:k,79:A,80:C},{35:113,75:81,76:v,77:k,79:A,80:C},{35:114,75:81,76:v,77:k,79:A,80:C},{35:115,75:81,76:v,77:k,79:A,80:C},{20:116,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{12:[1,118],33:[1,117]},{35:119,75:81,76:v,77:k,79:A,80:C},{35:120,75:81,76:v,77:k,79:A,80:C},{35:121,75:81,76:v,77:k,79:A,80:C},{35:122,75:81,76:v,77:k,79:A,80:C},{35:123,75:81,76:v,77:k,79:A,80:C},{35:124,75:81,76:v,77:k,79:A,80:C},{35:125,75:81,76:v,77:k,79:A,80:C},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(At,[2,15]),e(Vt,[2,17],{21:22,19:130,22:t,23:a,24:o,26:l,28:i}),e(At,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:a,24:o,26:l,28:i,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(Ot,[2,21]),e(Ot,[2,22]),e(w,[2,39]),e(ne,[2,71],{75:81,35:132,76:v,77:k,79:A,80:C}),e(Pt,[2,73]),{78:[1,133]},e(Pt,[2,75]),e(Pt,[2,76]),e(w,[2,40]),e(w,[2,41]),e(w,[2,42]),e(w,[2,43]),e(w,[2,44]),e(w,[2,45]),e(w,[2,46]),e(w,[2,47]),e(w,[2,48]),e(w,[2,49]),e(w,[2,50]),e(w,[2,51]),e(w,[2,52]),e(w,[2,53]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(w,[2,60]),e(w,[2,61]),e(w,[2,62]),e(w,[2,63]),e(w,[2,64]),e(w,[2,65]),e(w,[2,66]),e(w,[2,67]),e(w,[2,68]),e(w,[2,69]),e(w,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(mt,[2,28]),e(mt,[2,29]),e(mt,[2,30]),e(mt,[2,31]),e(mt,[2,32]),e(mt,[2,33]),e(mt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Vt,[2,18]),e(At,[2,38]),e(ne,[2,72]),e(Pt,[2,74]),e(w,[2,24]),e(w,[2,35]),e(zt,[2,25]),e(zt,[2,26],{12:[1,138]}),e(zt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(_,x){if(x.recoverable)this.trace(_);else{var m=new Error(_);throw m.hash=x,m}},parse:function(_){var x=this,m=[0],g=[],T=[null],u=[],Tt=this.table,y="",Et=0,se=0,ve=2,ae=1,ke=u.slice.call(arguments,1),D=Object.create(this.lexer),vt={yy:{}};for(var Qt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Qt)&&(vt.yy[Qt]=this.yy[Qt]);D.setInput(_,vt.yy),vt.yy.lexer=D,vt.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Ht=D.yylloc;u.push(Ht);var Ae=D.options&&D.options.ranges;typeof vt.yy.parseError=="function"?this.parseError=vt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(){var X;return X=g.pop()||D.lex()||ae,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,kt,N,qt,Ct={},Mt,z,re,Lt;;){if(kt=m[m.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((M===null||typeof M>"u")&&(M=Ce()),N=Tt[kt]&&Tt[kt][M]),typeof N>"u"||!N.length||!N[0]){var Gt="";Lt=[];for(Mt in Tt[kt])this.terminals_[Mt]&&Mt>ve&&Lt.push("'"+this.terminals_[Mt]+"'");D.showPosition?Gt="Parse error on line "+(Et+1)+`: +`+D.showPosition()+` +Expecting `+Lt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":Gt="Parse error on line "+(Et+1)+": Unexpected "+(M==ae?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(Gt,{text:D.match,token:this.terminals_[M]||M,line:D.yylineno,loc:Ht,expected:Lt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kt+", token: "+M);switch(N[0]){case 1:m.push(M),T.push(D.yytext),u.push(D.yylloc),m.push(N[1]),M=null,se=D.yyleng,y=D.yytext,Et=D.yylineno,Ht=D.yylloc;break;case 2:if(z=this.productions_[N[1]][1],Ct.$=T[T.length-z],Ct._$={first_line:u[u.length-(z||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(z||1)].first_column,last_column:u[u.length-1].last_column},Ae&&(Ct._$.range=[u[u.length-(z||1)].range[0],u[u.length-1].range[1]]),qt=this.performAction.apply(Ct,[y,se,Et,vt.yy,N[1],T,u].concat(ke)),typeof qt<"u")return qt;z&&(m=m.slice(0,-1*z*2),T=T.slice(0,-1*z),u=u.slice(0,-1*z)),m.push(this.productions_[N[1]][0]),T.push(Ct.$),u.push(Ct._$),re=Tt[m[m.length-2]][m[m.length-1]],m.push(re);break;case 3:return!0}}return!0}},Ee=function(){var bt={EOF:1,parseError:function(x,m){if(this.yy.parser)this.yy.parser.parseError(x,m);else throw new Error(x)},setInput:function(_,x){return this.yy=x||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var x=_.match(/(?:\r\n?|\n).*/g);return x?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},unput:function(_){var x=_.length,m=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-x),this.offset-=x;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var T=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===g.length?this.yylloc.first_column:0)+g[g.length-m.length].length-m[0].length:this.yylloc.first_column-x},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-x]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),x=new Array(_.length+1).join("-");return _+this.upcomingInput()+` +`+x+"^"},test_match:function(_,x){var m,g,T;if(this.options.backtrack_lexer&&(T={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(T.yylloc.range=this.yylloc.range.slice(0))),g=_[0].match(/(?:\r\n?|\n).*/g),g&&(this.yylineno+=g.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g?g[g.length-1].length-g[g.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],m=this.performAction.call(this,this.yy,this,x,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var u in T)this[u]=T[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,x,m,g;this._more||(this.yytext="",this.match="");for(var T=this._currentRules(),u=0;ux[0].length)){if(x=m,g=u,this.options.backtrack_lexer){if(_=this.test_match(m,T[u]),_!==!1)return _;if(this._backtrack){x=!1;continue}else return!1}else if(!this.options.flex)break}return x?(_=this.test_match(x,T[g]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var x=this.next();return x||this.lex()},begin:function(x){this.conditionStack.push(x)},popState:function(){var x=this.conditionStack.length-1;return x>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(x){return x=this.conditionStack.length-1-Math.abs(x||0),x>=0?this.conditionStack[x]:"INITIAL"},pushState:function(x){this.begin(x)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(x,m,g,T){switch(g){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return bt}();Xt.lexer=Ee;function Wt(){this.yy={}}return Wt.prototype=Xt,Xt.Parser=Wt,new Wt}();Yt.parser=Yt;const Be=Yt;let U=[],_t=[""],P="global",j="",V=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],St=[],te="",ee=!1,It=4,jt=2;var de;const Ye=function(){return de},Ie=function(e){de=ue(e,Dt())},je=function(e,t,a,o,l,i,s,r,n){if(e==null||t===void 0||t===null||a===void 0||a===null||o===void 0||o===null)return;let h={};const f=St.find(d=>d.from===t&&d.to===a);if(f?h=f:St.push(h),h.type=e,h.from=t,h.to=a,h.label={text:o},l==null)h.techn={text:""};else if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]={text:p}}else h.techn={text:l};if(i==null)h.descr={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.descr={text:i};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof r=="object"){let[d,p]=Object.entries(r)[0];h[d]=p}else h.tags=r;if(typeof n=="object"){let[d,p]=Object.entries(n)[0];h[d]=p}else h.link=n;h.wrap=xt()},Ue=function(e,t,a,o,l,i,s){if(t===null||a===null)return;let r={};const n=U.find(h=>h.alias===t);if(n&&t===n.alias?r=n:(r.alias=t,U.push(r)),a==null?r.label={text:""}:r.label={text:a},o==null)r.descr={text:""};else if(typeof o=="object"){let[h,f]=Object.entries(o)[0];r[h]={text:f}}else r.descr={text:o};if(typeof l=="object"){let[h,f]=Object.entries(l)[0];r[h]=f}else r.sprite=l;if(typeof i=="object"){let[h,f]=Object.entries(i)[0];r[h]=f}else r.tags=i;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];r[h]=f}else r.link=s;r.typeC4Shape={text:e},r.parentBoundary=P,r.wrap=xt()},Fe=function(e,t,a,o,l,i,s,r){if(t===null||a===null)return;let n={};const h=U.find(f=>f.alias===t);if(h&&t===h.alias?n=h:(n.alias=t,U.push(n)),a==null?n.label={text:""}:n.label={text:a},o==null)n.techn={text:""};else if(typeof o=="object"){let[f,d]=Object.entries(o)[0];n[f]={text:d}}else n.techn={text:o};if(l==null)n.descr={text:""};else if(typeof l=="object"){let[f,d]=Object.entries(l)[0];n[f]={text:d}}else n.descr={text:l};if(typeof i=="object"){let[f,d]=Object.entries(i)[0];n[f]=d}else n.sprite=i;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];n[f]=d}else n.tags=s;if(typeof r=="object"){let[f,d]=Object.entries(r)[0];n[f]=d}else n.link=r;n.wrap=xt(),n.typeC4Shape={text:e},n.parentBoundary=P},Ve=function(e,t,a,o,l,i,s,r){if(t===null||a===null)return;let n={};const h=U.find(f=>f.alias===t);if(h&&t===h.alias?n=h:(n.alias=t,U.push(n)),a==null?n.label={text:""}:n.label={text:a},o==null)n.techn={text:""};else if(typeof o=="object"){let[f,d]=Object.entries(o)[0];n[f]={text:d}}else n.techn={text:o};if(l==null)n.descr={text:""};else if(typeof l=="object"){let[f,d]=Object.entries(l)[0];n[f]={text:d}}else n.descr={text:l};if(typeof i=="object"){let[f,d]=Object.entries(i)[0];n[f]=d}else n.sprite=i;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];n[f]=d}else n.tags=s;if(typeof r=="object"){let[f,d]=Object.entries(r)[0];n[f]=d}else n.link=r;n.wrap=xt(),n.typeC4Shape={text:e},n.parentBoundary=P},ze=function(e,t,a,o,l){if(e===null||t===null)return;let i={};const s=V.find(r=>r.alias===e);if(s&&e===s.alias?i=s:(i.alias=e,V.push(i)),t==null?i.label={text:""}:i.label={text:t},a==null)i.type={text:"system"};else if(typeof a=="object"){let[r,n]=Object.entries(a)[0];i[r]={text:n}}else i.type={text:a};if(typeof o=="object"){let[r,n]=Object.entries(o)[0];i[r]=n}else i.tags=o;if(typeof l=="object"){let[r,n]=Object.entries(l)[0];i[r]=n}else i.link=l;i.parentBoundary=P,i.wrap=xt(),j=P,P=e,_t.push(j)},Xe=function(e,t,a,o,l){if(e===null||t===null)return;let i={};const s=V.find(r=>r.alias===e);if(s&&e===s.alias?i=s:(i.alias=e,V.push(i)),t==null?i.label={text:""}:i.label={text:t},a==null)i.type={text:"container"};else if(typeof a=="object"){let[r,n]=Object.entries(a)[0];i[r]={text:n}}else i.type={text:a};if(typeof o=="object"){let[r,n]=Object.entries(o)[0];i[r]=n}else i.tags=o;if(typeof l=="object"){let[r,n]=Object.entries(l)[0];i[r]=n}else i.link=l;i.parentBoundary=P,i.wrap=xt(),j=P,P=e,_t.push(j)},We=function(e,t,a,o,l,i,s,r){if(t===null||a===null)return;let n={};const h=V.find(f=>f.alias===t);if(h&&t===h.alias?n=h:(n.alias=t,V.push(n)),a==null?n.label={text:""}:n.label={text:a},o==null)n.type={text:"node"};else if(typeof o=="object"){let[f,d]=Object.entries(o)[0];n[f]={text:d}}else n.type={text:o};if(l==null)n.descr={text:""};else if(typeof l=="object"){let[f,d]=Object.entries(l)[0];n[f]={text:d}}else n.descr={text:l};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];n[f]=d}else n.tags=s;if(typeof r=="object"){let[f,d]=Object.entries(r)[0];n[f]=d}else n.link=r;n.nodeType=e,n.parentBoundary=P,n.wrap=xt(),j=P,P=t,_t.push(j)},Qe=function(){P=j,_t.pop(),j=_t.pop(),_t.push(j)},He=function(e,t,a,o,l,i,s,r,n,h,f){let d=U.find(p=>p.alias===t);if(!(d===void 0&&(d=V.find(p=>p.alias===t),d===void 0))){if(a!=null)if(typeof a=="object"){let[p,E]=Object.entries(a)[0];d[p]=E}else d.bgColor=a;if(o!=null)if(typeof o=="object"){let[p,E]=Object.entries(o)[0];d[p]=E}else d.fontColor=o;if(l!=null)if(typeof l=="object"){let[p,E]=Object.entries(l)[0];d[p]=E}else d.borderColor=l;if(i!=null)if(typeof i=="object"){let[p,E]=Object.entries(i)[0];d[p]=E}else d.shadowing=i;if(s!=null)if(typeof s=="object"){let[p,E]=Object.entries(s)[0];d[p]=E}else d.shape=s;if(r!=null)if(typeof r=="object"){let[p,E]=Object.entries(r)[0];d[p]=E}else d.sprite=r;if(n!=null)if(typeof n=="object"){let[p,E]=Object.entries(n)[0];d[p]=E}else d.techn=n;if(h!=null)if(typeof h=="object"){let[p,E]=Object.entries(h)[0];d[p]=E}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,E]=Object.entries(f)[0];d[p]=E}else d.legendSprite=f}},qe=function(e,t,a,o,l,i,s){const r=St.find(n=>n.from===t&&n.to===a);if(r!==void 0){if(o!=null)if(typeof o=="object"){let[n,h]=Object.entries(o)[0];r[n]=h}else r.textColor=o;if(l!=null)if(typeof l=="object"){let[n,h]=Object.entries(l)[0];r[n]=h}else r.lineColor=l;if(i!=null)if(typeof i=="object"){let[n,h]=Object.entries(i)[0];r[n]=parseInt(h)}else r.offsetX=parseInt(i);if(s!=null)if(typeof s=="object"){let[n,h]=Object.entries(s)[0];r[n]=parseInt(h)}else r.offsetY=parseInt(s)}},Ge=function(e,t,a){let o=It,l=jt;if(typeof t=="object"){const i=Object.values(t)[0];o=parseInt(i)}else o=parseInt(t);if(typeof a=="object"){const i=Object.values(a)[0];l=parseInt(i)}else l=parseInt(a);o>=1&&(It=o),l>=1&&(jt=l)},Ke=function(){return It},Je=function(){return jt},Ze=function(){return P},$e=function(){return j},fe=function(e){return e==null?U:U.filter(t=>t.parentBoundary===e)},t0=function(e){return U.find(t=>t.alias===e)},e0=function(e){return Object.keys(fe(e))},pe=function(e){return e==null?V:V.filter(t=>t.parentBoundary===e)},i0=pe,n0=function(){return St},s0=function(){return te},a0=function(e){ee=e},xt=function(){return ee},r0=function(){U=[],V=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],j="",P="global",_t=[""],St=[],_t=[""],te="",ee=!1,It=4,jt=2},l0={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},o0={FILLED:0,OPEN:1},c0={LEFTOF:0,RIGHTOF:1,OVER:2},h0=function(e){te=ue(e,Dt())},Jt={addPersonOrSystem:Ue,addPersonOrSystemBoundary:ze,addContainer:Fe,addContainerBoundary:Xe,addComponent:Ve,addDeploymentNode:We,popBoundaryParseStack:Qe,addRel:je,updateElStyle:He,updateRelStyle:qe,updateLayoutConfig:Ge,autoWrap:xt,setWrap:a0,getC4ShapeArray:fe,getC4Shape:t0,getC4ShapeKeys:e0,getBoundaries:pe,getBoundarys:i0,getCurrentBoundaryParse:Ze,getParentBoundaryParse:$e,getRels:n0,getTitle:s0,getC4Type:Ye,getC4ShapeInRow:Ke,getC4BoundaryInRow:Je,setAccTitle:we,getAccTitle:Oe,getAccDescription:Te,setAccDescription:Re,getConfig:()=>Dt().c4,clear:r0,LINETYPE:l0,ARROWTYPE:o0,PLACEMENT:c0,setTitle:h0,setC4Type:Ie},ie=function(e,t){return Le(e,t)},ye=function(e,t,a,o,l,i){const s=e.append("image");s.attr("width",t),s.attr("height",a),s.attr("x",o),s.attr("y",l);let r=i.startsWith("data:image/png;base64")?i:Me.sanitizeUrl(i);s.attr("xlink:href",r)},u0=(e,t,a)=>{const o=e.append("g");let l=0;for(let i of t){let s=i.textColor?i.textColor:"#444444",r=i.lineColor?i.lineColor:"#444444",n=i.offsetX?parseInt(i.offsetX):0,h=i.offsetY?parseInt(i.offsetY):0,f="";if(l===0){let p=o.append("line");p.attr("x1",i.startPoint.x),p.attr("y1",i.startPoint.y),p.attr("x2",i.endPoint.x),p.attr("y2",i.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",r),p.style("fill","none"),i.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(i.type==="birel"||i.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),l=-1}else{let p=o.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",r).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",i.startPoint.x).replaceAll("starty",i.startPoint.y).replaceAll("controlx",i.startPoint.x+(i.endPoint.x-i.startPoint.x)/2-(i.endPoint.x-i.startPoint.x)/4).replaceAll("controly",i.startPoint.y+(i.endPoint.y-i.startPoint.y)/2).replaceAll("stopx",i.endPoint.x).replaceAll("stopy",i.endPoint.y)),i.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(i.type==="birel"||i.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=a.messageFont();W(a)(i.label.text,o,Math.min(i.startPoint.x,i.endPoint.x)+Math.abs(i.endPoint.x-i.startPoint.x)/2+n,Math.min(i.startPoint.y,i.endPoint.y)+Math.abs(i.endPoint.y-i.startPoint.y)/2+h,i.label.width,i.label.height,{fill:s},d),i.techn&&i.techn.text!==""&&(d=a.messageFont(),W(a)("["+i.techn.text+"]",o,Math.min(i.startPoint.x,i.endPoint.x)+Math.abs(i.endPoint.x-i.startPoint.x)/2+n,Math.min(i.startPoint.y,i.endPoint.y)+Math.abs(i.endPoint.y-i.startPoint.y)/2+a.messageFontSize+5+h,Math.max(i.label.width,i.techn.width),i.techn.height,{fill:s,"font-style":"italic"},d))}},d0=function(e,t,a){const o=e.append("g");let l=t.bgColor?t.bgColor:"none",i=t.borderColor?t.borderColor:"#444444",s=t.fontColor?t.fontColor:"black",r={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};t.nodeType&&(r={"stroke-width":1});let n={x:t.x,y:t.y,fill:l,stroke:i,width:t.width,height:t.height,rx:2.5,ry:2.5,attrs:r};ie(o,n);let h=a.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,W(a)(t.label.text,o,t.x,t.y+t.label.Y,t.width,t.height,{fill:"#444444"},h),t.type&&t.type.text!==""&&(h=a.boundaryFont(),h.fontColor=s,W(a)(t.type.text,o,t.x,t.y+t.type.Y,t.width,t.height,{fill:"#444444"},h)),t.descr&&t.descr.text!==""&&(h=a.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,W(a)(t.descr.text,o,t.x,t.y+t.descr.Y,t.width,t.height,{fill:"#444444"},h))},f0=function(e,t,a){var o;let l=t.bgColor?t.bgColor:a[t.typeC4Shape.text+"_bg_color"],i=t.borderColor?t.borderColor:a[t.typeC4Shape.text+"_border_color"],s=t.fontColor?t.fontColor:"#FFFFFF",r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(t.typeC4Shape.text){case"person":r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const n=e.append("g");n.attr("class","person-man");const h=Ne();switch(t.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":h.x=t.x,h.y=t.y,h.fill=l,h.width=t.width,h.height=t.height,h.stroke=i,h.rx=2.5,h.ry=2.5,h.attrs={"stroke-width":.5},ie(n,h);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":n.append("path").attr("fill",l).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2).replaceAll("height",t.height)),n.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":n.append("path").attr("fill",l).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",t.x).replaceAll("starty",t.y).replaceAll("width",t.width).replaceAll("half",t.height/2)),n.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",t.x+t.width).replaceAll("starty",t.y).replaceAll("half",t.height/2));break}let f=v0(a,t.typeC4Shape.text);switch(n.append("text").attr("fill",s).attr("font-family",f.fontFamily).attr("font-size",f.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",t.typeC4Shape.width).attr("x",t.x+t.width/2-t.typeC4Shape.width/2).attr("y",t.y+t.typeC4Shape.Y).text("<<"+t.typeC4Shape.text+">>"),t.typeC4Shape.text){case"person":case"external_person":ye(n,48,48,t.x+t.width/2-24,t.y+t.image.Y,r);break}let d=a[t.typeC4Shape.text+"Font"]();return d.fontWeight="bold",d.fontSize=d.fontSize+2,d.fontColor=s,W(a)(t.label.text,n,t.x,t.y+t.label.Y,t.width,t.height,{fill:s},d),d=a[t.typeC4Shape.text+"Font"](),d.fontColor=s,t.techn&&((o=t.techn)==null?void 0:o.text)!==""?W(a)(t.techn.text,n,t.x,t.y+t.techn.Y,t.width,t.height,{fill:s,"font-style":"italic"},d):t.type&&t.type.text!==""&&W(a)(t.type.text,n,t.x,t.y+t.type.Y,t.width,t.height,{fill:s,"font-style":"italic"},d),t.descr&&t.descr.text!==""&&(d=a.personFont(),d.fontColor=s,W(a)(t.descr.text,n,t.x,t.y+t.descr.Y,t.width,t.height,{fill:s},d)),t.height},p0=function(e){e.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},y0=function(e){e.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},g0=function(e){e.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},b0=function(e){e.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},_0=function(e){e.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},x0=function(e){e.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},m0=function(e){e.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},E0=function(e){const a=e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);a.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),a.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},v0=(e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),W=function(){function e(l,i,s,r,n,h,f){const d=i.append("text").attr("x",s+n/2).attr("y",r+h/2+5).style("text-anchor","middle").text(l);o(d,f)}function t(l,i,s,r,n,h,f,d){const{fontSize:p,fontFamily:E,fontWeight:O}=d,R=l.split(Kt.lineBreakRegex);for(let S=0;S=this.data.widthLimit||o>=this.data.widthLimit||this.nextData.cnt>ge)&&(a=this.nextData.startx+t.margin+b.nextLinePaddingX,l=this.nextData.stopy+t.margin*2,this.nextData.stopx=o=a+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=l+t.height,this.nextData.cnt=1),t.x=a,t.y=l,this.updateVal(this.data,"startx",a,Math.min),this.updateVal(this.data,"starty",l,Math.min),this.updateVal(this.data,"stopx",o,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",a,Math.min),this.updateVal(this.nextData,"starty",l,Math.min),this.updateVal(this.nextData,"stopx",o,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},$t(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}}const $t=function(e){De(b,e),e.fontFamily&&(b.personFontFamily=b.systemFontFamily=b.messageFontFamily=e.fontFamily),e.fontSize&&(b.personFontSize=b.systemFontSize=b.messageFontSize=e.fontSize),e.fontWeight&&(b.personFontWeight=b.systemFontWeight=b.messageFontWeight=e.fontWeight)},Rt=(e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),Bt=e=>({fontFamily:e.boundaryFontFamily,fontSize:e.boundaryFontSize,fontWeight:e.boundaryFontWeight}),k0=e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight});function I(e,t,a,o,l){if(!t[e].width)if(a)t[e].text=Pe(t[e].text,l,o),t[e].textLines=t[e].text.split(Kt.lineBreakRegex).length,t[e].width=l,t[e].height=oe(t[e].text,o);else{let i=t[e].text.split(Kt.lineBreakRegex);t[e].textLines=i.length;let s=0;t[e].height=0,t[e].width=0;for(const r of i)t[e].width=Math.max(wt(r,o),t[e].width),s=oe(r,o),t[e].height=t[e].height+s}}const _e=function(e,t,a){t.x=a.data.startx,t.y=a.data.starty,t.width=a.data.stopx-a.data.startx,t.height=a.data.stopy-a.data.starty,t.label.y=b.c4ShapeMargin-35;let o=t.wrap&&b.wrap,l=Bt(b);l.fontSize=l.fontSize+2,l.fontWeight="bold";let i=wt(t.label.text,l);I("label",t,o,l,i),F.drawBoundary(e,t,b)},xe=function(e,t,a,o){let l=0;for(const i of o){l=0;const s=a[i];let r=Rt(b,s.typeC4Shape.text);switch(r.fontSize=r.fontSize-2,s.typeC4Shape.width=wt("«"+s.typeC4Shape.text+"»",r),s.typeC4Shape.height=r.fontSize+2,s.typeC4Shape.Y=b.c4ShapePadding,l=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=l,l=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=l,l=s.image.Y+s.image.height);let n=s.wrap&&b.wrap,h=b.width-b.c4ShapePadding*2,f=Rt(b,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",I("label",s,n,f,h),s.label.Y=l+8,l=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let E=Rt(b,s.typeC4Shape.text);I("type",s,n,E,h),s.type.Y=l+5,l=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let E=Rt(b,s.techn.text);I("techn",s,n,E,h),s.techn.Y=l+5,l=s.techn.Y+s.techn.height}let d=l,p=s.label.width;if(s.descr&&s.descr.text!==""){let E=Rt(b,s.typeC4Shape.text);I("descr",s,n,E,h),s.descr.Y=l+20,l=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=l-s.descr.textLines*5}p=p+b.c4ShapePadding,s.width=Math.max(s.width||b.width,p,b.width),s.height=Math.max(s.height||b.height,d,b.height),s.margin=s.margin||b.c4ShapeMargin,e.insert(s),F.drawC4Shape(t,s,b)}e.bumpLastMargin(b.c4ShapeMargin)};class B{constructor(t,a){this.x=t,this.y=a}}let ce=function(e,t){let a=e.x,o=e.y,l=t.x,i=t.y,s=a+e.width/2,r=o+e.height/2,n=Math.abs(a-l),h=Math.abs(o-i),f=h/n,d=e.height/e.width,p=null;return o==i&&al?p=new B(a,r):a==l&&oi&&(p=new B(s,o)),a>l&&o=f?p=new B(a,r+f*e.width/2):p=new B(s-n/h*e.height/2,o+e.height):a=f?p=new B(a+e.width,r+f*e.width/2):p=new B(s+n/h*e.height/2,o+e.height):ai?d>=f?p=new B(a+e.width,r-f*e.width/2):p=new B(s+e.height/2*n/h,o):a>l&&o>i&&(d>=f?p=new B(a,r-e.width/2*f):p=new B(s-e.height/2*n/h,o)),p},A0=function(e,t){let a={x:0,y:0};a.x=t.x+t.width/2,a.y=t.y+t.height/2;let o=ce(e,a);a.x=e.x+e.width/2,a.y=e.y+e.height/2;let l=ce(t,a);return{startPoint:o,endPoint:l}};const C0=function(e,t,a,o){let l=0;for(let i of t){l=l+1;let s=i.wrap&&b.wrap,r=k0(b);o.db.getC4Type()==="C4Dynamic"&&(i.label.text=l+": "+i.label.text);let h=wt(i.label.text,r);I("label",i,s,r,h),i.techn&&i.techn.text!==""&&(h=wt(i.techn.text,r),I("techn",i,s,r,h)),i.descr&&i.descr.text!==""&&(h=wt(i.descr.text,r),I("descr",i,s,r,h));let f=a(i.from),d=a(i.to),p=A0(f,d);i.startPoint=p.startPoint,i.endPoint=p.endPoint}F.drawRels(e,t,b)};function me(e,t,a,o,l){let i=new be(l);i.data.widthLimit=a.data.widthLimit/Math.min(Zt,o.length);for(let[s,r]of o.entries()){let n=0;r.image={width:0,height:0,Y:0},r.sprite&&(r.image.width=48,r.image.height=48,r.image.Y=n,n=r.image.Y+r.image.height);let h=r.wrap&&b.wrap,f=Bt(b);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",I("label",r,h,f,i.data.widthLimit),r.label.Y=n+8,n=r.label.Y+r.label.height,r.type&&r.type.text!==""){r.type.text="["+r.type.text+"]";let O=Bt(b);I("type",r,h,O,i.data.widthLimit),r.type.Y=n+5,n=r.type.Y+r.type.height}if(r.descr&&r.descr.text!==""){let O=Bt(b);O.fontSize=O.fontSize-2,I("descr",r,h,O,i.data.widthLimit),r.descr.Y=n+20,n=r.descr.Y+r.descr.height}if(s==0||s%Zt===0){let O=a.data.startx+b.diagramMarginX,R=a.data.stopy+b.diagramMarginY+n;i.setData(O,O,R,R)}else{let O=i.data.stopx!==i.data.startx?i.data.stopx+b.diagramMarginX:i.data.startx,R=i.data.starty;i.setData(O,O,R,R)}i.name=r.alias;let d=l.db.getC4ShapeArray(r.alias),p=l.db.getC4ShapeKeys(r.alias);p.length>0&&xe(i,e,d,p),t=r.alias;let E=l.db.getBoundarys(t);E.length>0&&me(e,t,i,E,l),r.alias!=="global"&&_e(e,r,i),a.data.stopy=Math.max(i.data.stopy+b.c4ShapeMargin,a.data.stopy),a.data.stopx=Math.max(i.data.stopx+b.c4ShapeMargin,a.data.stopx),Ut=Math.max(Ut,a.data.stopx),Ft=Math.max(Ft,a.data.stopy)}}const w0=function(e,t,a,o){b=Dt().c4;const l=Dt().securityLevel;let i;l==="sandbox"&&(i=Nt("#i"+t));const s=l==="sandbox"?Nt(i.nodes()[0].contentDocument.body):Nt("body");let r=o.db;o.db.setWrap(b.wrap),ge=r.getC4ShapeInRow(),Zt=r.getC4BoundaryInRow(),le.debug(`C:${JSON.stringify(b,null,2)}`);const n=l==="sandbox"?s.select(`[id="${t}"]`):Nt(`[id="${t}"]`);F.insertComputerIcon(n),F.insertDatabaseIcon(n),F.insertClockIcon(n);let h=new be(o);h.setData(b.diagramMarginX,b.diagramMarginX,b.diagramMarginY,b.diagramMarginY),h.data.widthLimit=screen.availWidth,Ut=b.diagramMarginX,Ft=b.diagramMarginY;const f=o.db.getTitle();let d=o.db.getBoundarys("");me(n,"",h,d,o),F.insertArrowHead(n),F.insertArrowEnd(n),F.insertArrowCrossHead(n),F.insertArrowFilledHead(n),C0(n,o.db.getRels(),o.db.getC4Shape,o),h.data.stopx=Ut,h.data.stopy=Ft;const p=h.data;let O=p.stopy-p.starty+2*b.diagramMarginY;const S=p.stopx-p.startx+2*b.diagramMarginX;f&&n.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*b.diagramMarginX).attr("y",p.starty+b.diagramMarginY),Se(n,O,S,b.useMaxWidth);const L=f?60:0;n.attr("viewBox",p.startx-b.diagramMarginX+" -"+(b.diagramMarginY+L)+" "+S+" "+(O+L)),le.debug("models:",p)},he={drawPersonOrSystemArray:xe,drawBoundary:_e,setConf:$t,draw:w0},O0=e=>`.person { + stroke: ${e.personBorder}; + fill: ${e.personBkg}; + } +`,T0=O0,M0={parser:Be,db:Jt,renderer:he,styles:T0,init:({c4:e,wrap:t})=>{he.setConf(e),Jt.setWrap(t)}};export{M0 as diagram}; diff --git a/assets/chunks/channel.DzT0vZNh.js b/assets/chunks/channel.DzT0vZNh.js new file mode 100644 index 000000000..482cd6ad2 --- /dev/null +++ b/assets/chunks/channel.DzT0vZNh.js @@ -0,0 +1 @@ +import{al as o,am as n}from"../app.BKabOgys.js";const l=(a,r)=>o.lang.round(n.parse(a)[r]);export{l as c}; diff --git a/assets/chunks/classDiagram-fb54d2a0.Sd0OEb1c.js b/assets/chunks/classDiagram-fb54d2a0.Sd0OEb1c.js new file mode 100644 index 000000000..e3eea5ac6 --- /dev/null +++ b/assets/chunks/classDiagram-fb54d2a0.Sd0OEb1c.js @@ -0,0 +1,2 @@ +import{p as A,d as S,s as G}from"./styles-b83b31c9.B6djMH8N.js";import{c as v,l as y,h as B,i as W,ao as $,z as M,ar as I}from"../app.BKabOgys.js";import{G as O}from"./graph.CmmHGxOl.js";import{l as P}from"./layout.CbVLFsVb.js";import{l as X}from"./line._HMy3R8R.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";let H=0;const Y=function(i,a,t,o,p){const g=function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=X().x(function(e){return e.x}).y(function(e){return e.y}).curve($),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let f,h;const x=a.points.length;let b=M.calcLabelPosition(a.points);f=b.x,h=b.y;let u,m,w,k;if(x%2!==0&&x>1){let e=M.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=M.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);y.debug("cardinality_1_point "+JSON.stringify(e)),y.debug("cardinality_2_point "+JSON.stringify(d)),u=e.x,m=e.y,w=d.x,k=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",f).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}y.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",u).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",w).attr("y",k).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},J=function(i,a,t,o){y.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=C(a);const f=c.append("tspan").text(r).attr("class","title");n||f.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,u;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){_(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){u=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){_(d,l,n,t),n=!1})}const m=s.node().getBBox();var w=" ";a.cssClasses.length>0&&(w=w+a.cssClasses.join(" "));const e=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",w).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),u&&u.attr("x2",e),g.width=e,g.height=m.height+t.padding+.5*t.dividerMargin,g},C=function(i){let a=i.id;return i.type&&(a+="<"+I(i.type)+">"),a},Z=function(i,a,t,o){y.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(` +`);n.forEach(function(x){y.debug(`Adding line: ${x}`),c.append("tspan").text(x).attr("class","title").attr("dy",t.textHeight)});const r=s.node().getBBox(),h=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",r.width+2*t.padding).attr("height",r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return c.node().childNodes.forEach(function(x){x.setAttribute("x",(h-x.getBBox().width)/2)}),g.width=h,g.height=r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin,g},_=function(i,a,t,o){const{displayText:p,cssStyle:g}=a.getDisplayDetails(),s=i.append("tspan").attr("x",o.padding).text(p);g!==""&&s.attr("style",a.cssStyle),t||s.attr("dy",o.textHeight)},N={getClassTitleString:C,drawClass:J,drawEdge:Y,drawNote:Z};let T={};const E=20,L=function(i){const a=Object.entries(T).find(t=>t[1].label===i);if(a)return a[0]},R=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},z=function(i,a,t,o){const p=v().class;T={},y.info("Rendering diagram "+i);const g=v().securityLevel;let s;g==="sandbox"&&(s=B("#i"+a));const c=g==="sandbox"?B(s.nodes()[0].contentDocument.body):B("body"),n=c.select(`[id='${a}']`);R(n);const r=new O({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const f=o.db.getClasses(),h=Object.keys(f);for(const e of h){const d=f[e],l=N.drawClass(n,d,p,o);T[l.id]=l,r.setNode(l.id,l),y.info("Org height: "+l.height)}o.db.getRelations().forEach(function(e){y.info("tjoho"+L(e.id1)+L(e.id2)+JSON.stringify(e)),r.setEdge(L(e.id1),L(e.id2),{relation:e},e.title||"DEFAULT")}),o.db.getNotes().forEach(function(e){y.debug(`Adding note: ${JSON.stringify(e)}`);const d=N.drawNote(n,e,p,o);T[d.id]=d,r.setNode(d.id,d),e.class&&e.class in f&&r.setEdge(e.id,L(e.class),{relation:{id1:e.id,id2:e.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),P(r),r.nodes().forEach(function(e){e!==void 0&&r.node(e)!==void 0&&(y.debug("Node "+e+": "+JSON.stringify(r.node(e))),c.select("#"+(o.db.lookUpDomId(e)||e)).attr("transform","translate("+(r.node(e).x-r.node(e).width/2)+","+(r.node(e).y-r.node(e).height/2)+" )"))}),r.edges().forEach(function(e){e!==void 0&&r.edge(e)!==void 0&&(y.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r.edge(e))),N.drawEdge(n,r.edge(e),r.edge(e).relation,p,o))});const u=n.node().getBBox(),m=u.width+E*2,w=u.height+E*2;W(n,w,m,p.useMaxWidth);const k=`${u.x-E} ${u.y-E} ${m} ${w}`;y.debug(`viewBox ${k}`),n.attr("viewBox",k)},F={draw:z},at={parser:A,db:S,renderer:F,styles:G,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,S.clear()}};export{at as diagram}; diff --git a/assets/chunks/classDiagram-v2-a2b738ad.C40Ng1qw.js b/assets/chunks/classDiagram-v2-a2b738ad.C40Ng1qw.js new file mode 100644 index 000000000..f24ce33a2 --- /dev/null +++ b/assets/chunks/classDiagram-v2-a2b738ad.C40Ng1qw.js @@ -0,0 +1,2 @@ +import{p as M,d as _,s as R}from"./styles-b83b31c9.B6djMH8N.js";import{l as d,c,h as w,z as B,u as G,p as D,t as E,o as C,j as A}from"../app.BKabOgys.js";import{G as z}from"./graph.CmmHGxOl.js";import{r as P}from"./index-01f381cb.zbRgJYXZ.js";import"./layout.CbVLFsVb.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./clone.TnmvHrgs.js";import"./edges-066a5561.CPwEKA1n.js";import"./createText-ca0c5216.lHq48BDc.js";import"./line._HMy3R8R.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";const S=s=>A.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const q=function(s,e,y,a){const t=Object.keys(s);d.info("keys:",t),d.info(s),t.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};e.setNode(l.id,p),$(l.classes,e,y,a,l.id),d.info("setNode",p)})},$=function(s,e,y,a,t){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==t).forEach(function(o){var r,l;const n=s[o],p=n.cssClasses.join(" "),f=D(n.styles),m=n.label??n.id,u=0,b={labelStyle:f.labelStyle,shape:"class_box",labelText:S(m),classData:n,rx:u,ry:u,class:p,style:f.style,id:n.id,domId:n.domId,tooltip:a.db.getTooltip(n.id,t)||"",haveCallback:n.haveCallback,link:n.link,width:n.type==="group"?500:void 0,type:n.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};e.setNode(n.id,b),t&&e.setParent(n.id,t),d.info("setNode",b)})},F=function(s,e,y,a){d.info(s),s.forEach(function(t,i){var o,r;const l=t,n="",p={labelStyle:"",style:""},f=l.text,m=0,h={labelStyle:p.labelStyle,shape:"note",labelText:S(f),noteData:l,rx:m,ry:m,class:n,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(e.setNode(l.id,h),d.info("setNode",h),!l.class||!(l.class in a))return;const b=y+i,x={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:E(k.curve,C)};e.setEdge(l.id,l.class,x,b)})},H=function(s,e){const y=c().flowchart;let a=0;s.forEach(function(t){var i;a++;const o={classes:"relation",pattern:t.relation.lineType==1?"dashed":"solid",id:`id_${t.id1}_${t.id2}_${a}`,arrowhead:t.type==="arrow_open"?"none":"normal",startLabelRight:t.relationTitle1==="none"?"":t.relationTitle1,endLabelLeft:t.relationTitle2==="none"?"":t.relationTitle2,arrowTypeStart:N(t.relation.type1),arrowTypeEnd:N(t.relation.type2),style:"fill:none",labelStyle:"",curve:E(y==null?void 0:y.curve,C)};if(d.info(o,t),t.style!==void 0){const r=D(t.style);o.style=r.style,o.labelStyle=r.labelStyle}t.text=t.title,t.text===void 0?t.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label=''+t.text+""):(o.labelType="text",o.label=t.text.replace(A.lineBreakRegex,` +`),t.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),e.setEdge(t.id1,t.id2,o,a)})},V=function(s){k={...k,...s}},W=async function(s,e,y,a){d.info("Drawing class - ",e);const t=c().flowchart??c().class,i=c().securityLevel;d.info("config:",t);const o=(t==null?void 0:t.nodeSpacing)??50,r=(t==null?void 0:t.rankSpacing)??50,l=new z({multigraph:!0,compound:!0}).setGraph({rankdir:a.db.getDirection(),nodesep:o,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=a.db.getNamespaces(),p=a.db.getClasses(),f=a.db.getRelations(),m=a.db.getNotes();d.info(f),q(n,l,e,a),$(p,l,e,a),H(f,l),F(m,l,f.length+1,p);let u;i==="sandbox"&&(u=w("#i"+e));const h=i==="sandbox"?w(u.nodes()[0].contentDocument.body):w("body"),b=h.select(`[id="${e}"]`),x=h.select("#"+e+" g");if(await P(x,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),B.insertTitle(b,"classTitleText",(t==null?void 0:t.titleTopMargin)??5,a.db.getDiagramTitle()),G(l,b,t==null?void 0:t.diagramPadding,t==null?void 0:t.useMaxWidth),!(t!=null&&t.htmlLabels)){const T=i==="sandbox"?u.nodes()[0].contentDocument:document,I=T.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const g of I){const L=g.getBBox(),v=T.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",L.width),v.setAttribute("height",L.height),g.insertBefore(v,g.firstChild)}}};function N(s){let e;switch(s){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}const J={setConf:V,draw:W},nt={parser:M,db:_,renderer:J,styles:R,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,_.clear()}};export{nt as diagram}; diff --git a/assets/chunks/clone.TnmvHrgs.js b/assets/chunks/clone.TnmvHrgs.js new file mode 100644 index 000000000..9ad5d8b39 --- /dev/null +++ b/assets/chunks/clone.TnmvHrgs.js @@ -0,0 +1 @@ +import{a as r}from"./graph.CmmHGxOl.js";var a=4;function n(o){return r(o,a)}export{n as c}; diff --git a/assets/chunks/createText-ca0c5216.lHq48BDc.js b/assets/chunks/createText-ca0c5216.lHq48BDc.js new file mode 100644 index 000000000..d28f48bbb --- /dev/null +++ b/assets/chunks/createText-ca0c5216.lHq48BDc.js @@ -0,0 +1,7 @@ +import{l as At,an as zt,ap as It}from"../app.BKabOgys.js";const Tt={};function Bt(n,r){const t=Tt,e=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,u=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return et(n,e,u)}function et(n,r,t){if(Lt(n)){if("value"in n)return n.type==="html"&&!t?"":n.value;if(r&&"alt"in n&&n.alt)return n.alt;if("children"in n)return Vn(n.children,r,t)}return Array.isArray(n)?Vn(n,r,t):""}function Vn(n,r,t){const e=[];let u=-1;for(;++uu?0:u+r:r=r>u?u:r,t=t>0?t:0,e.length<1e4)l=Array.from(e),l.unshift(r,t),n.splice(...l);else for(t&&n.splice(r,t);i0?(tn(n,n.length,0,r),n):r}const Wn={}.hasOwnProperty;function Ot(n){const r={};let t=-1;for(;++tl))return;const T=r.events.length;let H=T,N,V;for(;H--;)if(r.events[H][0]==="exit"&&r.events[H][1].type==="chunkFlow"){if(N){V=r.events[H][1].end;break}N=!0}for(b(e),k=T;kF;){const _=t[D];r.containerState=_[1],_[0].exit.call(r,n)}t.length=F}function j(){u.write([null]),i=void 0,u=void 0,r.containerState._closeFlow=void 0}}function Ut(n,r,t){return O(n,n.attempt(this.parser.constructs.document,r,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Un(n){if(n===null||Z(n)||Ht(n))return 1;if(qt(n))return 2}function Ln(n,r,t){const e=[];let u=-1;for(;++u1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const f=Object.assign({},n[e][1].end),x=Object.assign({},n[t][1].start);$n(f,-m),$n(x,m),l={type:m>1?"strongSequence":"emphasisSequence",start:f,end:Object.assign({},n[e][1].end)},a={type:m>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[t][1].start),end:x},i={type:m>1?"strongText":"emphasisText",start:Object.assign({},n[e][1].end),end:Object.assign({},n[t][1].start)},u={type:m>1?"strong":"emphasis",start:Object.assign({},l.start),end:Object.assign({},a.end)},n[e][1].end=Object.assign({},l.start),n[t][1].start=Object.assign({},a.end),c=[],n[e][1].end.offset-n[e][1].start.offset&&(c=Y(c,[["enter",n[e][1],r],["exit",n[e][1],r]])),c=Y(c,[["enter",u,r],["enter",l,r],["exit",l,r],["enter",i,r]]),c=Y(c,Ln(r.parser.constructs.insideSpan.null,n.slice(e+1,t),r)),c=Y(c,[["exit",i,r],["enter",a,r],["exit",a,r],["exit",u,r]]),n[t][1].end.offset-n[t][1].start.offset?(p=2,c=Y(c,[["enter",n[t][1],r],["exit",n[t][1],r]])):p=0,tn(n,e-1,t-e+3,c),t=e+c.length-p-2;break}}for(t=-1;++t0&&z(k)?O(n,j,"linePrefix",i+1)(k):j(k)}function j(k){return k===null||C(k)?n.check(Yn,I,D)(k):(n.enter("codeFlowValue"),F(k))}function F(k){return k===null||C(k)?(n.exit("codeFlowValue"),j(k)):(n.consume(k),F)}function D(k){return n.exit("codeFenced"),r(k)}function _(k,T,H){let N=0;return V;function V(w){return k.enter("lineEnding"),k.consume(w),k.exit("lineEnding"),y}function y(w){return k.enter("codeFencedFence"),z(w)?O(k,S,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(w):S(w)}function S(w){return w===a?(k.enter("codeFencedFenceSequence"),P(w)):H(w)}function P(w){return w===a?(N++,k.consume(w),P):N>=l?(k.exit("codeFencedFenceSequence"),z(w)?O(k,R,"whitespace")(w):R(w)):H(w)}function R(w){return w===null||C(w)?(k.exit("codeFencedFence"),T(w)):H(w)}}}function re(n,r,t){const e=this;return u;function u(l){return l===null?t(l):(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}const Cn={name:"codeIndented",tokenize:ue},ie={tokenize:le,partial:!0};function ue(n,r,t){const e=this;return u;function u(c){return n.enter("codeIndented"),O(n,i,"linePrefix",5)(c)}function i(c){const p=e.events[e.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?l(c):t(c)}function l(c){return c===null?m(c):C(c)?n.attempt(ie,l,m)(c):(n.enter("codeFlowValue"),a(c))}function a(c){return c===null||C(c)?(n.exit("codeFlowValue"),l(c)):(n.consume(c),a)}function m(c){return n.exit("codeIndented"),r(c)}}function le(n,r,t){const e=this;return u;function u(l){return e.parser.lazy[e.now().line]?t(l):C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),u):O(n,i,"linePrefix",5)(l)}function i(l){const a=e.events[e.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?r(l):C(l)?u(l):t(l)}}const ae={name:"codeText",tokenize:ce,resolve:oe,previous:se};function oe(n){let r=n.length-4,t=3,e,u;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[r][1].type==="lineEnding"||n[r][1].type==="space")){for(e=t;++e=4?r(l):n.interrupt(e.parser.constructs.flow,t,r)(l)}}function at(n,r,t,e,u,i,l,a,m){const c=m||Number.POSITIVE_INFINITY;let p=0;return f;function f(b){return b===60?(n.enter(e),n.enter(u),n.enter(i),n.consume(b),n.exit(i),x):b===null||b===32||b===41||An(b)?t(b):(n.enter(e),n.enter(l),n.enter(a),n.enter("chunkString",{contentType:"string"}),I(b))}function x(b){return b===62?(n.enter(i),n.consume(b),n.exit(i),n.exit(u),n.exit(e),r):(n.enter(a),n.enter("chunkString",{contentType:"string"}),h(b))}function h(b){return b===62?(n.exit("chunkString"),n.exit(a),x(b)):b===null||b===60||C(b)?t(b):(n.consume(b),b===92?A:h)}function A(b){return b===60||b===62||b===92?(n.consume(b),h):h(b)}function I(b){return!p&&(b===null||b===41||Z(b))?(n.exit("chunkString"),n.exit(a),n.exit(l),n.exit(e),r(b)):p999||h===null||h===91||h===93&&!m||h===94&&!a&&"_hiddenFootnoteSupport"in l.parser.constructs?t(h):h===93?(n.exit(i),n.enter(u),n.consume(h),n.exit(u),n.exit(e),r):C(h)?(n.enter("lineEnding"),n.consume(h),n.exit("lineEnding"),p):(n.enter("chunkString",{contentType:"string"}),f(h))}function f(h){return h===null||h===91||h===93||C(h)||a++>999?(n.exit("chunkString"),p(h)):(n.consume(h),m||(m=!z(h)),h===92?x:f)}function x(h){return h===91||h===92||h===93?(n.consume(h),a++,f):f(h)}}function st(n,r,t,e,u,i){let l;return a;function a(x){return x===34||x===39||x===40?(n.enter(e),n.enter(u),n.consume(x),n.exit(u),l=x===40?41:x,m):t(x)}function m(x){return x===l?(n.enter(u),n.consume(x),n.exit(u),n.exit(e),r):(n.enter(i),c(x))}function c(x){return x===l?(n.exit(i),m(l)):x===null?t(x):C(x)?(n.enter("lineEnding"),n.consume(x),n.exit("lineEnding"),O(n,c,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===l||x===null||C(x)?(n.exit("chunkString"),c(x)):(n.consume(x),x===92?f:p)}function f(x){return x===l||x===92?(n.consume(x),p):p(x)}}function dn(n,r){let t;return e;function e(u){return C(u)?(n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),t=!0,e):z(u)?O(n,e,t?"linePrefix":"lineSuffix")(u):r(u)}}function xn(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ke={name:"definition",tokenize:be},de={tokenize:ye,partial:!0};function be(n,r,t){const e=this;let u;return i;function i(h){return n.enter("definition"),l(h)}function l(h){return ot.call(e,n,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return u=xn(e.sliceSerialize(e.events[e.events.length-1][1]).slice(1,-1)),h===58?(n.enter("definitionMarker"),n.consume(h),n.exit("definitionMarker"),m):t(h)}function m(h){return Z(h)?dn(n,c)(h):c(h)}function c(h){return at(n,p,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function p(h){return n.attempt(de,f,f)(h)}function f(h){return z(h)?O(n,x,"whitespace")(h):x(h)}function x(h){return h===null||C(h)?(n.exit("definition"),e.parser.defined.push(u),r(h)):t(h)}}function ye(n,r,t){return e;function e(a){return Z(a)?dn(n,u)(a):t(a)}function u(a){return st(n,i,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function i(a){return z(a)?O(n,l,"whitespace")(a):l(a)}function l(a){return a===null||C(a)?r(a):t(a)}}const Se={name:"hardBreakEscape",tokenize:Fe};function Fe(n,r,t){return e;function e(i){return n.enter("hardBreakEscape"),n.consume(i),u}function u(i){return C(i)?(n.exit("hardBreakEscape"),r(i)):t(i)}}const Ee={name:"headingAtx",tokenize:we,resolve:Ce};function Ce(n,r){let t=n.length-2,e=3,u,i;return n[e][1].type==="whitespace"&&(e+=2),t-2>e&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(e===t-1||t-4>e&&n[t-2][1].type==="whitespace")&&(t-=e+1===t?2:4),t>e&&(u={type:"atxHeadingText",start:n[e][1].start,end:n[t][1].end},i={type:"chunkText",start:n[e][1].start,end:n[t][1].end,contentType:"text"},tn(n,e,t-e+1,[["enter",u,r],["enter",i,r],["exit",i,r],["exit",u,r]])),n}function we(n,r,t){let e=0;return u;function u(p){return n.enter("atxHeading"),i(p)}function i(p){return n.enter("atxHeadingSequence"),l(p)}function l(p){return p===35&&e++<6?(n.consume(p),l):p===null||Z(p)?(n.exit("atxHeadingSequence"),a(p)):t(p)}function a(p){return p===35?(n.enter("atxHeadingSequence"),m(p)):p===null||C(p)?(n.exit("atxHeading"),r(p)):z(p)?O(n,a,"whitespace")(p):(n.enter("atxHeadingText"),c(p))}function m(p){return p===35?(n.consume(p),m):(n.exit("atxHeadingSequence"),a(p))}function c(p){return p===null||p===35||Z(p)?(n.exit("atxHeadingText"),a(p)):(n.consume(p),c)}}const Ae=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Jn=["pre","script","style","textarea"],ze={name:"htmlFlow",tokenize:Le,resolveTo:Be,concrete:!0},Ie={tokenize:De,partial:!0},Te={tokenize:Oe,partial:!0};function Be(n){let r=n.length;for(;r--&&!(n[r][0]==="enter"&&n[r][1].type==="htmlFlow"););return r>1&&n[r-2][1].type==="linePrefix"&&(n[r][1].start=n[r-2][1].start,n[r+1][1].start=n[r-2][1].start,n.splice(r-2,2)),n}function Le(n,r,t){const e=this;let u,i,l,a,m;return c;function c(s){return p(s)}function p(s){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(s),f}function f(s){return s===33?(n.consume(s),x):s===47?(n.consume(s),i=!0,I):s===63?(n.consume(s),u=3,e.interrupt?r:o):nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function x(s){return s===45?(n.consume(s),u=2,h):s===91?(n.consume(s),u=5,a=0,A):nn(s)?(n.consume(s),u=4,e.interrupt?r:o):t(s)}function h(s){return s===45?(n.consume(s),e.interrupt?r:o):t(s)}function A(s){const K="CDATA[";return s===K.charCodeAt(a++)?(n.consume(s),a===K.length?e.interrupt?r:S:A):t(s)}function I(s){return nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function M(s){if(s===null||s===47||s===62||Z(s)){const K=s===47,hn=l.toLowerCase();return!K&&!i&&Jn.includes(hn)?(u=1,e.interrupt?r(s):S(s)):Ae.includes(l.toLowerCase())?(u=6,K?(n.consume(s),b):e.interrupt?r(s):S(s)):(u=7,e.interrupt&&!e.parser.lazy[e.now().line]?t(s):i?j(s):F(s))}return s===45||v(s)?(n.consume(s),l+=String.fromCharCode(s),M):t(s)}function b(s){return s===62?(n.consume(s),e.interrupt?r:S):t(s)}function j(s){return z(s)?(n.consume(s),j):V(s)}function F(s){return s===47?(n.consume(s),V):s===58||s===95||nn(s)?(n.consume(s),D):z(s)?(n.consume(s),F):V(s)}function D(s){return s===45||s===46||s===58||s===95||v(s)?(n.consume(s),D):_(s)}function _(s){return s===61?(n.consume(s),k):z(s)?(n.consume(s),_):F(s)}function k(s){return s===null||s===60||s===61||s===62||s===96?t(s):s===34||s===39?(n.consume(s),m=s,T):z(s)?(n.consume(s),k):H(s)}function T(s){return s===m?(n.consume(s),m=null,N):s===null||C(s)?t(s):(n.consume(s),T)}function H(s){return s===null||s===34||s===39||s===47||s===60||s===61||s===62||s===96||Z(s)?_(s):(n.consume(s),H)}function N(s){return s===47||s===62||z(s)?F(s):t(s)}function V(s){return s===62?(n.consume(s),y):t(s)}function y(s){return s===null||C(s)?S(s):z(s)?(n.consume(s),y):t(s)}function S(s){return s===45&&u===2?(n.consume(s),U):s===60&&u===1?(n.consume(s),W):s===62&&u===4?(n.consume(s),J):s===63&&u===3?(n.consume(s),o):s===93&&u===5?(n.consume(s),en):C(s)&&(u===6||u===7)?(n.exit("htmlFlowData"),n.check(Ie,rn,P)(s)):s===null||C(s)?(n.exit("htmlFlowData"),P(s)):(n.consume(s),S)}function P(s){return n.check(Te,R,rn)(s)}function R(s){return n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),w}function w(s){return s===null||C(s)?P(s):(n.enter("htmlFlowData"),S(s))}function U(s){return s===45?(n.consume(s),o):S(s)}function W(s){return s===47?(n.consume(s),l="",G):S(s)}function G(s){if(s===62){const K=l.toLowerCase();return Jn.includes(K)?(n.consume(s),J):S(s)}return nn(s)&&l.length<8?(n.consume(s),l+=String.fromCharCode(s),G):S(s)}function en(s){return s===93?(n.consume(s),o):S(s)}function o(s){return s===62?(n.consume(s),J):s===45&&u===2?(n.consume(s),o):S(s)}function J(s){return s===null||C(s)?(n.exit("htmlFlowData"),rn(s)):(n.consume(s),J)}function rn(s){return n.exit("htmlFlow"),r(s)}}function Oe(n,r,t){const e=this;return u;function u(l){return C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i):t(l)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}function De(n,r,t){return e;function e(u){return n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),n.attempt(Sn,r,t)}}const Pe={name:"htmlText",tokenize:_e};function _e(n,r,t){const e=this;let u,i,l;return a;function a(o){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(o),m}function m(o){return o===33?(n.consume(o),c):o===47?(n.consume(o),_):o===63?(n.consume(o),F):nn(o)?(n.consume(o),H):t(o)}function c(o){return o===45?(n.consume(o),p):o===91?(n.consume(o),i=0,A):nn(o)?(n.consume(o),j):t(o)}function p(o){return o===45?(n.consume(o),h):t(o)}function f(o){return o===null?t(o):o===45?(n.consume(o),x):C(o)?(l=f,W(o)):(n.consume(o),f)}function x(o){return o===45?(n.consume(o),h):f(o)}function h(o){return o===62?U(o):o===45?x(o):f(o)}function A(o){const J="CDATA[";return o===J.charCodeAt(i++)?(n.consume(o),i===J.length?I:A):t(o)}function I(o){return o===null?t(o):o===93?(n.consume(o),M):C(o)?(l=I,W(o)):(n.consume(o),I)}function M(o){return o===93?(n.consume(o),b):I(o)}function b(o){return o===62?U(o):o===93?(n.consume(o),b):I(o)}function j(o){return o===null||o===62?U(o):C(o)?(l=j,W(o)):(n.consume(o),j)}function F(o){return o===null?t(o):o===63?(n.consume(o),D):C(o)?(l=F,W(o)):(n.consume(o),F)}function D(o){return o===62?U(o):F(o)}function _(o){return nn(o)?(n.consume(o),k):t(o)}function k(o){return o===45||v(o)?(n.consume(o),k):T(o)}function T(o){return C(o)?(l=T,W(o)):z(o)?(n.consume(o),T):U(o)}function H(o){return o===45||v(o)?(n.consume(o),H):o===47||o===62||Z(o)?N(o):t(o)}function N(o){return o===47?(n.consume(o),U):o===58||o===95||nn(o)?(n.consume(o),V):C(o)?(l=N,W(o)):z(o)?(n.consume(o),N):U(o)}function V(o){return o===45||o===46||o===58||o===95||v(o)?(n.consume(o),V):y(o)}function y(o){return o===61?(n.consume(o),S):C(o)?(l=y,W(o)):z(o)?(n.consume(o),y):N(o)}function S(o){return o===null||o===60||o===61||o===62||o===96?t(o):o===34||o===39?(n.consume(o),u=o,P):C(o)?(l=S,W(o)):z(o)?(n.consume(o),S):(n.consume(o),R)}function P(o){return o===u?(n.consume(o),u=void 0,w):o===null?t(o):C(o)?(l=P,W(o)):(n.consume(o),P)}function R(o){return o===null||o===34||o===39||o===60||o===61||o===96?t(o):o===47||o===62||Z(o)?N(o):(n.consume(o),R)}function w(o){return o===47||o===62||Z(o)?N(o):t(o)}function U(o){return o===62?(n.consume(o),n.exit("htmlTextData"),n.exit("htmlText"),r):t(o)}function W(o){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(o),n.exit("lineEnding"),G}function G(o){return z(o)?O(n,en,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):en(o)}function en(o){return n.enter("htmlTextData"),l(o)}}const Dn={name:"labelEnd",tokenize:Ne,resolveTo:He,resolveAll:qe},Me={tokenize:Ve},je={tokenize:We},Re={tokenize:Qe};function qe(n){let r=-1;for(;++r=3&&(c===null||C(c))?(n.exit("thematicBreak"),r(c)):t(c)}function m(c){return c===u?(n.consume(c),e++,m):(n.exit("thematicBreakSequence"),z(c)?O(n,a,"whitespace")(c):a(c))}}const $={name:"list",tokenize:ve,continuation:{tokenize:nr},exit:er},Ke={tokenize:rr,partial:!0},Xe={tokenize:tr,partial:!0};function ve(n,r,t){const e=this,u=e.events[e.events.length-1];let i=u&&u[1].type==="linePrefix"?u[2].sliceSerialize(u[1],!0).length:0,l=0;return a;function a(h){const A=e.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(A==="listUnordered"?!e.containerState.marker||h===e.containerState.marker:zn(h)){if(e.containerState.type||(e.containerState.type=A,n.enter(A,{_container:!0})),A==="listUnordered")return n.enter("listItemPrefix"),h===42||h===45?n.check(bn,t,c)(h):c(h);if(!e.interrupt||h===49)return n.enter("listItemPrefix"),n.enter("listItemValue"),m(h)}return t(h)}function m(h){return zn(h)&&++l<10?(n.consume(h),m):(!e.interrupt||l<2)&&(e.containerState.marker?h===e.containerState.marker:h===41||h===46)?(n.exit("listItemValue"),c(h)):t(h)}function c(h){return n.enter("listItemMarker"),n.consume(h),n.exit("listItemMarker"),e.containerState.marker=e.containerState.marker||h,n.check(Sn,e.interrupt?t:p,n.attempt(Ke,x,f))}function p(h){return e.containerState.initialBlankLine=!0,i++,x(h)}function f(h){return z(h)?(n.enter("listItemPrefixWhitespace"),n.consume(h),n.exit("listItemPrefixWhitespace"),x):t(h)}function x(h){return e.containerState.size=i+e.sliceSerialize(n.exit("listItemPrefix"),!0).length,r(h)}}function nr(n,r,t){const e=this;return e.containerState._closeFlow=void 0,n.check(Sn,u,i);function u(a){return e.containerState.furtherBlankLines=e.containerState.furtherBlankLines||e.containerState.initialBlankLine,O(n,r,"listItemIndent",e.containerState.size+1)(a)}function i(a){return e.containerState.furtherBlankLines||!z(a)?(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,l(a)):(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,n.attempt(Xe,r,l)(a))}function l(a){return e.containerState._closeFlow=!0,e.interrupt=void 0,O(n,n.attempt($,r,t),"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function tr(n,r,t){const e=this;return O(n,u,"listItemIndent",e.containerState.size+1);function u(i){const l=e.events[e.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===e.containerState.size?r(i):t(i)}}function er(n){n.exit(this.containerState.type)}function rr(n,r,t){const e=this;return O(n,u,"listItemPrefixWhitespace",e.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function u(i){const l=e.events[e.events.length-1];return!z(i)&&l&&l[1].type==="listItemPrefixWhitespace"?r(i):t(i)}}const Kn={name:"setextUnderline",tokenize:ur,resolveTo:ir};function ir(n,r){let t=n.length,e,u,i;for(;t--;)if(n[t][0]==="enter"){if(n[t][1].type==="content"){e=t;break}n[t][1].type==="paragraph"&&(u=t)}else n[t][1].type==="content"&&n.splice(t,1),!i&&n[t][1].type==="definition"&&(i=t);const l={type:"setextHeading",start:Object.assign({},n[u][1].start),end:Object.assign({},n[n.length-1][1].end)};return n[u][1].type="setextHeadingText",i?(n.splice(u,0,["enter",l,r]),n.splice(i+1,0,["exit",n[e][1],r]),n[e][1].end=Object.assign({},n[i][1].end)):n[e][1]=l,n.push(["exit",l,r]),n}function ur(n,r,t){const e=this;let u;return i;function i(c){let p=e.events.length,f;for(;p--;)if(e.events[p][1].type!=="lineEnding"&&e.events[p][1].type!=="linePrefix"&&e.events[p][1].type!=="content"){f=e.events[p][1].type==="paragraph";break}return!e.parser.lazy[e.now().line]&&(e.interrupt||f)?(n.enter("setextHeadingLine"),u=c,l(c)):t(c)}function l(c){return n.enter("setextHeadingLineSequence"),a(c)}function a(c){return c===u?(n.consume(c),a):(n.exit("setextHeadingLineSequence"),z(c)?O(n,m,"lineSuffix")(c):m(c))}function m(c){return c===null||C(c)?(n.exit("setextHeadingLine"),r(c)):t(c)}}const lr={tokenize:ar};function ar(n){const r=this,t=n.attempt(Sn,e,n.attempt(this.parser.constructs.flowInitial,u,O(n,n.attempt(this.parser.constructs.flow,u,n.attempt(pe,u)),"linePrefix")));return t;function e(i){if(i===null){n.consume(i);return}return n.enter("lineEndingBlank"),n.consume(i),n.exit("lineEndingBlank"),r.currentConstruct=void 0,t}function u(i){if(i===null){n.consume(i);return}return n.enter("lineEnding"),n.consume(i),n.exit("lineEnding"),r.currentConstruct=void 0,t}}const or={resolveAll:ht()},sr=ct("string"),cr=ct("text");function ct(n){return{tokenize:r,resolveAll:ht(n==="text"?hr:void 0)};function r(t){const e=this,u=this.parser.constructs[n],i=t.attempt(u,l,a);return l;function l(p){return c(p)?i(p):a(p)}function a(p){if(p===null){t.consume(p);return}return t.enter("data"),t.consume(p),m}function m(p){return c(p)?(t.exit("data"),i(p)):(t.consume(p),m)}function c(p){if(p===null)return!0;const f=u[p];let x=-1;if(f)for(;++x-1){const a=l[0];typeof a=="string"?l[0]=a.slice(e):l.shift()}i>0&&l.push(n[u].slice(0,i))}return l}function mr(n,r){let t=-1;const e=[];let u;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCharCode(t)}const Ir=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Tr(n){return n.replace(Ir,Br)}function Br(n,r,t){if(r)return r;if(t.charCodeAt(0)===35){const u=t.charCodeAt(1),i=u===120||u===88;return pt(t.slice(i?2:1),i?16:10)}return On(t)||n}function yn(n){return!n||typeof n!="object"?"":"position"in n||"type"in n?vn(n.position):"start"in n||"end"in n?vn(n):"line"in n||"column"in n?Tn(n):""}function Tn(n){return nt(n&&n.line)+":"+nt(n&&n.column)}function vn(n){return Tn(n&&n.start)+"-"+Tn(n&&n.end)}function nt(n){return n&&typeof n=="number"?n:1}const ft={}.hasOwnProperty,mt=function(n,r,t){return typeof r!="string"&&(t=r,r=void 0),Lr(t)(zr(wr(t).document().write(Ar()(n,r,!0))))};function Lr(n){const r={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(Hn),autolinkProtocol:y,autolinkEmail:y,atxHeading:a(jn),blockQuote:a(Fn),characterEscape:y,characterReference:y,codeFenced:a(Mn),codeFencedFenceInfo:m,codeFencedFenceMeta:m,codeIndented:a(Mn,m),codeText:a(kt,m),codeTextData:y,data:y,codeFlowValue:y,definition:a(dt),definitionDestinationString:m,definitionLabelString:m,definitionTitleString:m,emphasis:a(bt),hardBreakEscape:a(Rn),hardBreakTrailing:a(Rn),htmlFlow:a(qn,m),htmlFlowData:y,htmlText:a(qn,m),htmlTextData:y,image:a(yt),label:m,link:a(Hn),listItem:a(St),listItemValue:A,listOrdered:a(Nn,h),listUnordered:a(Nn),paragraph:a(Ft),reference:hn,referenceString:m,resourceDestinationString:m,resourceTitleString:m,setextHeading:a(jn),strong:a(Et),thematicBreak:a(wt)},exit:{atxHeading:p(),atxHeadingSequence:T,autolink:p(),autolinkEmail:mn,autolinkProtocol:fn,blockQuote:p(),characterEscapeValue:S,characterReferenceMarkerHexadecimal:pn,characterReferenceMarkerNumeric:pn,characterReferenceValue:an,codeFenced:p(j),codeFencedFence:b,codeFencedFenceInfo:I,codeFencedFenceMeta:M,codeFlowValue:S,codeIndented:p(F),codeText:p(W),codeTextData:S,data:S,definition:p(),definitionDestinationString:k,definitionLabelString:D,definitionTitleString:_,emphasis:p(),hardBreakEscape:p(R),hardBreakTrailing:p(R),htmlFlow:p(w),htmlFlowData:S,htmlText:p(U),htmlTextData:S,image:p(en),label:J,labelText:o,lineEnding:P,link:p(G),listItem:p(),listOrdered:p(),listUnordered:p(),paragraph:p(),referenceString:Q,resourceDestinationString:rn,resourceTitleString:s,resource:K,setextHeading:p(V),setextHeadingLineSequence:N,setextHeadingText:H,strong:p(),thematicBreak:p()}};xt(r,(n||{}).mdastExtensions||[]);const t={};return e;function e(g){let d={type:"root",children:[]};const E={stack:[d],tokenStack:[],config:r,enter:c,exit:f,buffer:m,resume:x,setData:i,getData:l},B=[];let L=-1;for(;++L0){const X=E.tokenStack[E.tokenStack.length-1];(X[1]||tt).call(E,void 0,X[0])}for(d.position={start:sn(g.length>0?g[0][1].start:{line:1,column:1,offset:0}),end:sn(g.length>0?g[g.length-2][1].end:{line:1,column:1,offset:0})},L=-1;++L{p!==0&&(u++,e.push([])),c.split(" ").forEach(f=>{f&&e[u].push({content:f,type:a})})}):(l.type==="strong"||l.type==="emphasis")&&l.children.forEach(m=>{i(m,l.type)})}return t.forEach(l=>{l.type==="paragraph"&&l.children.forEach(a=>{i(a)})}),e}function _r(n){const{children:r}=mt(n);function t(e){return e.type==="text"?e.value.replace(/\n/g,"
"):e.type==="strong"?`${e.children.map(t).join("")}`:e.type==="emphasis"?`${e.children.map(t).join("")}`:e.type==="paragraph"?`

${e.children.map(t).join("")}

`:`Unsupported markdown: ${e.type}`}return r.map(t).join("")}function Mr(n){return Intl.Segmenter?[...new Intl.Segmenter().segment(n)].map(r=>r.segment):[...n]}function jr(n,r){const t=Mr(r.content);return gt(n,[],t,r.type)}function gt(n,r,t,e){if(t.length===0)return[{content:r.join(""),type:e},{content:"",type:e}];const[u,...i]=t,l=[...r,u];return n([{content:l.join(""),type:e}])?gt(n,l,i,e):(r.length===0&&u&&(r.push(u),t.shift()),[{content:r.join(""),type:e},{content:t.join(""),type:e}])}function Rr(n,r){if(n.some(({content:t})=>t.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return Bn(n,r)}function Bn(n,r,t=[],e=[]){if(n.length===0)return e.length>0&&t.push(e),t.length>0?t:[];let u="";n[0].content===" "&&(u=" ",n.shift());const i=n.shift()??{content:" ",type:"normal"},l=[...e];if(u!==""&&l.push({content:u,type:"normal"}),l.push(i),r(l))return Bn(n,r,t,l);if(e.length>0)t.push(e),n.unshift(i);else if(i.content){const[a,m]=jr(r,i);t.push([a]),m.content&&n.unshift(m)}return Bn(n,r,t)}function qr(n,r){r&&n.attr("style",r)}function Hr(n,r,t,e,u=!1){const i=n.append("foreignObject"),l=i.append("xhtml:div"),a=r.label,m=r.isNode?"nodeLabel":"edgeLabel";l.html(` + "+a+""),qr(l,r.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("max-width",t+"px"),l.attr("xmlns","http://www.w3.org/1999/xhtml"),u&&l.attr("class","labelBkg");let c=l.node().getBoundingClientRect();return c.width===t&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",t+"px"),c=l.node().getBoundingClientRect()),i.style("width",c.width),i.style("height",c.height),i.node()}function Pn(n,r,t){return n.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",r*t-.1+"em").attr("dy",t+"em")}function Nr(n,r,t){const e=n.append("text"),u=Pn(e,1,r);_n(u,t);const i=u.node().getComputedTextLength();return e.remove(),i}function Qr(n,r,t){var e;const u=n.append("text"),i=Pn(u,1,r);_n(i,[{content:t,type:"normal"}]);const l=(e=i.node())==null?void 0:e.getBoundingClientRect();return l&&u.remove(),l}function Vr(n,r,t,e=!1){const i=r.append("g"),l=i.insert("rect").attr("class","background"),a=i.append("text").attr("y","-10.1");let m=0;for(const c of t){const p=x=>Nr(i,1.1,x)<=n,f=p(c)?[c]:Rr(c,p);for(const x of f){const h=Pn(a,m,1.1);_n(h,x),m++}}if(e){const c=a.node().getBBox(),p=2;return l.attr("x",-p).attr("y",-p).attr("width",c.width+2*p).attr("height",c.height+2*p),i.node()}else return a.node()}function _n(n,r){n.text(""),r.forEach((t,e)=>{const u=n.append("tspan").attr("font-style",t.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",t.type==="strong"?"bold":"normal");e===0?u.text(t.content):u.text(" "+t.content)})}const Ur=(n,r="",{style:t="",isTitle:e=!1,classes:u="",useHtmlLabels:i=!0,isNode:l=!0,width:a=200,addSvgBackground:m=!1}={})=>{if(At.info("createText",r,t,e,u,i,l,m),i){const c=_r(r),p={isNode:l,label:zt(c).replace(/fa[blrs]?:fa-[\w-]+/g,x=>``),labelStyle:t.replace("fill:","color:")};return Hr(n,p,a,u,m)}else{const c=Pr(r);return Vr(a,n,c,m)}};export{Qr as a,Ur as c}; diff --git a/assets/chunks/edges-066a5561.CPwEKA1n.js b/assets/chunks/edges-066a5561.CPwEKA1n.js new file mode 100644 index 000000000..5a8229b74 --- /dev/null +++ b/assets/chunks/edges-066a5561.CPwEKA1n.js @@ -0,0 +1,4 @@ +import{q as H,c as b,d as V,an as q,h as E,l as g,z as j,ao as lt}from"../app.BKabOgys.js";import{c as st}from"./createText-ca0c5216.lHq48BDc.js";import{l as ct}from"./line._HMy3R8R.js";const ht=(e,t,a,i)=>{t.forEach(l=>{wt[l](e,a,i)})},ot=(e,t,a)=>{g.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},yt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},pt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ft=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},xt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},dt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},gt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ut=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},bt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},wt={extension:ot,composition:yt,aggregation:pt,dependency:ft,lollipop:xt,point:dt,circle:gt,cross:ut,barb:bt},hr=ht;function mt(e,t){t&&e.attr("style",t)}function kt(e){const t=E(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),i=e.label,l=e.isNode?"nodeLabel":"edgeLabel";return a.html('"+i+""),mt(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const vt=(e,t,a,i)=>{let l=e||"";if(typeof l=="object"&&(l=l[0]),H(b().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"
"),g.debug("vertexText"+l);const r={isNode:i,label:q(l).replace(/fa[blrs]?:fa-[\w-]+/g,n=>``),labelStyle:t.replace("fill:","color:")};return kt(r)}else{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof l=="string"?s=l.split(/\\n|\n|/gi):Array.isArray(l)?s=l:s=[];for(const n of s){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),r.appendChild(c)}return r}},R=vt,M=async(e,t,a,i)=>{let l;const r=t.useHtmlLabels||H(b().flowchart.htmlLabels);a?l=a:l="node default";const s=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=n.node();let h;t.labelType==="markdown"?h=st(n,V(q(c),b()),{useHtmlLabels:r,width:t.width||b().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(R(V(q(c),b()),t.labelStyle,!1,i));let y=h.getBBox();const f=t.padding/2;if(H(b().flowchart.htmlLabels)){const p=h.children[0],d=E(h),k=p.getElementsByTagName("img");if(k){const x=c.replace(/]*>/g,"").trim()==="";await Promise.all([...k].map(u=>new Promise(S=>{function B(){if(u.style.display="flex",u.style.flexDirection="column",x){const C=b().fontSize?b().fontSize:window.getComputedStyle(document.body).fontSize,D=parseInt(C,10)*5+"px";u.style.minWidth=D,u.style.maxWidth=D}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&B()}),u.addEventListener("error",B),u.addEventListener("load",B)})))}y=p.getBoundingClientRect(),d.attr("width",y.width),d.attr("height",y.height)}return r?n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):n.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:y,halfPadding:f,label:n}},m=(e,t)=>{const a=t.node().getBBox();e.width=a.width,e.height=a.height};function I(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}function Lt(e,t){return e.intersect(t)}function it(e,t,a,i){var l=e.x,r=e.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+a*a*s*s),o=Math.abs(t*a*s/c);i.x0}function Tt(e,t,a){var i=e.x,l=e.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){s=Math.min(s,d.x),n=Math.min(n,d.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-e.width/2-s,o=l-e.height/2-n,h=0;h1&&r.sort(function(d,k){var x=d.x-a.x,u=d.y-a.y,S=Math.sqrt(x*x+u*u),B=k.x-a.x,C=k.y-a.y,X=Math.sqrt(B*B+C*C);return S{var a=e.x,i=e.y,l=t.x-a,r=t.y-i,s=e.width/2,n=e.height/2,c,o;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,o=n):(l<0&&(s=-s),c=s,o=l===0?0:s*r/l),{x:a+c,y:i+o}},Et=Bt,w={node:Lt,circle:St,ellipse:it,polygon:Tt,rect:Et},Ct=async(e,t)=>{t.useHtmlLabels||b().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:i,bbox:l,halfPadding:r}=await M(e,t,"node "+t.classes,!0);g.info("Classes = ",t.classes);const s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),m(t,s),t.intersect=function(n){return w.rect(t,n)},i},$t=Ct,_t=e=>{const t=new Set;for(const a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},Rt=(e,t,a)=>{const i=_t(e),l=2,r=t.height+2*a.padding,s=r/l,n=t.width+2*s+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},K=e=>e?" "+e:"",_=(e,t)=>`node default${K(e.classes)} ${K(e.class)}`,P=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];g.info("Question main (Circle)");const c=I(a,s,s,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return g.warn("Intersect called"),w.polygon(t,n,o)},a},Ht=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return w.circle(t,14,s)},a},It=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Nt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Rt(t.directions,i,t),o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Ot=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return I(a,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return w.polygon(t,s,c)},a},Wt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Xt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Yt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Dt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},At=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},jt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,o=a.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return m(t,o),t.intersect=function(h){const y=w.rect(t,h),f=y.x-t.x;if(r!=0&&(Math.abs(f)t.height/2-s)){let p=s*s*(1-f*f/(r*r));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-t.y>0&&(p=-p),y.y+=p}return y},a},Ut=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Q(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},zt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Q(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},Zt=async(e,t)=>{const{shapeSvg:a}=await M(e,t,"label",!0);g.trace("Classes = ",t.class);const i=a.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),a.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(Q(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{g.warn(`Unknown node property ${n}`)})}return m(t,i),t.intersect=function(s){return w.rect(t,s)},a};function Q(e,t,a,i){const l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(g.debug("add top border"),r(a)):s(a),t.includes("r")?(g.debug("add right border"),r(i)):s(i),t.includes("b")?(g.debug("add bottom border"),r(a)):s(a),t.includes("l")?(g.debug("add left border"),r(i)):s(i),e.attr("stroke-dasharray",l.join(" "))}const Gt=(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,g.info("Label text abc79",c,n,typeof n=="object");const o=s.node().appendChild(R(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(H(b().flowchart.htmlLabels)){const k=o.children[0],x=E(o);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}g.info("Text 2",n);const y=n.slice(1,n.length);let f=o.getBBox();const p=s.node().appendChild(R(y.join?y.join("
"):y,t.labelStyle,!0,!0));if(H(b().flowchart.htmlLabels)){const k=p.children[0],x=E(p);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}const d=t.padding/2;return E(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+d+5)+")"),E(o).attr("transform","translate( "+(h.width{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=a.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return m(t,s),t.intersect=function(n){return w.rect(t,n)},a},qt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("Circle main"),m(t,r),t.intersect=function(s){return g.info("Circle intersect",t,i.width/2+l,s),w.circle(t,i.width/2+l,s)},a},Qt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t),!0),r=5,s=a.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return g.info("DoubleCircle intersect",t,i.width/2+l+r,o),w.circle(t,i.width/2+l+r,o)},a},Vt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Jt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,i),t.intersect=function(l){return w.circle(t,7,l)},a},tt=(e,t,a)=>{const i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let l=70,r=10;a==="LR"&&(l=10,r=70);const s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return m(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return w.rect(t,n)},i},Kt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,l),t.intersect=function(r){return w.circle(t,7,r)},a},Pt=(e,t)=>{const a=t.padding/2,i=4,l=8;let r;t.classes?r="node "+t.classes:r="node default";const s=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),o=s.insert("line");let h=0,y=i;const f=s.insert("g").attr("class","label");let p=0;const d=t.classData.annotations&&t.classData.annotations[0],k=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",x=f.node().appendChild(R(k,t.labelStyle,!0,!0));let u=x.getBBox();if(H(b().flowchart.htmlLabels)){const v=x.children[0],L=E(x);u=v.getBoundingClientRect(),L.attr("width",u.width),L.attr("height",u.height)}t.classData.annotations[0]&&(y+=u.height+i,h+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(b().flowchart.htmlLabels?S+="<"+t.classData.type+">":S+="<"+t.classData.type+">");const B=f.node().appendChild(R(S,t.labelStyle,!0,!0));E(B).attr("class","classTitle");let C=B.getBBox();if(H(b().flowchart.htmlLabels)){const v=B.children[0],L=E(B);C=v.getBoundingClientRect(),L.attr("width",C.width),L.attr("height",C.height)}y+=C.height+i,C.width>h&&(h=C.width);const X=[];t.classData.members.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(//g,">"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],A=E(N);$=F.getBoundingClientRect(),A.attr("width",$.width),A.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,X.push(N)}),y+=l;const D=[];if(t.classData.methods.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(//g,">"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],A=E(N);$=F.getBoundingClientRect(),A.attr("width",$.width),A.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,D.push(N)}),y+=l,d){let v=(h-u.width)/2;E(x).attr("transform","translate( "+(-1*h/2+v)+", "+-1*y/2+")"),p=u.height+i}let nt=(h-C.width)/2;return E(B).attr("transform","translate( "+(-1*h/2+nt)+", "+(-1*y/2+p)+")"),p+=C.height+i,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,X.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p+l/2)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),p+=l,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,D.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(y/2)-a).attr("width",h+t.padding).attr("height",y+t.padding),m(t,n),t.intersect=function(v){return w.rect(t,v)},s},rt={rhombus:P,composite:zt,question:P,rect:Ut,labelRect:Zt,rectWithTitle:Gt,choice:Ht,circle:qt,doublecircle:Qt,stadium:Ft,hexagon:It,block_arrow:Nt,rect_left_inv_arrow:Ot,lean_right:Wt,lean_left:Xt,trapezoid:Yt,inv_trapezoid:Dt,rect_right_inv_arrow:At,cylinder:jt,start:Jt,end:Kt,note:$t,subroutine:Vt,fork:tt,join:tt,class_box:Pt};let Y={};const or=async(e,t,a)=>{let i,l;if(t.link){let r;b().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await rt[t.shape](i,t,a)}else l=await rt[t.shape](e,t,a),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),Y[t.id]=i,t.haveCallback&&Y[t.id].attr("class",Y[t.id].attr("class")+" clickable"),i},yr=(e,t)=>{Y[t.id]=e},pr=()=>{Y={}},fr=e=>{const t=Y[e.id];g.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},tr=({flowchart:e})=>{var t,a;const i=((t=e==null?void 0:e.subGraphTitleMargin)==null?void 0:t.top)??0,l=((a=e==null?void 0:e.subGraphTitleMargin)==null?void 0:a.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},O={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function U(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=Z(e),t=Z(t);const[a,i]=[e.x,e.y],[l,r]=[t.x,t.y],s=l-a,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}const Z=e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,rr=e=>({x:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaX:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaX:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return Z(t).x+l},y:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaY:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaY:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return Z(t).y+l}}),ar=(e,t,a,i,l)=>{t.arrowTypeStart&&at(e,"start",t.arrowTypeStart,a,i,l),t.arrowTypeEnd&&at(e,"end",t.arrowTypeEnd,a,i,l)},er={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},at=(e,t,a,i,l,r)=>{const s=er[a];if(!s){g.warn(`Unknown arrow type: ${a}`);return}const n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)};let G={},T={};const xr=()=>{G={},T={}},dr=(e,t)=>{const a=H(b().flowchart.htmlLabels),i=t.labelType==="markdown"?st(e,t.label,{style:t.labelStyle,useHtmlLabels:a,addSvgBackground:!0}):R(t.label,t.labelStyle),l=e.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(a){const c=i.children[0],o=E(i);s=c.getBoundingClientRect(),o.attr("width",s.width),o.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),G[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){const c=R(t.startLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startLeft=o,z(n,t.startLabelLeft)}if(t.startLabelRight){const c=R(t.startLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startRight=o,z(n,t.startLabelRight)}if(t.endLabelLeft){const c=R(t.endLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endLeft=o,z(n,t.endLabelLeft)}if(t.endLabelRight){const c=R(t.endLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endRight=o,z(n,t.endLabelRight)}return i};function z(e,t){b().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}const gr=(e,t)=>{g.debug("Moving label abc88 ",e.id,e.label,G[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const i=b(),{subGraphTitleTotalMargin:l}=tr(i);if(e.label){const r=G[e.id];let s=e.x,n=e.y;if(a){const c=j.calcLabelPosition(a);g.debug("Moving label "+e.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(e.startLabelLeft){const r=T[e.id].startLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.startLabelRight){const r=T[e.id].startRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelLeft){const r=T[e.id].endLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelRight){const r=T[e.id].endRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},sr=(e,t)=>{const a=e.x,i=e.y,l=Math.abs(t.x-a),r=Math.abs(t.y-i),s=e.width/2,n=e.height/2;return l>=s||r>=n},ir=(e,t,a)=>{g.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(t)} + insidePoint : ${JSON.stringify(a)} + node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const i=e.x,l=e.y,r=Math.abs(i-a.x),s=e.width/2;let n=a.xMath.abs(i-t.x)*c){let y=a.y{g.debug("abc88 cutPathAtIntersect",e,t);let a=[],i=e[0],l=!1;return e.forEach(r=>{if(!sr(t,r)&&!l){const s=ir(t,i,r);let n=!1;a.forEach(c=>{n=n||c.x===s.x&&c.y===s.y}),a.some(c=>c.x===s.x&&c.y===s.y)||a.push(s),l=!0}else i=r,l||a.push(r)}),a},ur=function(e,t,a,i,l,r,s){let n=a.points;g.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1;const o=r.node(t.v);var h=r.node(t.w);h!=null&&h.intersect&&(o!=null&&o.intersect)&&(n=n.slice(1,a.points.length-1),n.unshift(o.intersect(n[0])),n.push(h.intersect(n[n.length-1]))),a.toCluster&&(g.debug("to cluster abc88",i[a.toCluster]),n=et(a.points,i[a.toCluster].node),c=!0),a.fromCluster&&(g.debug("from cluster abc88",i[a.fromCluster]),n=et(n.reverse(),i[a.fromCluster].node).reverse(),c=!0);const y=n.filter(C=>!Number.isNaN(C.y));let f=lt;a.curve&&(l==="graph"||l==="flowchart")&&(f=a.curve);const{x:p,y:d}=rr(a),k=ct().x(p).y(d).curve(f);let x;switch(a.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-thick";break;default:x=""}switch(a.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break}const u=e.append("path").attr("d",k(y)).attr("id",a.id).attr("class"," "+x+(a.classes?" "+a.classes:"")).attr("style",a.style);let S="";(b().flowchart.arrowMarkerAbsolute||b().state.arrowMarkerAbsolute)&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),ar(u,a,S,s,l);let B={};return c&&(B.updatedPath=n),B.originalPath=a.points,B};export{or as a,dr as b,ur as c,gr as d,pr as e,xr as f,tr as g,R as h,hr as i,Et as j,rr as k,M as l,ar as m,fr as p,yr as s,m as u}; diff --git a/assets/chunks/erDiagram-09d1c15f.DRVauXa-.js b/assets/chunks/erDiagram-09d1c15f.DRVauXa-.js new file mode 100644 index 000000000..0c87b215c --- /dev/null +++ b/assets/chunks/erDiagram-09d1c15f.DRVauXa-.js @@ -0,0 +1,51 @@ +import{c as Z,s as Et,g as mt,b as gt,a as kt,x as xt,y as Rt,l as V,A as Ot,h as rt,z as bt,i as Nt,ao as Tt,ar as At}from"../app.BKabOgys.js";import{G as Mt}from"./graph.CmmHGxOl.js";import{l as St}from"./layout.CbVLFsVb.js";import{l as wt}from"./line._HMy3R8R.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";const It=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Dt(t){return typeof t=="string"&&It.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function vt(t,e=0){return A[t[e+0]]+A[t[e+1]]+A[t[e+2]]+A[t[e+3]]+"-"+A[t[e+4]]+A[t[e+5]]+"-"+A[t[e+6]]+A[t[e+7]]+"-"+A[t[e+8]]+A[t[e+9]]+"-"+A[t[e+10]]+A[t[e+11]]+A[t[e+12]]+A[t[e+13]]+A[t[e+14]]+A[t[e+15]]}function Lt(t){if(!Dt(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}function Bt(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>32-e}function Ft(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;x=g,g=m,m=it(_,30)>>>0,_=h,h=I}r[0]=r[0]+h>>>0,r[1]=r[1]+_>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+g>>>0,r[4]=r[4]+x>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}const Wt=Yt("v5",80,Ft);var at=function(){var t=function(S,a,n,c){for(n=n||{},c=S.length;c--;n[S[c]]=a);return n},e=[6,8,10,20,22,24,26,27,28],r=[1,10],u=[1,11],l=[1,12],p=[1,13],f=[1,14],o=[1,15],h=[1,21],_=[1,22],m=[1,23],g=[1,24],x=[1,25],y=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],N=[1,34],I=[27,28,46,47],F=[41,42,43,44,45],W=[17,34],C=[1,54],T=[1,53],M=[17,34,36,38],R={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(a,n,c,d,E,i,K){var s=i.length-1;switch(E){case 1:break;case 2:this.$=[];break;case 3:i[s-1].push(i[s]),this.$=i[s-1];break;case 4:case 5:this.$=i[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(i[s-4]),d.addEntity(i[s-2]),d.addRelationship(i[s-4],i[s],i[s-2],i[s-3]);break;case 9:d.addEntity(i[s-3]),d.addAttributes(i[s-3],i[s-1]);break;case 10:d.addEntity(i[s-2]);break;case 11:d.addEntity(i[s]);break;case 12:d.addEntity(i[s-6],i[s-4]),d.addAttributes(i[s-6],i[s-1]);break;case 13:d.addEntity(i[s-5],i[s-3]);break;case 14:d.addEntity(i[s-3],i[s-1]);break;case 15:case 16:this.$=i[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=i[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=i[s];break;case 20:case 41:case 42:this.$=i[s].replace(/"/g,"");break;case 21:case 29:this.$=[i[s]];break;case 22:i[s].push(i[s-1]),this.$=i[s];break;case 23:this.$={attributeType:i[s-1],attributeName:i[s]};break;case 24:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeKeyTypeList:i[s]};break;case 25:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeComment:i[s]};break;case 26:this.$={attributeType:i[s-3],attributeName:i[s-2],attributeKeyTypeList:i[s-1],attributeComment:i[s]};break;case 27:case 28:case 31:this.$=i[s];break;case 30:i[s-2].push(i[s]),this.$=i[s-2];break;case 32:this.$=i[s].replace(/"/g,"");break;case 33:this.$={cardA:i[s],relType:i[s-1],cardB:i[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:_,43:m,44:g,45:x}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(y,[2,19]),t(y,[2,20]),t(e,[2,4]),{11:29,27:f,28:o},{16:30,17:[1,31],29:32,30:33,34:N},{11:35,27:f,28:o},{40:36,46:[1,37],47:[1,38]},t(I,[2,34]),t(I,[2,35]),t(I,[2,36]),t(I,[2,37]),t(I,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:N},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:_,43:m,44:g,45:x},t(F,[2,39]),t(F,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(W,[2,23],{32:50,33:51,35:52,37:C,38:T}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(W,[2,24],{33:56,36:[1,57],38:T}),t(W,[2,25]),t(M,[2,29]),t(W,[2,32]),t(M,[2,31]),{16:58,17:[1,59],29:32,30:33,34:N},t(W,[2,26]),{35:60,37:C},{17:[1,61]},t(e,[2,13]),t(M,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(a,n){if(n.recoverable)this.trace(a);else{var c=new Error(a);throw c.hash=n,c}},parse:function(a){var n=this,c=[0],d=[],E=[null],i=[],K=this.table,s="",Q=0,st=0,ft=2,ot=1,yt=i.slice.call(arguments,1),b=Object.create(this.lexer),z={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(z.yy[J]=this.yy[J]);b.setInput(a,z.yy),z.yy.lexer=b,z.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var $=b.yylloc;i.push($);var pt=b.options&&b.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _t(){var Y;return Y=d.pop()||b.lex()||ot,typeof Y!="number"&&(Y instanceof Array&&(d=Y,Y=d.pop()),Y=n.symbols_[Y]||Y),Y}for(var w,H,D,tt,G={},j,P,lt,q;;){if(H=c[c.length-1],this.defaultActions[H]?D=this.defaultActions[H]:((w===null||typeof w>"u")&&(w=_t()),D=K[H]&&K[H][w]),typeof D>"u"||!D.length||!D[0]){var et="";q=[];for(j in K[H])this.terminals_[j]&&j>ft&&q.push("'"+this.terminals_[j]+"'");b.showPosition?et="Parse error on line "+(Q+1)+`: +`+b.showPosition()+` +Expecting `+q.join(", ")+", got '"+(this.terminals_[w]||w)+"'":et="Parse error on line "+(Q+1)+": Unexpected "+(w==ot?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(et,{text:b.match,token:this.terminals_[w]||w,line:b.yylineno,loc:$,expected:q})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+w);switch(D[0]){case 1:c.push(w),E.push(b.yytext),i.push(b.yylloc),c.push(D[1]),w=null,st=b.yyleng,s=b.yytext,Q=b.yylineno,$=b.yylloc;break;case 2:if(P=this.productions_[D[1]][1],G.$=E[E.length-P],G._$={first_line:i[i.length-(P||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(P||1)].first_column,last_column:i[i.length-1].last_column},pt&&(G._$.range=[i[i.length-(P||1)].range[0],i[i.length-1].range[1]]),tt=this.performAction.apply(G,[s,st,Q,z.yy,D[1],E,i].concat(yt)),typeof tt<"u")return tt;P&&(c=c.slice(0,-1*P*2),E=E.slice(0,-1*P),i=i.slice(0,-1*P)),c.push(this.productions_[D[1]][0]),E.push(G.$),i.push(G._$),lt=K[c[c.length-2]][c[c.length-1]],c.push(lt);break;case 3:return!0}}return!0}},O=function(){var S={EOF:1,parseError:function(n,c){if(this.yy.parser)this.yy.parser.parseError(n,c);else throw new Error(n)},setInput:function(a,n){return this.yy=n||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var n=a.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var n=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),n=new Array(a.length+1).join("-");return a+this.upcomingInput()+` +`+n+"^"},test_match:function(a,n){var c,d,E;if(this.options.backtrack_lexer&&(E={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(E.yylloc.range=this.yylloc.range.slice(0))),d=a[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],c=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var i in E)this[i]=E[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,n,c,d;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),i=0;in[0].length)){if(n=c,d=i,this.options.backtrack_lexer){if(a=this.test_match(c,E[i]),a!==!1)return a;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(a=this.test_match(n,E[d]),a!==!1?a:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return n||this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(n){this.begin(n)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(n,c,d,E){switch(d){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return c.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return c.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return S}();R.lexer=O;function v(){this.yy={}}return v.prototype=R,R.Parser=v,new v}();at.parser=at;const Ut=at;let U={},nt=[];const zt={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Ht={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},dt=function(t,e=void 0){return U[t]===void 0?(U[t]={attributes:[],alias:e},V.info("Added new entity :",t)):U[t]&&!U[t].alias&&e&&(U[t].alias=e,V.info(`Add alias '${e}' to entity '${t}'`)),U[t]},Gt=()=>U,Kt=function(t,e){let r=dt(t),u;for(u=e.length-1;u>=0;u--)r.attributes.push(e[u]),V.debug("Added attribute ",e[u].attributeName)},Vt=function(t,e,r,u){let l={entityA:t,roleA:e,entityB:r,relSpec:u};nt.push(l),V.debug("Added new relationship :",l)},Xt=()=>nt,Qt=function(){U={},nt=[],Ot()},jt={Cardinality:zt,Identification:Ht,getConfig:()=>Z().er,addEntity:dt,addAttributes:Kt,getEntities:Gt,addRelationship:Vt,getRelationships:Xt,clear:Qt,setAccTitle:Et,getAccTitle:mt,setAccDescription:gt,getAccDescription:kt,setDiagramTitle:xt,getDiagramTitle:Rt},L={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},qt=function(t,e){let r;t.append("defs").append("marker").attr("id",L.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",L.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",L.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",L.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",L.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",L.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",L.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",L.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",L.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",L.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},B={ERMarkers:L,insertMarkers:qt},Jt=/[^\dA-Za-z](\W)*/g;let k={},X=new Map;const $t=function(t){const e=Object.keys(t);for(const r of e)k[r]=t[r]},te=(t,e,r)=>{const u=k.entityPadding/3,l=k.entityPadding/3,p=k.fontSize*.85,f=e.node().getBBox(),o=[];let h=!1,_=!1,m=0,g=0,x=0,y=0,N=f.height+u*2,I=1;r.forEach(T=>{T.attributeKeyTypeList!==void 0&&T.attributeKeyTypeList.length>0&&(h=!0),T.attributeComment!==void 0&&(_=!0)}),r.forEach(T=>{const M=`${e.node().id}-attr-${I}`;let R=0;const O=At(T.attributeType),v=t.append("text").classed("er entityLabel",!0).attr("id",`${M}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Z().fontFamily).style("font-size",p+"px").text(O),S=t.append("text").classed("er entityLabel",!0).attr("id",`${M}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Z().fontFamily).style("font-size",p+"px").text(T.attributeName),a={};a.tn=v,a.nn=S;const n=v.node().getBBox(),c=S.node().getBBox();if(m=Math.max(m,n.width),g=Math.max(g,c.width),R=Math.max(n.height,c.height),h){const d=T.attributeKeyTypeList!==void 0?T.attributeKeyTypeList.join(","):"",E=t.append("text").classed("er entityLabel",!0).attr("id",`${M}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Z().fontFamily).style("font-size",p+"px").text(d);a.kn=E;const i=E.node().getBBox();x=Math.max(x,i.width),R=Math.max(R,i.height)}if(_){const d=t.append("text").classed("er entityLabel",!0).attr("id",`${M}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Z().fontFamily).style("font-size",p+"px").text(T.attributeComment||"");a.cn=d;const E=d.node().getBBox();y=Math.max(y,E.width),R=Math.max(R,E.height)}a.height=R,o.push(a),N+=R+u*2,I+=1});let F=4;h&&(F+=2),_&&(F+=2);const W=m+g+x+y,C={width:Math.max(k.minEntityWidth,Math.max(f.width+k.entityPadding*2,W+l*F)),height:r.length>0?N:Math.max(k.minEntityHeight,f.height+k.entityPadding*2)};if(r.length>0){const T=Math.max(0,(C.width-W-l*F)/(F/2));e.attr("transform","translate("+C.width/2+","+(u+f.height/2)+")");let M=f.height+u*2,R="attributeBoxOdd";o.forEach(O=>{const v=M+u+O.height/2;O.tn.attr("transform","translate("+l+","+v+")");const S=t.insert("rect","#"+O.tn.node().id).classed(`er ${R}`,!0).attr("x",0).attr("y",M).attr("width",m+l*2+T).attr("height",O.height+u*2),a=parseFloat(S.attr("x"))+parseFloat(S.attr("width"));O.nn.attr("transform","translate("+(a+l)+","+v+")");const n=t.insert("rect","#"+O.nn.node().id).classed(`er ${R}`,!0).attr("x",a).attr("y",M).attr("width",g+l*2+T).attr("height",O.height+u*2);let c=parseFloat(n.attr("x"))+parseFloat(n.attr("width"));if(h){O.kn.attr("transform","translate("+(c+l)+","+v+")");const d=t.insert("rect","#"+O.kn.node().id).classed(`er ${R}`,!0).attr("x",c).attr("y",M).attr("width",x+l*2+T).attr("height",O.height+u*2);c=parseFloat(d.attr("x"))+parseFloat(d.attr("width"))}_&&(O.cn.attr("transform","translate("+(c+l)+","+v+")"),t.insert("rect","#"+O.cn.node().id).classed(`er ${R}`,"true").attr("x",c).attr("y",M).attr("width",y+l*2+T).attr("height",O.height+u*2)),M+=O.height+u*2,R=R==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else C.height=Math.max(k.minEntityHeight,N),e.attr("transform","translate("+C.width/2+","+C.height/2+")");return C},ee=function(t,e,r){const u=Object.keys(e);let l;return u.forEach(function(p){const f=oe(p,"entity");X.set(p,f);const o=t.append("g").attr("id",f);l=l===void 0?f:l;const h="text-"+f,_=o.append("text").classed("er entityLabel",!0).attr("id",h).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Z().fontFamily).style("font-size",k.fontSize+"px").text(e[p].alias??p),{width:m,height:g}=te(o,_,e[p].attributes),y=o.insert("rect","#"+h).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",m).attr("height",g).node().getBBox();r.setNode(f,{width:y.width,height:y.height,shape:"rect",id:f})}),l},re=function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")})},ut=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},ie=function(t,e){return t.forEach(function(r){e.setEdge(X.get(r.entityA),X.get(r.entityB),{relationship:r},ut(r))}),t};let ct=0;const ae=function(t,e,r,u,l){ct++;const p=r.edge(X.get(e.entityA),X.get(e.entityB),ut(e)),f=wt().x(function(N){return N.x}).y(function(N){return N.y}).curve(Tt),o=t.insert("path","#"+u).classed("er relationshipLine",!0).attr("d",f(p.points)).style("stroke",k.stroke).style("fill","none");e.relSpec.relType===l.db.Identification.NON_IDENTIFYING&&o.attr("stroke-dasharray","8,8");let h="";switch(k.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),e.relSpec.cardA){case l.db.Cardinality.ZERO_OR_ONE:o.attr("marker-end","url("+h+"#"+B.ERMarkers.ZERO_OR_ONE_END+")");break;case l.db.Cardinality.ZERO_OR_MORE:o.attr("marker-end","url("+h+"#"+B.ERMarkers.ZERO_OR_MORE_END+")");break;case l.db.Cardinality.ONE_OR_MORE:o.attr("marker-end","url("+h+"#"+B.ERMarkers.ONE_OR_MORE_END+")");break;case l.db.Cardinality.ONLY_ONE:o.attr("marker-end","url("+h+"#"+B.ERMarkers.ONLY_ONE_END+")");break;case l.db.Cardinality.MD_PARENT:o.attr("marker-end","url("+h+"#"+B.ERMarkers.MD_PARENT_END+")");break}switch(e.relSpec.cardB){case l.db.Cardinality.ZERO_OR_ONE:o.attr("marker-start","url("+h+"#"+B.ERMarkers.ZERO_OR_ONE_START+")");break;case l.db.Cardinality.ZERO_OR_MORE:o.attr("marker-start","url("+h+"#"+B.ERMarkers.ZERO_OR_MORE_START+")");break;case l.db.Cardinality.ONE_OR_MORE:o.attr("marker-start","url("+h+"#"+B.ERMarkers.ONE_OR_MORE_START+")");break;case l.db.Cardinality.ONLY_ONE:o.attr("marker-start","url("+h+"#"+B.ERMarkers.ONLY_ONE_START+")");break;case l.db.Cardinality.MD_PARENT:o.attr("marker-start","url("+h+"#"+B.ERMarkers.MD_PARENT_START+")");break}const _=o.node().getTotalLength(),m=o.node().getPointAtLength(_*.5),g="rel"+ct,y=t.append("text").classed("er relationshipLabel",!0).attr("id",g).attr("x",m.x).attr("y",m.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Z().fontFamily).style("font-size",k.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+g).classed("er relationshipLabelBox",!0).attr("x",m.x-y.width/2).attr("y",m.y-y.height/2).attr("width",y.width).attr("height",y.height)},ne=function(t,e,r,u){k=Z().er,V.info("Drawing ER diagram");const l=Z().securityLevel;let p;l==="sandbox"&&(p=rt("#i"+e));const o=(l==="sandbox"?rt(p.nodes()[0].contentDocument.body):rt("body")).select(`[id='${e}']`);B.insertMarkers(o,k);let h;h=new Mt({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:k.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=ee(o,u.db.getEntities(),h),m=ie(u.db.getRelationships(),h);St(h),re(o,h),m.forEach(function(I){ae(o,I,h,_,u)});const g=k.diagramPadding;bt.insertTitle(o,"entityTitleText",k.titleTopMargin,u.db.getDiagramTitle());const x=o.node().getBBox(),y=x.width+g*2,N=x.height+g*2;Nt(o,N,y,k.useMaxWidth),o.attr("viewBox",`${x.x-g} ${x.y-g} ${y} ${N}`)},se="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function oe(t="",e=""){const r=t.replace(Jt,"");return`${ht(e)}${ht(r)}${Wt(t,se)}`}function ht(t=""){return t.length>0?`${t}-`:""}const le={setConf:$t,draw:ne},ce=t=>` + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${t.attributeBackgroundColorOdd}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxEven { + fill: ${t.attributeBackgroundColorEven}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${t.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + +`,he=ce,ge={parser:Ut,db:jt,renderer:le,styles:he};export{ge as diagram}; diff --git a/assets/chunks/flowDb-c1833063.BRGHxfAT.js b/assets/chunks/flowDb-c1833063.BRGHxfAT.js new file mode 100644 index 000000000..1ae91fa9a --- /dev/null +++ b/assets/chunks/flowDb-c1833063.BRGHxfAT.js @@ -0,0 +1,10 @@ +import{c as et,v as me,s as ye,g as ve,a as Ve,b as Le,x as Ie,y as Re,l as J1,z as dt,A as Ne,j as we,h as w1}from"../app.BKabOgys.js";var pt=function(){var e=function(f1,a,o,f){for(o=o||{},f=f1.length;f--;o[f1[f]]=a);return o},u=[1,4],i=[1,3],n=[1,5],c=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],l=[2,2],h=[1,13],U=[1,14],F=[1,15],w=[1,16],X=[1,23],o1=[1,25],p1=[1,26],A1=[1,27],C=[1,49],k=[1,48],l1=[1,29],U1=[1,30],G1=[1,31],M1=[1,32],K1=[1,33],x=[1,44],B=[1,46],m=[1,42],y=[1,47],v=[1,43],V=[1,50],L=[1,45],I=[1,51],R=[1,52],Y1=[1,34],j1=[1,35],z1=[1,36],X1=[1,37],I1=[1,57],b=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],q=[1,61],Q=[1,60],Z=[1,62],H1=[8,9,11,73,75],k1=[1,88],b1=[1,93],g1=[1,92],D1=[1,89],F1=[1,85],T1=[1,91],S1=[1,87],C1=[1,94],_1=[1,90],x1=[1,95],B1=[1,86],W1=[8,9,10,11,73,75],N=[8,9,10,11,44,73,75],M=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Et=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],R1=[42,58,86,99,102,103,106,108,111,112,113],kt=[1,121],bt=[1,120],gt=[1,128],Dt=[1,142],Ft=[1,143],Tt=[1,144],St=[1,145],Ct=[1,130],_t=[1,132],xt=[1,136],Bt=[1,137],mt=[1,138],yt=[1,139],vt=[1,140],Vt=[1,141],Lt=[1,146],It=[1,147],Rt=[1,126],Nt=[1,127],wt=[1,134],Ot=[1,129],Pt=[1,133],Ut=[1,131],nt=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Gt=[1,149],T=[8,9,11],K=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],p=[1,169],O=[1,165],P=[1,166],A=[1,170],d=[1,167],E=[1,168],m1=[75,113,116],g=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Mt=[10,103],h1=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],J=[1,235],$=[1,233],t1=[1,237],e1=[1,231],s1=[1,232],u1=[1,234],i1=[1,236],r1=[1,238],y1=[1,255],Kt=[8,9,11,103],W=[8,9,10,11,58,81,102,103,106,107,108,109],at={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(a,o,f,r,S,t,N1){var s=t.length-1;switch(S){case 2:this.$=[];break;case 3:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 176:this.$=t[s];break;case 11:r.setDirection("TB"),this.$="TB";break;case 12:r.setDirection(t[s-1]),this.$=t[s-1];break;case 27:this.$=t[s-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 34:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 35:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 37:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 43:r.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 44:r.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 45:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 46:this.$={stmt:t[s],nodes:t[s]};break;case 47:this.$=[t[s]];break;case 48:this.$=t[s-4].concat(t[s]);break;case 49:this.$=t[s];break;case 50:this.$=t[s-2],r.setClass(t[s-2],t[s]);break;case 51:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 52:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 53:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 54:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 55:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 56:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 57:this.$=t[s-7],r.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 60:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 61:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 64:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 67:this.$=t[s],r.addVertex(t[s]);break;case 68:t[s-1].text=t[s],this.$=t[s-1];break;case 69:case 70:t[s-2].text=t[s-1],this.$=t[s-2];break;case 71:this.$=t[s];break;case 72:var Y=r.destructLink(t[s],t[s-2]);this.$={type:Y.type,stroke:Y.stroke,length:Y.length,text:t[s-1]};break;case 73:this.$={text:t[s],type:"text"};break;case 74:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 75:this.$={text:t[s],type:"string"};break;case 76:this.$={text:t[s],type:"markdown"};break;case 77:var Y=r.destructLink(t[s]);this.$={type:Y.type,stroke:Y.stroke,length:Y.length};break;case 78:this.$=t[s-1];break;case 79:this.$={text:t[s],type:"text"};break;case 80:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 81:this.$={text:t[s],type:"string"};break;case 82:case 97:this.$={text:t[s],type:"markdown"};break;case 94:this.$={text:t[s],type:"text"};break;case 95:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 96:this.$={text:t[s],type:"text"};break;case 98:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 99:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 100:case 108:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 101:case 109:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 102:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 103:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 104:this.$=t[s-2],r.setLink(t[s-2],t[s]);break;case 105:this.$=t[s-4],r.setLink(t[s-4],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:this.$=t[s-4],r.setLink(t[s-4],t[s-2],t[s]);break;case 107:this.$=t[s-6],r.setLink(t[s-6],t[s-4],t[s]),r.setTooltip(t[s-6],t[s-2]);break;case 110:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 111:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 112:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 113:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 114:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 115:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 116:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 117:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 118:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 119:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 120:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 121:case 123:this.$=[t[s]];break;case 122:case 124:t[s-2].push(t[s]),this.$=t[s-2];break;case 126:this.$=t[s-1]+t[s];break;case 174:this.$=t[s];break;case 175:this.$=t[s-1]+""+t[s];break;case 177:this.$=t[s-1]+""+t[s];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:u,10:i,12:n},{1:[3]},e(c,l,{5:6}),{4:7,9:u,10:i,12:n},{4:8,9:u,10:i,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},e(c,[2,9]),e(c,[2,10]),e(c,[2,11]),{8:[1,54],9:[1,55],10:I1,15:53,18:56},e(b,[2,3]),e(b,[2,4]),e(b,[2,5]),e(b,[2,6]),e(b,[2,7]),e(b,[2,8]),{8:q,9:Q,11:Z,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:q,9:Q,11:Z,21:66},{8:q,9:Q,11:Z,21:67},{8:q,9:Q,11:Z,21:68},{8:q,9:Q,11:Z,21:69},{8:q,9:Q,11:Z,21:70},{8:q,9:Q,10:[1,71],11:Z,21:72},e(b,[2,36]),{35:[1,73]},{37:[1,74]},e(b,[2,39]),e(H1,[2,46],{18:75,10:I1}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:k1,42:b1,58:g1,77:[1,83],86:D1,92:[1,80],94:[1,81],98:82,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},e(b,[2,178]),e(b,[2,179]),e(b,[2,180]),e(b,[2,181]),e(W1,[2,47]),e(W1,[2,49],{44:[1,96]}),e(N,[2,67],{110:109,29:[1,97],42:C,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:k,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),e(M,[2,174]),e(M,[2,135]),e(M,[2,136]),e(M,[2,137]),e(M,[2,138]),e(M,[2,139]),e(M,[2,140]),e(M,[2,141]),e(M,[2,142]),e(M,[2,143]),e(M,[2,144]),e(M,[2,145]),e(c,[2,12]),e(c,[2,18]),e(c,[2,19]),{9:[1,110]},e(Et,[2,26],{18:111,10:I1}),e(b,[2,27]),{40:112,41:38,42:C,43:39,45:40,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(b,[2,40]),e(b,[2,41]),e(b,[2,42]),e(R1,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:kt,116:bt},e([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),e(b,[2,28]),e(b,[2,29]),e(b,[2,30]),e(b,[2,31]),e(b,[2,32]),{10:gt,12:Dt,14:Ft,27:Tt,28:122,32:St,42:Ct,58:_t,73:xt,77:[1,124],78:[1,125],80:135,81:Bt,82:mt,83:yt,84:vt,85:Vt,86:Lt,87:It,88:123,102:Rt,106:Nt,108:wt,111:Ot,112:Pt,113:Ut},e(nt,l,{5:148}),e(b,[2,37]),e(b,[2,38]),e(H1,[2,45],{42:Gt}),{42:C,45:150,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{99:[1,151],100:152,102:[1,153]},{42:C,45:154,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{42:C,45:155,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},e(T,[2,108],{117:160,10:[1,159],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,110],{10:[1,161]}),e(K,[2,176]),e(K,[2,163]),e(K,[2,164]),e(K,[2,165]),e(K,[2,166]),e(K,[2,167]),e(K,[2,168]),e(K,[2,169]),e(K,[2,170]),e(K,[2,171]),e(K,[2,172]),e(K,[2,173]),{42:C,45:162,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{30:163,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:171,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:173,48:[1,172],65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:174,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:175,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:176,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{106:[1,177]},{30:178,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:179,63:[1,180],65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:181,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:182,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:183,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(M,[2,175]),e(c,[2,20]),e(Et,[2,25]),e(H1,[2,43],{18:184,10:I1}),e(R1,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{75:[1,188],76:189,113:kt,116:bt},e(m1,[2,73]),e(m1,[2,75]),e(m1,[2,76]),e(m1,[2,161]),e(m1,[2,162]),{8:q,9:Q,10:gt,11:Z,12:Dt,14:Ft,21:191,27:Tt,29:[1,190],32:St,42:Ct,58:_t,73:xt,80:135,81:Bt,82:mt,83:yt,84:vt,85:Vt,86:Lt,87:It,88:192,102:Rt,106:Nt,108:wt,111:Ot,112:Pt,113:Ut},e(g,[2,94]),e(g,[2,96]),e(g,[2,97]),e(g,[2,150]),e(g,[2,151]),e(g,[2,152]),e(g,[2,153]),e(g,[2,154]),e(g,[2,155]),e(g,[2,156]),e(g,[2,157]),e(g,[2,158]),e(g,[2,159]),e(g,[2,160]),e(g,[2,83]),e(g,[2,84]),e(g,[2,85]),e(g,[2,86]),e(g,[2,87]),e(g,[2,88]),e(g,[2,89]),e(g,[2,90]),e(g,[2,91]),e(g,[2,92]),e(g,[2,93]),{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,193],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},{10:I1,18:194},{10:[1,195],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,196]},{10:[1,197],103:[1,198]},e(Mt,[2,121]),{10:[1,199],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,200],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{77:[1,201]},e(T,[2,102],{10:[1,202]}),e(T,[2,104],{10:[1,203]}),{77:[1,204]},e(K,[2,177]),{77:[1,205],95:[1,206]},e(W1,[2,50],{110:109,42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),{31:[1,207],65:p,79:208,113:A,114:d,115:E},e(h1,[2,79]),e(h1,[2,81]),e(h1,[2,82]),e(h1,[2,146]),e(h1,[2,147]),e(h1,[2,148]),e(h1,[2,149]),{47:[1,209],65:p,79:208,113:A,114:d,115:E},{30:210,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{49:[1,211],65:p,79:208,113:A,114:d,115:E},{51:[1,212],65:p,79:208,113:A,114:d,115:E},{53:[1,213],65:p,79:208,113:A,114:d,115:E},{55:[1,214],65:p,79:208,113:A,114:d,115:E},{58:[1,215]},{62:[1,216],65:p,79:208,113:A,114:d,115:E},{64:[1,217],65:p,79:208,113:A,114:d,115:E},{30:218,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{31:[1,219],65:p,79:208,113:A,114:d,115:E},{65:p,67:[1,220],69:[1,221],79:208,113:A,114:d,115:E},{65:p,67:[1,223],69:[1,222],79:208,113:A,114:d,115:E},e(H1,[2,44],{42:Gt}),e(R1,[2,70]),e(R1,[2,69]),{60:[1,224],65:p,79:208,113:A,114:d,115:E},e(R1,[2,72]),e(m1,[2,74]),{30:225,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(nt,l,{5:226}),e(g,[2,95]),e(b,[2,35]),{41:227,42:C,43:39,45:40,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{10:J,58:$,81:t1,89:228,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:239,101:[1,240],102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:241,101:[1,242],102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{102:[1,243]},{10:J,58:$,81:t1,89:244,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{42:C,45:245,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},e(T,[2,109]),e(T,[2,111],{10:[1,249]}),e(T,[2,112]),e(N,[2,51]),e(h1,[2,80]),e(N,[2,52]),{49:[1,250],65:p,79:208,113:A,114:d,115:E},e(N,[2,59]),e(N,[2,54]),e(N,[2,55]),e(N,[2,56]),{106:[1,251]},e(N,[2,58]),e(N,[2,60]),{64:[1,252],65:p,79:208,113:A,114:d,115:E},e(N,[2,62]),e(N,[2,63]),e(N,[2,65]),e(N,[2,64]),e(N,[2,66]),e([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:p,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,254],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},e(W1,[2,48]),e(T,[2,114],{103:y1}),e(Kt,[2,123],{105:256,10:J,58:$,81:t1,102:e1,106:s1,107:u1,108:i1,109:r1}),e(W,[2,125]),e(W,[2,127]),e(W,[2,128]),e(W,[2,129]),e(W,[2,130]),e(W,[2,131]),e(W,[2,132]),e(W,[2,133]),e(W,[2,134]),e(T,[2,115],{103:y1}),{10:[1,257]},e(T,[2,116],{103:y1}),{10:[1,258]},e(Mt,[2,122]),e(T,[2,98],{103:y1}),e(T,[2,99],{110:109,42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),e(T,[2,103]),e(T,[2,105],{10:[1,259]}),e(T,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:q,9:Q,11:Z,21:264},e(b,[2,34]),{10:J,58:$,81:t1,102:e1,104:265,105:230,106:s1,107:u1,108:i1,109:r1},e(W,[2,126]),{14:k1,42:b1,58:g1,86:D1,98:266,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},{14:k1,42:b1,58:g1,86:D1,98:267,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},{95:[1,268]},e(T,[2,113]),e(N,[2,53]),{30:269,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(N,[2,61]),e(nt,l,{5:270}),e(Kt,[2,124],{105:256,10:J,58:$,81:t1,102:e1,106:s1,107:u1,108:i1,109:r1}),e(T,[2,119],{117:160,10:[1,271],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,120],{117:160,10:[1,272],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,107]),{31:[1,273],65:p,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,274],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},{10:J,58:$,81:t1,89:275,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:276,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},e(N,[2,57]),e(b,[2,33]),e(T,[2,117],{103:y1}),e(T,[2,118],{103:y1})],defaultActions:{},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var f=new Error(a);throw f.hash=o,f}},parse:function(a){var o=this,f=[0],r=[],S=[null],t=[],N1=this.table,s="",Y=0,Yt=0,Ce=2,jt=1,_e=t.slice.call(arguments,1),_=Object.create(this.lexer),d1={yy:{}};for(var ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ot)&&(d1.yy[ot]=this.yy[ot]);_.setInput(a,d1.yy),d1.yy.lexer=_,d1.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var lt=_.yylloc;t.push(lt);var xe=_.options&&_.options.ranges;typeof d1.yy.parseError=="function"?this.parseError=d1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var a1;return a1=r.pop()||_.lex()||jt,typeof a1!="number"&&(a1 instanceof Array&&(r=a1,a1=r.pop()),a1=o.symbols_[a1]||a1),a1}for(var G,E1,j,ht,v1={},q1,n1,zt,Q1;;){if(E1=f[f.length-1],this.defaultActions[E1]?j=this.defaultActions[E1]:((G===null||typeof G>"u")&&(G=Be()),j=N1[E1]&&N1[E1][G]),typeof j>"u"||!j.length||!j[0]){var ft="";Q1=[];for(q1 in N1[E1])this.terminals_[q1]&&q1>Ce&&Q1.push("'"+this.terminals_[q1]+"'");_.showPosition?ft="Parse error on line "+(Y+1)+`: +`+_.showPosition()+` +Expecting `+Q1.join(", ")+", got '"+(this.terminals_[G]||G)+"'":ft="Parse error on line "+(Y+1)+": Unexpected "+(G==jt?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(ft,{text:_.match,token:this.terminals_[G]||G,line:_.yylineno,loc:lt,expected:Q1})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E1+", token: "+G);switch(j[0]){case 1:f.push(G),S.push(_.yytext),t.push(_.yylloc),f.push(j[1]),G=null,Yt=_.yyleng,s=_.yytext,Y=_.yylineno,lt=_.yylloc;break;case 2:if(n1=this.productions_[j[1]][1],v1.$=S[S.length-n1],v1._$={first_line:t[t.length-(n1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(n1||1)].first_column,last_column:t[t.length-1].last_column},xe&&(v1._$.range=[t[t.length-(n1||1)].range[0],t[t.length-1].range[1]]),ht=this.performAction.apply(v1,[s,Yt,Y,d1.yy,j[1],S,t].concat(_e)),typeof ht<"u")return ht;n1&&(f=f.slice(0,-1*n1*2),S=S.slice(0,-1*n1),t=t.slice(0,-1*n1)),f.push(this.productions_[j[1]][0]),S.push(v1.$),t.push(v1._$),zt=N1[f[f.length-2]][f[f.length-1]],f.push(zt);break;case 3:return!0}}return!0}},Se=function(){var f1={EOF:1,parseError:function(o,f){if(this.yy.parser)this.yy.parser.parseError(o,f);else throw new Error(o)},setInput:function(a,o){return this.yy=o||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var o=a.length,f=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===r.length?this.yylloc.first_column:0)+r[r.length-f.length].length-f[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),o=new Array(a.length+1).join("-");return a+this.upcomingInput()+` +`+o+"^"},test_match:function(a,o){var f,r,S;if(this.options.backtrack_lexer&&(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(S.yylloc.range=this.yylloc.range.slice(0))),r=a[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],f=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var t in S)this[t]=S[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,o,f,r;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),t=0;to[0].length)){if(o=f,r=t,this.options.backtrack_lexer){if(a=this.test_match(f,S[t]),a!==!1)return a;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(a=this.test_match(o,S[r]),a!==!1?a:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var o=this.next();return o||this.lex()},begin:function(o){this.conditionStack.push(o)},popState:function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},pushState:function(o){this.begin(o)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(o,f,r,S){switch(r){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return o.lex.firstGraph()&&this.begin("dir"),12;case 30:return o.lex.firstGraph()&&this.begin("dir"),12;case 31:return o.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return f1}();at.lexer=Se;function ct(){this.yy={}}return ct.prototype=at,at.Parser=ct,new ct}();pt.parser=pt;const Xe=pt,Oe="flowchart-";let Xt=0,L1=et(),D={},H=[],V1={},c1=[],$1={},tt={},Z1=0,At=!0,z,st,ut=[];const it=e=>we.sanitizeText(e,L1),P1=function(e){const u=Object.keys(D);for(const i of u)if(D[i].id===e)return D[i].domId;return e},Ht=function(e,u,i,n,c,l,h={}){let U,F=e;F!==void 0&&F.trim().length!==0&&(D[F]===void 0&&(D[F]={id:F,labelType:"text",domId:Oe+F+"-"+Xt,styles:[],classes:[]}),Xt++,u!==void 0?(L1=et(),U=it(u.text.trim()),D[F].labelType=u.type,U[0]==='"'&&U[U.length-1]==='"'&&(U=U.substring(1,U.length-1)),D[F].text=U):D[F].text===void 0&&(D[F].text=e),i!==void 0&&(D[F].type=i),n!=null&&n.forEach(function(w){D[F].styles.push(w)}),c!=null&&c.forEach(function(w){D[F].classes.push(w)}),l!==void 0&&(D[F].dir=l),D[F].props===void 0?D[F].props=h:h!==void 0&&Object.assign(D[F].props,h))},Wt=function(e,u,i){const l={start:e,end:u,type:void 0,text:"",labelType:"text"};J1.info("abc78 Got edge...",l);const h=i.text;if(h!==void 0&&(l.text=it(h.text.trim()),l.text[0]==='"'&&l.text[l.text.length-1]==='"'&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=h.type),i!==void 0&&(l.type=i.type,l.stroke=i.stroke,l.length=i.length),(l==null?void 0:l.length)>10&&(l.length=10),H.length<(L1.maxEdges??500))J1.info("abc78 pushing edge..."),H.push(l);else throw new Error(`Edge limit exceeded. ${H.length} edges found, but the limit is ${L1.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)},qt=function(e,u,i){J1.info("addLink (abc78)",e,u,i);let n,c;for(n=0;n=H.length)throw new Error(`The index ${i} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${H.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);i==="default"?H.defaultStyle=u:(dt.isSubstringInArray("fill",u)===-1&&u.push("fill:none"),H[i].style=u)})},Jt=function(e,u){e.split(",").forEach(function(i){V1[i]===void 0&&(V1[i]={id:i,styles:[],textStyles:[]}),u!=null&&u.forEach(function(n){if(n.match("color")){const c=n.replace("fill","bgFill").replace("color","fill");V1[i].textStyles.push(c)}V1[i].styles.push(n)})})},$t=function(e){z=e,z.match(/.*/)&&(z="LR"),z.match(/.*v/)&&(z="TB"),z==="TD"&&(z="TB")},rt=function(e,u){e.split(",").forEach(function(i){let n=i;D[n]!==void 0&&D[n].classes.push(u),$1[n]!==void 0&&$1[n].classes.push(u)})},Pe=function(e,u){e.split(",").forEach(function(i){u!==void 0&&(tt[st==="gen-1"?P1(i):i]=it(u))})},Ue=function(e,u,i){let n=P1(e);if(et().securityLevel!=="loose"||u===void 0)return;let c=[];if(typeof i=="string"){c=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l")),c.classed("hover",!0)}).on("mouseout",function(){u.transition().duration(500).style("opacity",0),w1(this).classed("hover",!1)})};ut.push(ce);const oe=function(e="gen-1"){D={},V1={},H=[],ut=[ce],c1=[],$1={},Z1=0,tt={},At=!0,st=e,L1=et(),Ne()},le=e=>{st=e||"gen-2"},he=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},fe=function(e,u,i){let n=e.text.trim(),c=i.text;e===i&&i.text.match(/\s/)&&(n=void 0);function l(X){const o1={boolean:{},number:{},string:{}},p1=[];let A1;return{nodeList:X.filter(function(k){const l1=typeof k;return k.stmt&&k.stmt==="dir"?(A1=k.value,!1):k.trim()===""?!1:l1 in o1?o1[l1].hasOwnProperty(k)?!1:o1[l1][k]=!0:p1.includes(k)?!1:p1.push(k)}),dir:A1}}let h=[];const{nodeList:U,dir:F}=l(h.concat.apply(h,u));if(h=U,st==="gen-1")for(let X=0;X2e3)return;if(pe[O1]=u,c1[u].id===e)return{result:!0,count:0};let n=0,c=1;for(;n=0){const h=Ae(e,l);if(h.result)return{result:!0,count:c+h.count};c=c+h.count}n=n+1}return{result:!1,count:c}},de=function(e){return pe[e]},Ee=function(){O1=-1,c1.length>0&&Ae("none",c1.length-1)},ke=function(){return c1},be=()=>At?(At=!1,!0):!1,Me=e=>{let u=e.trim(),i="arrow_open";switch(u[0]){case"<":i="arrow_point",u=u.slice(1);break;case"x":i="arrow_cross",u=u.slice(1);break;case"o":i="arrow_circle",u=u.slice(1);break}let n="normal";return u.includes("=")&&(n="thick"),u.includes(".")&&(n="dotted"),{type:i,stroke:n}},Ke=(e,u)=>{const i=u.length;let n=0;for(let c=0;c{const u=e.trim();let i=u.slice(0,-1),n="arrow_open";switch(u.slice(-1)){case"x":n="arrow_cross",u[0]==="x"&&(n="double_"+n,i=i.slice(1));break;case">":n="arrow_point",u[0]==="<"&&(n="double_"+n,i=i.slice(1));break;case"o":n="arrow_circle",u[0]==="o"&&(n="double_"+n,i=i.slice(1));break}let c="normal",l=i.length-1;i[0]==="="&&(c="thick"),i[0]==="~"&&(c="invisible");let h=Ke(".",i);return h&&(c="dotted",l=h),{type:n,stroke:c,length:l}},ge=(e,u)=>{const i=Ye(e);let n;if(u){if(n=Me(u),n.stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if(n.type==="arrow_open")n.type=i.type;else{if(n.type!==i.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return n.type==="double_arrow"&&(n.type="double_arrow_point"),n.length=i.length,n}return i},De=(e,u)=>{let i=!1;return e.forEach(n=>{n.nodes.indexOf(u)>=0&&(i=!0)}),i},Fe=(e,u)=>{const i=[];return e.nodes.forEach((n,c)=>{De(u,n)||i.push(e.nodes[c])}),{nodes:i}},Te={firstGraph:be},je={defaultConfig:()=>me.flowchart,setAccTitle:ye,getAccTitle:ve,getAccDescription:Ve,setAccDescription:Le,addVertex:Ht,lookUpDomId:P1,addLink:qt,updateLinkInterpolate:Qt,updateLink:Zt,addClass:Jt,setDirection:$t,setClass:rt,setTooltip:Pe,getTooltip:ee,setClickEvent:se,setLink:te,bindFunctions:ue,getDirection:ie,getVertices:re,getEdges:ne,getClasses:ae,clear:oe,setGen:le,defaultStyle:he,addSubGraph:fe,getDepthFirstPos:de,indexNodes:Ee,getSubGraphs:ke,destructLink:ge,lex:Te,exists:De,makeUniq:Fe,setDiagramTitle:Ie,getDiagramTitle:Re},He=Object.freeze(Object.defineProperty({__proto__:null,addClass:Jt,addLink:qt,addSingleLink:Wt,addSubGraph:fe,addVertex:Ht,bindFunctions:ue,clear:oe,default:je,defaultStyle:he,destructLink:ge,firstGraph:be,getClasses:ae,getDepthFirstPos:de,getDirection:ie,getEdges:ne,getSubGraphs:ke,getTooltip:ee,getVertices:re,indexNodes:Ee,lex:Te,lookUpDomId:P1,setClass:rt,setClickEvent:se,setDirection:$t,setGen:le,setLink:te,updateLink:Zt,updateLinkInterpolate:Qt},Symbol.toStringTag,{value:"Module"}));export{He as d,je as f,Xe as p}; diff --git a/assets/chunks/flowDiagram-b222e15a.Df_VmXWq.js b/assets/chunks/flowDiagram-b222e15a.Df_VmXWq.js new file mode 100644 index 000000000..914a3e622 --- /dev/null +++ b/assets/chunks/flowDiagram-b222e15a.Df_VmXWq.js @@ -0,0 +1,4 @@ +import{p as Lt,f as V}from"./flowDb-c1833063.BRGHxfAT.js";import{h as S,f as tt,G as _t}from"./graph.CmmHGxOl.js";import{h as x,o as U,p as Y,q as et,c as G,r as rt,j as at,l as R,t as z,u as Et}from"../app.BKabOgys.js";import{u as Tt,r as Nt,p as At,l as Ct,d as M}from"./layout.CbVLFsVb.js";import{a as N,b as nt,i as st,c as E,e as it,d as ot,f as It,g as Bt,s as Mt}from"./styles-483fbfea.BblXdEuY.js";import{l as Dt}from"./line._HMy3R8R.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./index-01f381cb.zbRgJYXZ.js";import"./clone.TnmvHrgs.js";import"./edges-066a5561.CPwEKA1n.js";import"./createText-ca0c5216.lHq48BDc.js";import"./channel.DzT0vZNh.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";function Rt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Gt(r,e){return fetch(r,e).then(Rt)}function Pt(r){return(e,t)=>Gt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Ut=Pt("image/svg+xml"),H={normal:Wt,vee:Vt,undirected:zt};function $t(r){H=r}function Wt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Vt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function zt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Yt(r,e){var t=r;return t.node().appendChild(e.label),N(t,e.labelStyle),t}function Ht(r,e){for(var t=r.append("text"),n=Xt(e.label).split(` +`),a=0;a0}function T(r,e,t){var n=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach(function(p){i=Math.min(i,p.x),o=Math.min(o,p.y)});for(var c=n-r.width/2-i,d=a-r.height/2-o,l=0;l1&&s.sort(function(p,y){var f=p.x-t.x,g=p.y-t.y,k=Math.sqrt(f*f+g*g),I=y.x-t.x,_=y.y-t.y,$=Math.sqrt(I*I+_*_);return k<$?-1:k===$?0:1}),s[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",r),r)}function Z(r,e){var t=r.x,n=r.y,a=e.x-t,s=e.y-n,i=r.width/2,o=r.height/2,c,d;return Math.abs(s)*i>Math.abs(a)*o?(s<0&&(o=-o),c=s===0?0:o*a/s,d=o):(a<0&&(i=-i),c=i,d=a===0?0:i*s/a),{x:t+c,y:n+d}}var K={rect:oe,ellipse:le,circle:ce,diamond:de};function ie(r){K=r}function oe(r,e,t){var n=r.insert("rect",":first-child").attr("rx",t.rx).attr("ry",t.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return t.intersect=function(a){return Z(t,a)},n}function le(r,e,t){var n=e.width/2,a=e.height/2,s=r.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",n).attr("ry",a);return t.intersect=function(i){return ct(t,n,a,i)},s}function ce(r,e,t){var n=Math.max(e.width,e.height)/2,a=r.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",n);return t.intersect=function(s){return ne(t,n,s)},a}function de(r,e,t){var n=e.width*Math.SQRT2/2,a=e.height*Math.SQRT2/2,s=[{x:0,y:-a},{x:-n,y:0},{x:0,y:a},{x:n,y:0}],i=r.insert("polygon",":first-child").attr("points",s.map(function(o){return o.x+","+o.y}).join(" "));return t.intersect=function(o){return T(t,s,o)},i}function he(){var r=function(e,t){pe(t);var n=D(e,"output"),a=D(n,"clusters"),s=D(n,"edgePaths"),i=F(D(n,"edgeLabels"),t),o=Q(D(n,"nodes"),t,K);Ct(t),ae(o,t),re(i,t),q(s,t,H);var c=X(a,t);ee(c,t),ve(t)};return r.createNodes=function(e){return arguments.length?(te(e),r):Q},r.createClusters=function(e){return arguments.length?(Ft(e),r):X},r.createEdgeLabels=function(e){return arguments.length?(qt(e),r):F},r.createEdgePaths=function(e){return arguments.length?(Qt(e),r):q},r.shapes=function(e){return arguments.length?(ie(e),r):K},r.arrows=function(e){return arguments.length?($t(e),r):H},r}var ue={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},fe={arrowhead:"normal",curve:U};function pe(r){r.nodes().forEach(function(e){var t=r.node(e);!S(t,"label")&&!r.children(e).length&&(t.label=e),S(t,"paddingX")&&M(t,{paddingLeft:t.paddingX,paddingRight:t.paddingX}),S(t,"paddingY")&&M(t,{paddingTop:t.paddingY,paddingBottom:t.paddingY}),S(t,"padding")&&M(t,{paddingLeft:t.padding,paddingRight:t.padding,paddingTop:t.padding,paddingBottom:t.padding}),M(t,ue),tt(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(n){t[n]=Number(t[n])}),S(t,"width")&&(t._prevWidth=t.width),S(t,"height")&&(t._prevHeight=t.height)}),r.edges().forEach(function(e){var t=r.edge(e);S(t,"label")||(t.label=""),M(t,fe)})}function ve(r){tt(r.nodes(),function(e){var t=r.node(e);S(t,"_prevWidth")?t.width=t._prevWidth:delete t.width,S(t,"_prevHeight")?t.height=t._prevHeight:delete t.height,delete t._prevWidth,delete t._prevHeight})}function D(r,e){var t=r.select("g."+e);return t.empty()&&(t=r.append("g").attr("class",e)),t}function dt(r,e,t){const n=e.width,a=e.height,s=(n+a)*.9,i=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=A(r,s,s,i);return t.intersect=function(c){return T(t,i,c)},o}function ht(r,e,t){const a=e.height,s=a/4,i=e.width+2*s,o=[{x:s,y:0},{x:i-s,y:0},{x:i,y:-a/2},{x:i-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],c=A(r,i,a,o);return t.intersect=function(d){return T(t,o,d)},c}function ut(r,e,t){const n=e.width,a=e.height,s=[{x:-a/2,y:0},{x:n,y:0},{x:n,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ft(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function pt(r,e,t){const n=e.width,a=e.height,s=[{x:2*a/6,y:0},{x:n+a/6,y:0},{x:n-2*a/6,y:-a},{x:-a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function vt(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n+2*a/6,y:0},{x:n-a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function gt(r,e,t){const n=e.width,a=e.height,s=[{x:a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:-2*a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function yt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n+a/2,y:0},{x:n,y:-a/2},{x:n+a/2,y:-a},{x:0,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function wt(r,e,t){const n=e.height,a=e.width+n/4,s=r.insert("rect",":first-child").attr("rx",n/2).attr("ry",n/2).attr("x",-a/2).attr("y",-n/2).attr("width",a).attr("height",n);return t.intersect=function(i){return Z(t,i)},s}function mt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function xt(r,e,t){const n=e.width,a=n/2,s=a/(2.5+n/50),i=e.height+s,o="M 0,"+s+" a "+a+","+s+" 0,0,0 "+n+" 0 a "+a+","+s+" 0,0,0 "+-n+" 0 l 0,"+i+" a "+a+","+s+" 0,0,0 "+n+" 0 l 0,"+-i,c=r.attr("label-offset-y",s).insert("path",":first-child").attr("d",o).attr("transform","translate("+-n/2+","+-(i/2+s)+")");return t.intersect=function(d){const l=Z(t,d),v=l.x-t.x;if(a!=0&&(Math.abs(v)t.height/2-s)){let h=s*s*(1-v*v/(a*a));h!=0&&(h=Math.sqrt(h)),h=s-h,d.y-t.y>0&&(h=-h),l.y+=h}return l},c}function ge(r){r.shapes().question=dt,r.shapes().hexagon=ht,r.shapes().stadium=wt,r.shapes().subroutine=mt,r.shapes().cylinder=xt,r.shapes().rect_left_inv_arrow=ut,r.shapes().lean_right=ft,r.shapes().lean_left=pt,r.shapes().trapezoid=vt,r.shapes().inv_trapezoid=gt,r.shapes().rect_right_inv_arrow=yt}function ye(r){r({question:dt}),r({hexagon:ht}),r({stadium:wt}),r({subroutine:mt}),r({cylinder:xt}),r({rect_left_inv_arrow:ut}),r({lean_right:ft}),r({lean_left:pt}),r({trapezoid:vt}),r({inv_trapezoid:gt}),r({rect_right_inv_arrow:yt})}function A(r,e,t,n){return r.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+-e/2+","+t/2+")")}const we={addToRender:ge,addToRenderV2:ye},bt={},me=function(r){const e=Object.keys(r);for(const t of e)bt[t]=r[t]},kt=async function(r,e,t,n,a,s){const i=n?n.select(`[id="${t}"]`):x(`[id="${t}"]`),o=a||document,c=Object.keys(r);for(const d of c){const l=r[d];let v="default";l.classes.length>0&&(v=l.classes.join(" "));const h=Y(l.styles);let u=l.text!==void 0?l.text:l.id,p;if(et(G().flowchart.htmlLabels)){const g={label:await rt(u.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``),G())};p=nt(i,g).node(),p.parentNode.removeChild(p)}else{const g=o.createElementNS("http://www.w3.org/2000/svg","text");g.setAttribute("style",h.labelStyle.replace("color:","fill:"));const k=u.split(at.lineBreakRegex);for(const I of k){const _=o.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","1"),_.textContent=I,g.appendChild(_)}p=g}let y=0,f="";switch(l.type){case"round":y=5,f="rect";break;case"square":f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"odd_right":f="rect_left_inv_arrow";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"group":f="rect";break;default:f="rect"}R.warn("Adding node",l.id,l.domId),e.setNode(s.db.lookUpDomId(l.id),{labelType:"svg",labelStyle:h.labelStyle,shape:f,label:p,rx:y,ry:y,class:v,style:h.style,id:s.db.lookUpDomId(l.id)})}},St=async function(r,e,t){let n=0,a,s;if(r.defaultStyle!==void 0){const i=Y(r.defaultStyle);a=i.style,s=i.labelStyle}for(const i of r){n++;const o="L-"+i.start+"-"+i.end,c="LS-"+i.start,d="LE-"+i.end,l={};i.type==="arrow_open"?l.arrowhead="none":l.arrowhead="normal";let v="",h="";if(i.style!==void 0){const u=Y(i.style);v=u.style,h=u.labelStyle}else switch(i.stroke){case"normal":v="fill:none",a!==void 0&&(v=a),s!==void 0&&(h=s);break;case"dotted":v="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":v=" stroke-width: 3.5px;fill:none";break}l.style=v,l.labelStyle=h,i.interpolate!==void 0?l.curve=z(i.interpolate,U):r.defaultInterpolate!==void 0?l.curve=z(r.defaultInterpolate,U):l.curve=z(bt.curve,U),i.text===void 0?i.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",et(G().flowchart.htmlLabels)?(l.labelType="html",l.label=`${await rt(i.text.replace(/fa[blrs]?:fa-[\w-]+/g,u=>``),G())}`):(l.labelType="text",l.label=i.text.replace(at.lineBreakRegex,` +`),i.style===void 0&&(l.style=l.style||"stroke: #333; stroke-width: 1.5px;fill:none"),l.labelStyle=l.labelStyle.replace("color:","fill:"))),l.id=o,l.class=c+" "+d,l.minlen=i.length||1,e.setEdge(t.db.lookUpDomId(i.start),t.db.lookUpDomId(i.end),l,n)}},xe=function(r,e){return R.info("Extracting classes"),e.db.getClasses()},be=async function(r,e,t,n){R.info("Drawing flowchart");const{securityLevel:a,flowchart:s}=G();let i;a==="sandbox"&&(i=x("#i"+e));const o=a==="sandbox"?x(i.nodes()[0].contentDocument.body):x("body"),c=a==="sandbox"?i.nodes()[0].contentDocument:document;let d=n.db.getDirection();d===void 0&&(d="TD");const l=s.nodeSpacing||50,v=s.rankSpacing||50,h=new _t({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:l,ranksep:v,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let u;const p=n.db.getSubGraphs();for(let w=p.length-1;w>=0;w--)u=p[w],n.db.addVertex(u.id,u.title,"group",void 0,u.classes);const y=n.db.getVertices();R.warn("Get vertices",y);const f=n.db.getEdges();let g=0;for(g=p.length-1;g>=0;g--){u=p[g],Mt("cluster").append("text");for(let w=0;w{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,ke.setConf(r.flowchart),V.clear(),V.setGen("gen-1")}};export{Ue as diagram}; diff --git a/assets/chunks/flowDiagram-v2-13329dc7.HD1lSh3u.js b/assets/chunks/flowDiagram-v2-13329dc7.HD1lSh3u.js new file mode 100644 index 000000000..f8fb9bc5a --- /dev/null +++ b/assets/chunks/flowDiagram-v2-13329dc7.HD1lSh3u.js @@ -0,0 +1 @@ +import{p as e,f as o}from"./flowDb-c1833063.BRGHxfAT.js";import{f as t,g as a}from"./styles-483fbfea.BblXdEuY.js";import{aq as i}from"../app.BKabOgys.js";import"./graph.CmmHGxOl.js";import"./layout.CbVLFsVb.js";import"./index-01f381cb.zbRgJYXZ.js";import"./clone.TnmvHrgs.js";import"./edges-066a5561.CPwEKA1n.js";import"./createText-ca0c5216.lHq48BDc.js";import"./line._HMy3R8R.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";import"./channel.DzT0vZNh.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";const c={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{c as diagram}; diff --git a/assets/chunks/flowchart-elk-definition-ae0efee6.COmkU_vM.js b/assets/chunks/flowchart-elk-definition-ae0efee6.COmkU_vM.js new file mode 100644 index 000000000..d26004b67 --- /dev/null +++ b/assets/chunks/flowchart-elk-definition-ae0efee6.COmkU_vM.js @@ -0,0 +1,139 @@ +import{d as xNe,p as FNe}from"./flowDb-c1833063.BRGHxfAT.js";import{b2 as Nse,b3 as BNe,l as Ba,h as IO,aZ as xU,u as RNe,p as E0n,t as j0n,o as $U,j as KNe}from"../app.BKabOgys.js";import{i as _Ne,a as HNe,l as qNe,b as UNe,k as GNe,m as zNe}from"./edges-066a5561.CPwEKA1n.js";import{l as XNe}from"./line._HMy3R8R.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./createText-ca0c5216.lHq48BDc.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";function NU(ct){throw new Error('Could not dynamically require "'+ct+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Bse={exports:{}};(function(ct,_t){(function(Xt){ct.exports=Xt()})(function(){return function(){function Xt(gt,Sr,Di){function y(Ht,Jt){if(!Sr[Ht]){if(!gt[Ht]){var ze=typeof NU=="function"&&NU;if(!Jt&&ze)return ze(Ht,!0);if(Wt)return Wt(Ht,!0);var Yi=new Error("Cannot find module '"+Ht+"'");throw Yi.code="MODULE_NOT_FOUND",Yi}var Ri=Sr[Ht]={exports:{}};gt[Ht][0].call(Ri.exports,function(En){var hu=gt[Ht][1][En];return y(hu||En)},Ri,Ri.exports,Xt,gt,Sr,Di)}return Sr[Ht].exports}for(var Wt=typeof NU=="function"&&NU,Bu=0;Bu0&&arguments[0]!==void 0?arguments[0]:{},Yi=ze.defaultLayoutOptions,Ri=Yi===void 0?{}:Yi,En=ze.algorithms,hu=En===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:En,Qc=ze.workerFactory,Ru=ze.workerUrl;if(y(this,Ht),this.defaultLayoutOptions=Ri,this.initialized=!1,typeof Ru>"u"&&typeof Qc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var Pr=Qc;typeof Ru<"u"&&typeof Qc>"u"&&(Pr=function(N1){return new Worker(N1)});var Cf=Pr(Ru);if(typeof Cf.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new Bu(Cf),this.worker.postMessage({cmd:"register",algorithms:hu}).then(function(L1){return Jt.initialized=!0}).catch(console.err)}return Di(Ht,[{key:"layout",value:function(ze){var Yi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ri=Yi.layoutOptions,En=Ri===void 0?this.defaultLayoutOptions:Ri,hu=Yi.logging,Qc=hu===void 0?!1:hu,Ru=Yi.measureExecutionTime,Pr=Ru===void 0?!1:Ru;return ze?this.worker.postMessage({cmd:"layout",graph:ze,layoutOptions:En,options:{logging:Qc,measureExecutionTime:Pr}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker&&this.worker.terminate()}}]),Ht}();Sr.default=Wt;var Bu=function(){function Ht(Jt){var ze=this;if(y(this,Ht),Jt===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=Jt,this.worker.onmessage=function(Yi){setTimeout(function(){ze.receive(ze,Yi)},0)}}return Di(Ht,[{key:"postMessage",value:function(ze){var Yi=this.id||0;this.id=Yi+1,ze.id=Yi;var Ri=this;return new Promise(function(En,hu){Ri.resolvers[Yi]=function(Qc,Ru){Qc?(Ri.convertGwtStyleError(Qc),hu(Qc)):En(Ru)},Ri.worker.postMessage(ze)})}},{key:"receive",value:function(ze,Yi){var Ri=Yi.data,En=ze.resolvers[Ri.id];En&&(delete ze.resolvers[Ri.id],Ri.error?En(Ri.error):En(null,Ri.data))}},{key:"terminate",value:function(){this.worker&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(ze){if(ze){var Yi=ze.__java$exception;Yi&&(Yi.cause&&Yi.cause.backingJsObject&&(ze.cause=Yi.cause.backingJsObject,this.convertGwtStyleError(ze.cause)),delete ze.__java$exception)}}}]),Ht}()},{}],2:[function(Xt,gt,Sr){(function(Di){(function(){var y;typeof window<"u"?y=window:typeof Di<"u"?y=Di:typeof self<"u"&&(y=self);var Wt;function Bu(){}function Ht(){}function Jt(){}function ze(){}function Yi(){}function Ri(){}function En(){}function hu(){}function Qc(){}function Ru(){}function Pr(){}function Cf(){}function L1(){}function N1(){}function og(){}function V3(){}function $1(){}function ul(){}function C0n(){}function M0n(){}function J2(){}function F(){}function T0n(){}function mE(){}function A0n(){}function S0n(){}function P0n(){}function I0n(){}function O0n(){}function FU(){}function D0n(){}function L0n(){}function N0n(){}function OO(){}function $0n(){}function x0n(){}function F0n(){}function DO(){}function B0n(){}function R0n(){}function BU(){}function K0n(){}function _0n(){}function yu(){}function ju(){}function Q2(){}function Y2(){}function H0n(){}function q0n(){}function U0n(){}function G0n(){}function RU(){}function Eu(){}function Z2(){}function np(){}function z0n(){}function X0n(){}function LO(){}function V0n(){}function W0n(){}function J0n(){}function Q0n(){}function Y0n(){}function Z0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function obn(){}function sbn(){}function fbn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function mbn(){}function vbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Cbn(){}function Mbn(){}function Tbn(){}function KU(){}function Abn(){}function Sbn(){}function Pbn(){}function Ibn(){}function NO(){}function $O(){}function vE(){}function Obn(){}function Dbn(){}function xO(){}function Lbn(){}function Nbn(){}function $bn(){}function kE(){}function xbn(){}function Fbn(){}function Bbn(){}function Rbn(){}function Kbn(){}function _bn(){}function Hbn(){}function qbn(){}function Ubn(){}function _U(){}function Gbn(){}function zbn(){}function HU(){}function Xbn(){}function Vbn(){}function Wbn(){}function Jbn(){}function Qbn(){}function Ybn(){}function Zbn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function FO(){}function uwn(){}function own(){}function swn(){}function fwn(){}function hwn(){}function lwn(){}function awn(){}function dwn(){}function bwn(){}function qU(){}function UU(){}function wwn(){}function gwn(){}function pwn(){}function mwn(){}function vwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Cwn(){}function Mwn(){}function Twn(){}function Awn(){}function Swn(){}function Pwn(){}function Iwn(){}function Own(){}function Dwn(){}function Lwn(){}function Nwn(){}function $wn(){}function xwn(){}function Fwn(){}function Bwn(){}function Rwn(){}function Kwn(){}function _wn(){}function Hwn(){}function qwn(){}function Uwn(){}function Gwn(){}function zwn(){}function Xwn(){}function Vwn(){}function Wwn(){}function Jwn(){}function Qwn(){}function Ywn(){}function Zwn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function ogn(){}function sgn(){}function fgn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function mgn(){}function vgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Cgn(){}function Mgn(){}function Tgn(){}function Agn(){}function Sgn(){}function Pgn(){}function Ign(){}function Ogn(){}function Dgn(){}function Lgn(){}function Ngn(){}function $gn(){}function xgn(){}function Fgn(){}function Bgn(){}function Rgn(){}function Kgn(){}function _gn(){}function Hgn(){}function qgn(){}function Ugn(){}function Ggn(){}function zgn(){}function Xgn(){}function Vgn(){}function Wgn(){}function Jgn(){}function Qgn(){}function Ygn(){}function Zgn(){}function n2n(){}function e2n(){}function t2n(){}function i2n(){}function r2n(){}function c2n(){}function u2n(){}function GU(){}function o2n(){}function s2n(){}function f2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function m2n(){}function v2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function C2n(){}function M2n(){}function T2n(){}function A2n(){}function S2n(){}function P2n(){}function I2n(){}function O2n(){}function D2n(){}function L2n(){}function N2n(){}function $2n(){}function x2n(){}function F2n(){}function B2n(){}function R2n(){}function K2n(){}function _2n(){}function H2n(){}function q2n(){}function U2n(){}function G2n(){}function z2n(){}function X2n(){}function V2n(){}function W2n(){}function J2n(){}function Q2n(){}function Y2n(){}function Z2n(){}function npn(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function opn(){}function spn(){}function fpn(){}function hpn(){}function lpn(){}function apn(){}function dpn(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function mpn(){}function vpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Cpn(){}function Mpn(){}function zU(){}function Tpn(){}function Apn(){}function Spn(){}function Ppn(){}function Ipn(){}function Opn(){}function Dpn(){}function Lpn(){}function Npn(){}function $pn(){}function XU(){}function xpn(){}function Fpn(){}function Bpn(){}function Rpn(){}function Kpn(){}function _pn(){}function VU(){}function WU(){}function Hpn(){}function JU(){}function QU(){}function qpn(){}function Upn(){}function Gpn(){}function zpn(){}function Xpn(){}function Vpn(){}function Wpn(){}function Jpn(){}function Qpn(){}function Ypn(){}function Zpn(){}function YU(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function o3n(){}function s3n(){}function f3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function m3n(){}function v3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function C3n(){}function M3n(){}function T3n(){}function A3n(){}function S3n(){}function P3n(){}function I3n(){}function O3n(){}function D3n(){}function L3n(){}function N3n(){}function $3n(){}function x3n(){}function F3n(){}function B3n(){}function R3n(){}function K3n(){}function _3n(){}function H3n(){}function q3n(){}function U3n(){}function G3n(){}function z3n(){}function X3n(){}function V3n(){}function W3n(){}function J3n(){}function Q3n(){}function Y3n(){}function Z3n(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function r4n(){}function c4n(){}function u4n(){}function o4n(){}function s4n(){}function f4n(){}function h4n(){}function l4n(){}function a4n(){}function d4n(){}function b4n(){}function w4n(){}function g4n(){}function p4n(){}function m4n(){}function v4n(){}function k4n(){}function y4n(){}function j4n(){}function E4n(){}function C4n(){}function M4n(){}function T4n(){}function A4n(){}function S4n(){}function P4n(){}function I4n(){}function O4n(){}function _se(){}function D4n(){}function L4n(){}function N4n(){}function $4n(){}function x4n(){}function F4n(){}function B4n(){}function R4n(){}function K4n(){}function _4n(){}function H4n(){}function q4n(){}function U4n(){}function G4n(){}function z4n(){}function X4n(){}function V4n(){}function W4n(){}function J4n(){}function Q4n(){}function Y4n(){}function Z4n(){}function nmn(){}function emn(){}function tmn(){}function imn(){}function rmn(){}function BO(){}function RO(){}function cmn(){}function KO(){}function umn(){}function omn(){}function smn(){}function fmn(){}function hmn(){}function lmn(){}function amn(){}function dmn(){}function bmn(){}function wmn(){}function ZU(){}function gmn(){}function pmn(){}function mmn(){}function Hse(){}function vmn(){}function kmn(){}function ymn(){}function jmn(){}function Emn(){}function Cmn(){}function Mmn(){}function Ra(){}function Tmn(){}function ep(){}function nG(){}function Amn(){}function Smn(){}function Pmn(){}function Imn(){}function Omn(){}function Dmn(){}function Lmn(){}function Nmn(){}function $mn(){}function xmn(){}function Fmn(){}function Bmn(){}function Rmn(){}function Kmn(){}function _mn(){}function Hmn(){}function qmn(){}function Umn(){}function Gmn(){}function hn(){}function zmn(){}function Xmn(){}function Vmn(){}function Wmn(){}function Jmn(){}function Qmn(){}function Ymn(){}function Zmn(){}function nvn(){}function evn(){}function tvn(){}function ivn(){}function rvn(){}function _O(){}function cvn(){}function uvn(){}function ovn(){}function yE(){}function svn(){}function HO(){}function jE(){}function fvn(){}function eG(){}function hvn(){}function lvn(){}function avn(){}function dvn(){}function bvn(){}function wvn(){}function EE(){}function gvn(){}function pvn(){}function CE(){}function mvn(){}function ME(){}function vvn(){}function tG(){}function kvn(){}function qO(){}function iG(){}function yvn(){}function jvn(){}function Evn(){}function Cvn(){}function qse(){}function Mvn(){}function Tvn(){}function Avn(){}function Svn(){}function Pvn(){}function Ivn(){}function Ovn(){}function Dvn(){}function Lvn(){}function Nvn(){}function W3(){}function UO(){}function $vn(){}function xvn(){}function Fvn(){}function Bvn(){}function Rvn(){}function Kvn(){}function _vn(){}function Hvn(){}function qvn(){}function Uvn(){}function Gvn(){}function zvn(){}function Xvn(){}function Vvn(){}function Wvn(){}function Jvn(){}function Qvn(){}function Yvn(){}function Zvn(){}function n6n(){}function e6n(){}function t6n(){}function i6n(){}function r6n(){}function c6n(){}function u6n(){}function o6n(){}function s6n(){}function f6n(){}function h6n(){}function l6n(){}function a6n(){}function d6n(){}function b6n(){}function w6n(){}function g6n(){}function p6n(){}function m6n(){}function v6n(){}function k6n(){}function y6n(){}function j6n(){}function E6n(){}function C6n(){}function M6n(){}function T6n(){}function A6n(){}function S6n(){}function P6n(){}function I6n(){}function O6n(){}function D6n(){}function L6n(){}function N6n(){}function $6n(){}function x6n(){}function F6n(){}function B6n(){}function R6n(){}function K6n(){}function _6n(){}function H6n(){}function q6n(){}function U6n(){}function G6n(){}function z6n(){}function X6n(){}function V6n(){}function W6n(){}function J6n(){}function Q6n(){}function Y6n(){}function Z6n(){}function n5n(){}function e5n(){}function t5n(){}function i5n(){}function r5n(){}function c5n(){}function u5n(){}function o5n(){}function s5n(){}function f5n(){}function h5n(){}function l5n(){}function a5n(){}function d5n(){}function b5n(){}function w5n(){}function g5n(){}function p5n(){}function m5n(){}function v5n(){}function k5n(){}function y5n(){}function j5n(){}function E5n(){}function C5n(){}function M5n(){}function T5n(){}function A5n(){}function rG(){}function S5n(){}function P5n(){}function GO(){n6()}function I5n(){u7()}function O5n(){aA()}function D5n(){Q$()}function L5n(){M5()}function N5n(){ann()}function $5n(){qs()}function x5n(){jZ()}function F5n(){zk()}function B5n(){o7()}function R5n(){$7()}function K5n(){aCn()}function _5n(){Hp()}function H5n(){KLn()}function q5n(){yQ()}function U5n(){SOn()}function G5n(){jQ()}function z5n(){pNn()}function X5n(){AOn()}function V5n(){cm()}function W5n(){nxn()}function J5n(){Z$n()}function Q5n(){EDn()}function Y5n(){exn()}function Z5n(){ca()}function n8n(){ZE()}function e8n(){ltn()}function t8n(){cn()}function i8n(){txn()}function r8n(){Pxn()}function c8n(){POn()}function u8n(){nKn()}function o8n(){IOn()}function s8n(){bUn()}function f8n(){qnn()}function h8n(){kl()}function l8n(){wBn()}function a8n(){lc()}function d8n(){ROn()}function b8n(){_p()}function w8n(){Men()}function g8n(){ua()}function p8n(){Ten()}function m8n(){Bf()}function v8n(){Qk()}function k8n(){EF()}function y8n(){Dx()}function cf(){wSn()}function j8n(){YM()}function E8n(){mA()}function cG(){qe()}function C8n(){NT()}function M8n(){YY()}function uG(){D$()}function oG(){KA()}function T8n(){Fen()}function sG(n){Jn(n)}function A8n(n){this.a=n}function TE(n){this.a=n}function S8n(n){this.a=n}function P8n(n){this.a=n}function I8n(n){this.a=n}function O8n(n){this.a=n}function D8n(n){this.a=n}function L8n(n){this.a=n}function fG(n){this.a=n}function hG(n){this.a=n}function N8n(n){this.a=n}function $8n(n){this.a=n}function zO(n){this.a=n}function x8n(n){this.a=n}function F8n(n){this.a=n}function XO(n){this.a=n}function VO(n){this.a=n}function B8n(n){this.a=n}function WO(n){this.a=n}function R8n(n){this.a=n}function K8n(n){this.a=n}function _8n(n){this.a=n}function lG(n){this.b=n}function H8n(n){this.c=n}function q8n(n){this.a=n}function U8n(n){this.a=n}function G8n(n){this.a=n}function z8n(n){this.a=n}function X8n(n){this.a=n}function V8n(n){this.a=n}function W8n(n){this.a=n}function J8n(n){this.a=n}function Q8n(n){this.a=n}function Y8n(n){this.a=n}function Z8n(n){this.a=n}function n9n(n){this.a=n}function e9n(n){this.a=n}function aG(n){this.a=n}function dG(n){this.a=n}function AE(n){this.a=n}function z9(n){this.a=n}function Ka(){this.a=[]}function t9n(n,e){n.a=e}function Use(n,e){n.a=e}function Gse(n,e){n.b=e}function zse(n,e){n.b=e}function Xse(n,e){n.b=e}function bG(n,e){n.j=e}function Vse(n,e){n.g=e}function Wse(n,e){n.i=e}function Jse(n,e){n.c=e}function Qse(n,e){n.c=e}function Yse(n,e){n.d=e}function Zse(n,e){n.d=e}function _a(n,e){n.k=e}function nfe(n,e){n.c=e}function wG(n,e){n.c=e}function gG(n,e){n.a=e}function efe(n,e){n.a=e}function tfe(n,e){n.f=e}function ife(n,e){n.a=e}function rfe(n,e){n.b=e}function JO(n,e){n.d=e}function SE(n,e){n.i=e}function pG(n,e){n.o=e}function cfe(n,e){n.r=e}function ufe(n,e){n.a=e}function ofe(n,e){n.b=e}function i9n(n,e){n.e=e}function sfe(n,e){n.f=e}function mG(n,e){n.g=e}function ffe(n,e){n.e=e}function hfe(n,e){n.f=e}function lfe(n,e){n.f=e}function QO(n,e){n.a=e}function YO(n,e){n.b=e}function afe(n,e){n.n=e}function dfe(n,e){n.a=e}function bfe(n,e){n.c=e}function wfe(n,e){n.c=e}function gfe(n,e){n.c=e}function pfe(n,e){n.a=e}function mfe(n,e){n.a=e}function vfe(n,e){n.d=e}function kfe(n,e){n.d=e}function yfe(n,e){n.e=e}function jfe(n,e){n.e=e}function Efe(n,e){n.g=e}function Cfe(n,e){n.f=e}function Mfe(n,e){n.j=e}function Tfe(n,e){n.a=e}function Afe(n,e){n.a=e}function Sfe(n,e){n.b=e}function r9n(n){n.b=n.a}function c9n(n){n.c=n.d.d}function vG(n){this.a=n}function kG(n){this.a=n}function yG(n){this.a=n}function Ha(n){this.a=n}function qa(n){this.a=n}function X9(n){this.a=n}function u9n(n){this.a=n}function jG(n){this.a=n}function V9(n){this.a=n}function PE(n){this.a=n}function ol(n){this.a=n}function Sb(n){this.a=n}function o9n(n){this.a=n}function s9n(n){this.a=n}function ZO(n){this.b=n}function J3(n){this.b=n}function Q3(n){this.b=n}function nD(n){this.a=n}function f9n(n){this.a=n}function eD(n){this.c=n}function C(n){this.c=n}function h9n(n){this.c=n}function Xv(n){this.d=n}function EG(n){this.a=n}function Te(n){this.a=n}function l9n(n){this.a=n}function CG(n){this.a=n}function MG(n){this.a=n}function TG(n){this.a=n}function AG(n){this.a=n}function SG(n){this.a=n}function PG(n){this.a=n}function Y3(n){this.a=n}function a9n(n){this.a=n}function d9n(n){this.a=n}function Z3(n){this.a=n}function b9n(n){this.a=n}function w9n(n){this.a=n}function g9n(n){this.a=n}function p9n(n){this.a=n}function m9n(n){this.a=n}function v9n(n){this.a=n}function k9n(n){this.a=n}function y9n(n){this.a=n}function j9n(n){this.a=n}function E9n(n){this.a=n}function C9n(n){this.a=n}function M9n(n){this.a=n}function T9n(n){this.a=n}function A9n(n){this.a=n}function S9n(n){this.a=n}function Vv(n){this.a=n}function P9n(n){this.a=n}function I9n(n){this.a=n}function O9n(n){this.a=n}function D9n(n){this.a=n}function IE(n){this.a=n}function L9n(n){this.a=n}function N9n(n){this.a=n}function n4(n){this.a=n}function IG(n){this.a=n}function $9n(n){this.a=n}function x9n(n){this.a=n}function F9n(n){this.a=n}function B9n(n){this.a=n}function R9n(n){this.a=n}function K9n(n){this.a=n}function OG(n){this.a=n}function DG(n){this.a=n}function LG(n){this.a=n}function Wv(n){this.a=n}function OE(n){this.e=n}function e4(n){this.a=n}function _9n(n){this.a=n}function tp(n){this.a=n}function NG(n){this.a=n}function H9n(n){this.a=n}function q9n(n){this.a=n}function U9n(n){this.a=n}function G9n(n){this.a=n}function z9n(n){this.a=n}function X9n(n){this.a=n}function V9n(n){this.a=n}function W9n(n){this.a=n}function J9n(n){this.a=n}function Q9n(n){this.a=n}function Y9n(n){this.a=n}function $G(n){this.a=n}function Z9n(n){this.a=n}function n7n(n){this.a=n}function e7n(n){this.a=n}function t7n(n){this.a=n}function i7n(n){this.a=n}function r7n(n){this.a=n}function c7n(n){this.a=n}function u7n(n){this.a=n}function o7n(n){this.a=n}function s7n(n){this.a=n}function f7n(n){this.a=n}function h7n(n){this.a=n}function l7n(n){this.a=n}function a7n(n){this.a=n}function d7n(n){this.a=n}function b7n(n){this.a=n}function w7n(n){this.a=n}function g7n(n){this.a=n}function p7n(n){this.a=n}function m7n(n){this.a=n}function v7n(n){this.a=n}function k7n(n){this.a=n}function y7n(n){this.a=n}function j7n(n){this.a=n}function E7n(n){this.a=n}function C7n(n){this.a=n}function M7n(n){this.a=n}function T7n(n){this.a=n}function A7n(n){this.a=n}function S7n(n){this.a=n}function P7n(n){this.a=n}function I7n(n){this.a=n}function O7n(n){this.a=n}function D7n(n){this.a=n}function L7n(n){this.a=n}function N7n(n){this.a=n}function $7n(n){this.a=n}function x7n(n){this.a=n}function F7n(n){this.c=n}function B7n(n){this.b=n}function R7n(n){this.a=n}function K7n(n){this.a=n}function _7n(n){this.a=n}function H7n(n){this.a=n}function q7n(n){this.a=n}function U7n(n){this.a=n}function G7n(n){this.a=n}function z7n(n){this.a=n}function X7n(n){this.a=n}function V7n(n){this.a=n}function W7n(n){this.a=n}function J7n(n){this.a=n}function Q7n(n){this.a=n}function Y7n(n){this.a=n}function Z7n(n){this.a=n}function nkn(n){this.a=n}function ekn(n){this.a=n}function tkn(n){this.a=n}function ikn(n){this.a=n}function rkn(n){this.a=n}function ckn(n){this.a=n}function ukn(n){this.a=n}function okn(n){this.a=n}function skn(n){this.a=n}function fkn(n){this.a=n}function hkn(n){this.a=n}function lkn(n){this.a=n}function sl(n){this.a=n}function sg(n){this.a=n}function akn(n){this.a=n}function dkn(n){this.a=n}function bkn(n){this.a=n}function wkn(n){this.a=n}function gkn(n){this.a=n}function pkn(n){this.a=n}function mkn(n){this.a=n}function vkn(n){this.a=n}function kkn(n){this.a=n}function ykn(n){this.a=n}function jkn(n){this.a=n}function Ekn(n){this.a=n}function Ckn(n){this.a=n}function Mkn(n){this.a=n}function Tkn(n){this.a=n}function Akn(n){this.a=n}function Skn(n){this.a=n}function Pkn(n){this.a=n}function Ikn(n){this.a=n}function Okn(n){this.a=n}function Dkn(n){this.a=n}function Lkn(n){this.a=n}function Nkn(n){this.a=n}function $kn(n){this.a=n}function xkn(n){this.a=n}function Fkn(n){this.a=n}function DE(n){this.a=n}function Bkn(n){this.f=n}function Rkn(n){this.a=n}function Kkn(n){this.a=n}function _kn(n){this.a=n}function Hkn(n){this.a=n}function qkn(n){this.a=n}function Ukn(n){this.a=n}function Gkn(n){this.a=n}function zkn(n){this.a=n}function Xkn(n){this.a=n}function Vkn(n){this.a=n}function Wkn(n){this.a=n}function Jkn(n){this.a=n}function Qkn(n){this.a=n}function Ykn(n){this.a=n}function Zkn(n){this.a=n}function nyn(n){this.a=n}function eyn(n){this.a=n}function tyn(n){this.a=n}function iyn(n){this.a=n}function ryn(n){this.a=n}function cyn(n){this.a=n}function uyn(n){this.a=n}function oyn(n){this.a=n}function syn(n){this.a=n}function fyn(n){this.a=n}function hyn(n){this.a=n}function lyn(n){this.a=n}function ayn(n){this.a=n}function tD(n){this.a=n}function xG(n){this.a=n}function lt(n){this.b=n}function dyn(n){this.a=n}function byn(n){this.a=n}function wyn(n){this.a=n}function gyn(n){this.a=n}function pyn(n){this.a=n}function myn(n){this.a=n}function vyn(n){this.a=n}function kyn(n){this.b=n}function yyn(n){this.a=n}function W9(n){this.a=n}function jyn(n){this.a=n}function Eyn(n){this.a=n}function FG(n){this.c=n}function LE(n){this.e=n}function NE(n){this.a=n}function $E(n){this.a=n}function iD(n){this.a=n}function Cyn(n){this.d=n}function Myn(n){this.a=n}function BG(n){this.a=n}function RG(n){this.a=n}function Wd(n){this.e=n}function Pfe(){this.a=0}function de(){Hu(this)}function Z(){pL(this)}function rD(){sIn(this)}function Tyn(){}function Jd(){this.c=Gdn}function Ayn(n,e){n.b+=e}function Ife(n,e){e.Wb(n)}function Ofe(n){return n.a}function Dfe(n){return n.a}function Lfe(n){return n.a}function Nfe(n){return n.a}function $fe(n){return n.a}function M(n){return n.e}function xfe(){return null}function Ffe(){return null}function Bfe(){Cz(),pLe()}function Rfe(n){n.b.Of(n.e)}function Syn(n){n.b=new CD}function Jv(n,e){n.b=e-n.b}function Qv(n,e){n.a=e-n.a}function Bn(n,e){n.push(e)}function Pyn(n,e){n.sort(e)}function Iyn(n,e){e.jd(n.a)}function Kfe(n,e){gi(e,n)}function _fe(n,e,t){n.Yd(t,e)}function J9(n,e){n.e=e,e.b=n}function KG(n){uh(),this.a=n}function Oyn(n){uh(),this.a=n}function Dyn(n){uh(),this.a=n}function cD(n){m0(),this.a=n}function Lyn(n){O4(),VK.le(n)}function _G(){_G=F,new de}function Ua(){YTn.call(this)}function HG(){YTn.call(this)}function qG(){Ua.call(this)}function uD(){Ua.call(this)}function Nyn(){Ua.call(this)}function Q9(){Ua.call(this)}function Cu(){Ua.call(this)}function ip(){Ua.call(this)}function Pe(){Ua.call(this)}function Bo(){Ua.call(this)}function $yn(){Ua.call(this)}function nc(){Ua.call(this)}function xyn(){Ua.call(this)}function Fyn(){this.a=this}function xE(){this.Bb|=256}function Byn(){this.b=new GMn}function Pb(n,e){n.length=e}function FE(n,e){nn(n.a,e)}function Hfe(n,e){bnn(n.c,e)}function qfe(n,e){fi(n.b,e)}function Ufe(n,e){uA(n.a,e)}function Gfe(n,e){cx(n.a,e)}function t4(n,e){it(n.e,e)}function rp(n){jA(n.c,n.b)}function zfe(n,e){n.kc().Nb(e)}function UG(n){this.a=B5e(n)}function ni(){this.a=new de}function Ryn(){this.a=new de}function GG(){this.a=new rCn}function BE(){this.a=new Z}function oD(){this.a=new Z}function zG(){this.a=new Z}function hs(){this.a=new cbn}function Ga(){this.a=new NLn}function XG(){this.a=new _U}function VG(){this.a=new TOn}function WG(){this.a=new BAn}function Kyn(){this.a=new Z}function _yn(){this.a=new Z}function Hyn(){this.a=new Z}function JG(){this.a=new Z}function qyn(){this.d=new Z}function Uyn(){this.a=new zOn}function Gyn(){this.a=new ni}function zyn(){this.a=new de}function Xyn(){this.b=new de}function Vyn(){this.b=new Z}function QG(){this.e=new Z}function Wyn(){this.a=new Z5n}function Jyn(){this.d=new Z}function Qyn(){QIn.call(this)}function Yyn(){QIn.call(this)}function Zyn(){Z.call(this)}function YG(){qG.call(this)}function ZG(){BE.call(this)}function njn(){qC.call(this)}function ejn(){JG.call(this)}function Yv(){Tyn.call(this)}function sD(){Yv.call(this)}function cp(){Tyn.call(this)}function nz(){cp.call(this)}function tjn(){rz.call(this)}function ijn(){rz.call(this)}function rjn(){rz.call(this)}function cjn(){cz.call(this)}function Zv(){svn.call(this)}function ez(){svn.call(this)}function Mu(){Ct.call(this)}function ujn(){yjn.call(this)}function ojn(){yjn.call(this)}function sjn(){de.call(this)}function fjn(){de.call(this)}function hjn(){de.call(this)}function fD(){cxn.call(this)}function ljn(){ni.call(this)}function ajn(){xE.call(this)}function hD(){BX.call(this)}function tz(){de.call(this)}function lD(){BX.call(this)}function aD(){de.call(this)}function djn(){de.call(this)}function iz(){ME.call(this)}function bjn(){iz.call(this)}function wjn(){ME.call(this)}function gjn(){rG.call(this)}function rz(){this.a=new ni}function pjn(){this.a=new de}function mjn(){this.a=new Z}function cz(){this.a=new de}function up(){this.a=new Ct}function vjn(){this.j=new Z}function kjn(){this.a=new mEn}function yjn(){this.a=new mvn}function uz(){this.a=new Z4n}function n6(){n6=F,KK=new Ht}function dD(){dD=F,_K=new Ejn}function bD(){bD=F,HK=new jjn}function jjn(){XO.call(this,"")}function Ejn(){XO.call(this,"")}function Cjn(n){S$n.call(this,n)}function Mjn(n){S$n.call(this,n)}function oz(n){fG.call(this,n)}function sz(n){XEn.call(this,n)}function Xfe(n){XEn.call(this,n)}function Vfe(n){sz.call(this,n)}function Wfe(n){sz.call(this,n)}function Jfe(n){sz.call(this,n)}function Tjn(n){zN.call(this,n)}function Ajn(n){zN.call(this,n)}function Sjn(n){uSn.call(this,n)}function Pjn(n){Oz.call(this,n)}function e6(n){WE.call(this,n)}function fz(n){WE.call(this,n)}function Ijn(n){WE.call(this,n)}function hz(n){mje.call(this,n)}function lz(n){hz.call(this,n)}function ec(n){APn.call(this,n)}function Ojn(n){ec.call(this,n)}function op(){z9.call(this,{})}function Djn(){Djn=F,dQn=new M0n}function RE(){RE=F,GK=new STn}function Ljn(){Ljn=F,oun=new Bu}function az(){az=F,sun=new N1}function KE(){KE=F,P8=new $1}function wD(n){b4(),this.a=n}function gD(n){RQ(),this.a=n}function Qd(n){nN(),this.f=n}function pD(n){nN(),this.f=n}function Njn(n){bSn(),this.a=n}function $jn(n){n.b=null,n.c=0}function Qfe(n,e){n.e=e,bqn(n,e)}function Yfe(n,e){n.a=e,cEe(n)}function mD(n,e,t){n.a[e.g]=t}function Zfe(n,e,t){kke(t,n,e)}function nhe(n,e){Wae(e.i,n.n)}function xjn(n,e){v6e(n).Cd(e)}function ehe(n,e){n.a.ec().Mc(e)}function Fjn(n,e){return n.g-e.g}function the(n,e){return n*n/e}function on(n){return Jn(n),n}function $(n){return Jn(n),n}function Y9(n){return Jn(n),n}function ihe(n){return new AE(n)}function rhe(n){return new qb(n)}function dz(n){return Jn(n),n}function che(n){return Jn(n),n}function _E(n){ec.call(this,n)}function Ir(n){ec.call(this,n)}function Bjn(n){ec.call(this,n)}function vD(n){APn.call(this,n)}function i4(n){ec.call(this,n)}function Gn(n){ec.call(this,n)}function Or(n){ec.call(this,n)}function Rjn(n){ec.call(this,n)}function sp(n){ec.call(this,n)}function Kl(n){ec.call(this,n)}function _l(n){ec.call(this,n)}function fp(n){ec.call(this,n)}function nh(n){ec.call(this,n)}function kD(n){ec.call(this,n)}function Le(n){ec.call(this,n)}function Ku(n){Jn(n),this.a=n}function bz(n){return ld(n),n}function t6(n){TW(n,n.length)}function i6(n){return n.b==n.c}function Ib(n){return!!n&&n.b}function uhe(n){return!!n&&n.k}function ohe(n){return!!n&&n.j}function she(n,e,t){n.c.Ef(e,t)}function Kjn(n,e){n.be(e),e.ae(n)}function hp(n){uh(),this.a=Se(n)}function yD(){this.a=Oe(Se(ur))}function _jn(){throw M(new Pe)}function fhe(){throw M(new Pe)}function wz(){throw M(new Pe)}function Hjn(){throw M(new Pe)}function hhe(){throw M(new Pe)}function lhe(){throw M(new Pe)}function HE(){HE=F,O4()}function Hl(){X9.call(this,"")}function r6(){X9.call(this,"")}function x1(){X9.call(this,"")}function lp(){X9.call(this,"")}function gz(n){Ir.call(this,n)}function pz(n){Ir.call(this,n)}function eh(n){Gn.call(this,n)}function r4(n){Q3.call(this,n)}function qjn(n){r4.call(this,n)}function jD(n){BC.call(this,n)}function ED(n){JX.call(this,n,0)}function CD(){sJ.call(this,12,3)}function T(n,e){return kOn(n,e)}function qE(n,e){return o$(n,e)}function ahe(n,e){return n.a-e.a}function dhe(n,e){return n.a-e.a}function bhe(n,e){return n.a-e.a}function whe(n,e){return e in n.a}function Ujn(n){return n.a?n.b:0}function ghe(n){return n.a?n.b:0}function phe(n,e,t){e.Cd(n.a[t])}function mhe(n,e,t){e.Pe(n.a[t])}function vhe(n,e){n.b=new rr(e)}function khe(n,e){return n.b=e,n}function Gjn(n,e){return n.c=e,n}function zjn(n,e){return n.f=e,n}function yhe(n,e){return n.g=e,n}function mz(n,e){return n.a=e,n}function vz(n,e){return n.f=e,n}function jhe(n,e){return n.k=e,n}function kz(n,e){return n.a=e,n}function Ehe(n,e){return n.e=e,n}function yz(n,e){return n.e=e,n}function Che(n,e){return n.f=e,n}function Mhe(n,e){n.b=!0,n.d=e}function The(n,e){return n.b-e.b}function Ahe(n,e){return n.g-e.g}function She(n,e){return n?0:e-1}function Xjn(n,e){return n?0:e-1}function Phe(n,e){return n?e-1:0}function Ihe(n,e){return n.s-e.s}function Ohe(n,e){return e.rg(n)}function Yd(n,e){return n.b=e,n}function UE(n,e){return n.a=e,n}function Zd(n,e){return n.c=e,n}function n0(n,e){return n.d=e,n}function e0(n,e){return n.e=e,n}function jz(n,e){return n.f=e,n}function c6(n,e){return n.a=e,n}function c4(n,e){return n.b=e,n}function u4(n,e){return n.c=e,n}function an(n,e){return n.c=e,n}function Sn(n,e){return n.b=e,n}function dn(n,e){return n.d=e,n}function bn(n,e){return n.e=e,n}function Dhe(n,e){return n.f=e,n}function wn(n,e){return n.g=e,n}function gn(n,e){return n.a=e,n}function pn(n,e){return n.i=e,n}function mn(n,e){return n.j=e,n}function Lhe(n,e){ca(),ic(e,n)}function Nhe(n,e,t){Jbe(n.a,e,t)}function GE(n){$L.call(this,n)}function Vjn(n){Z5e.call(this,n)}function Wjn(n){SIn.call(this,n)}function Ez(n){SIn.call(this,n)}function F1(n){S0.call(this,n)}function Jjn(n){CN.call(this,n)}function Qjn(n){CN.call(this,n)}function Yjn(){DX.call(this,"")}function Li(){this.a=0,this.b=0}function Zjn(){this.b=0,this.a=0}function nEn(n,e){n.b=0,Zb(n,e)}function eEn(n,e){return n.k=e,n}function $he(n,e){return n.j=e,n}function xhe(n,e){n.c=e,n.b=!0}function tEn(){tEn=F,TQn=Xke()}function B1(){B1=F,voe=rke()}function iEn(){iEn=F,Ti=gye()}function Cz(){Cz=F,Oa=z4()}function o4(){o4=F,Udn=cke()}function rEn(){rEn=F,ise=uke()}function Mz(){Mz=F,yc=tEe()}function uf(n){return n.e&&n.e()}function cEn(n){return n.l|n.m<<22}function uEn(n,e){return n.c._b(e)}function oEn(n,e){return rBn(n.b,e)}function MD(n){return n?n.d:null}function Fhe(n){return n?n.g:null}function Bhe(n){return n?n.i:null}function za(n){return ll(n),n.o}function fg(n,e){return n.a+=e,n}function TD(n,e){return n.a+=e,n}function ql(n,e){return n.a+=e,n}function t0(n,e){return n.a+=e,n}function Tz(n,e){for(;n.Bd(e););}function zE(n){this.a=new ap(n)}function sEn(){throw M(new Pe)}function fEn(){throw M(new Pe)}function hEn(){throw M(new Pe)}function lEn(){throw M(new Pe)}function aEn(){throw M(new Pe)}function dEn(){throw M(new Pe)}function Ul(n){this.a=new iN(n)}function bEn(){this.a=new K5(Rln)}function wEn(){this.b=new K5(rln)}function gEn(){this.a=new K5(f1n)}function pEn(){this.b=new K5(Fq)}function mEn(){this.b=new K5(Fq)}function XE(n){this.a=0,this.b=n}function Az(n){zGn(),ILe(this,n)}function s4(n){return z1(n),n.a}function Z9(n){return n.b!=n.d.c}function Sz(n,e){return n.d[e.p]}function vEn(n,e){return XTe(n,e)}function Pz(n,e,t){n.splice(e,t)}function hg(n,e){for(;n.Re(e););}function kEn(n){n.c?Dqn(n):Lqn(n)}function yEn(){throw M(new Pe)}function jEn(){throw M(new Pe)}function EEn(){throw M(new Pe)}function CEn(){throw M(new Pe)}function MEn(){throw M(new Pe)}function TEn(){throw M(new Pe)}function AEn(){throw M(new Pe)}function SEn(){throw M(new Pe)}function PEn(){throw M(new Pe)}function IEn(){throw M(new Pe)}function Rhe(){throw M(new nc)}function Khe(){throw M(new nc)}function n7(n){this.a=new OEn(n)}function OEn(n){Ume(this,n,jje())}function e7(n){return!n||oIn(n)}function t7(n){return Zf[n]!=-1}function _he(){cP!=0&&(cP=0),uP=-1}function DEn(){RK==null&&(RK=[])}function i7(n,e){Cg.call(this,n,e)}function f4(n,e){i7.call(this,n,e)}function LEn(n,e){this.a=n,this.b=e}function NEn(n,e){this.a=n,this.b=e}function $En(n,e){this.a=n,this.b=e}function xEn(n,e){this.a=n,this.b=e}function FEn(n,e){this.a=n,this.b=e}function BEn(n,e){this.a=n,this.b=e}function REn(n,e){this.a=n,this.b=e}function h4(n,e){this.e=n,this.d=e}function Iz(n,e){this.b=n,this.c=e}function KEn(n,e){this.b=n,this.a=e}function _En(n,e){this.b=n,this.a=e}function HEn(n,e){this.b=n,this.a=e}function qEn(n,e){this.b=n,this.a=e}function UEn(n,e){this.a=n,this.b=e}function AD(n,e){this.a=n,this.b=e}function GEn(n,e){this.a=n,this.f=e}function i0(n,e){this.g=n,this.i=e}function je(n,e){this.f=n,this.g=e}function zEn(n,e){this.b=n,this.c=e}function XEn(n){KX(n.dc()),this.c=n}function Hhe(n,e){this.a=n,this.b=e}function VEn(n,e){this.a=n,this.b=e}function WEn(n){this.a=u(Se(n),15)}function Oz(n){this.a=u(Se(n),15)}function JEn(n){this.a=u(Se(n),85)}function VE(n){this.b=u(Se(n),85)}function WE(n){this.b=u(Se(n),51)}function JE(){this.q=new y.Date}function SD(n,e){this.a=n,this.b=e}function QEn(n,e){return Zc(n.b,e)}function r7(n,e){return n.b.Hc(e)}function YEn(n,e){return n.b.Ic(e)}function ZEn(n,e){return n.b.Qc(e)}function nCn(n,e){return n.b.Hc(e)}function eCn(n,e){return n.c.uc(e)}function tCn(n,e){return rt(n.c,e)}function of(n,e){return n.a._b(e)}function iCn(n,e){return n>e&&e0}function ND(n,e){return Ec(n,e)<0}function vCn(n,e){return JL(n.a,e)}function ole(n,e){yOn.call(this,n,e)}function Bz(n){wN(),uSn.call(this,n)}function Rz(n,e){bPn(n,n.length,e)}function s7(n,e){HPn(n,n.length,e)}function d6(n,e){return n.a.get(e)}function kCn(n,e){return Zc(n.e,e)}function Kz(n){return Jn(n),!1}function _z(n){this.a=u(Se(n),229)}function cC(n){In.call(this,n,21)}function uC(n,e){je.call(this,n,e)}function $D(n,e){je.call(this,n,e)}function yCn(n,e){this.b=n,this.a=e}function oC(n,e){this.d=n,this.e=e}function jCn(n,e){this.a=n,this.b=e}function ECn(n,e){this.a=n,this.b=e}function CCn(n,e){this.a=n,this.b=e}function MCn(n,e){this.a=n,this.b=e}function bp(n,e){this.a=n,this.b=e}function TCn(n,e){this.b=n,this.a=e}function Hz(n,e){this.b=n,this.a=e}function qz(n,e){je.call(this,n,e)}function Uz(n,e){je.call(this,n,e)}function lg(n,e){je.call(this,n,e)}function xD(n,e){je.call(this,n,e)}function FD(n,e){je.call(this,n,e)}function BD(n,e){je.call(this,n,e)}function sC(n,e){je.call(this,n,e)}function Gz(n,e){this.b=n,this.a=e}function fC(n,e){je.call(this,n,e)}function zz(n,e){this.b=n,this.a=e}function hC(n,e){je.call(this,n,e)}function ACn(n,e){this.b=n,this.a=e}function Xz(n,e){je.call(this,n,e)}function RD(n,e){je.call(this,n,e)}function f7(n,e){je.call(this,n,e)}function b6(n,e,t){n.splice(e,0,t)}function sle(n,e,t){n.Mb(t)&&e.Cd(t)}function fle(n,e,t){e.Pe(n.a.Ye(t))}function hle(n,e,t){e.Dd(n.a.Ze(t))}function lle(n,e,t){e.Cd(n.a.Kb(t))}function ale(n,e){return Au(n.c,e)}function dle(n,e){return Au(n.e,e)}function lC(n,e){je.call(this,n,e)}function aC(n,e){je.call(this,n,e)}function w6(n,e){je.call(this,n,e)}function Vz(n,e){je.call(this,n,e)}function ei(n,e){je.call(this,n,e)}function dC(n,e){je.call(this,n,e)}function SCn(n,e){this.a=n,this.b=e}function PCn(n,e){this.a=n,this.b=e}function ICn(n,e){this.a=n,this.b=e}function OCn(n,e){this.a=n,this.b=e}function DCn(n,e){this.a=n,this.b=e}function LCn(n,e){this.a=n,this.b=e}function NCn(n,e){this.b=n,this.a=e}function $Cn(n,e){this.b=n,this.a=e}function Wz(n,e){this.b=n,this.a=e}function d4(n,e){this.c=n,this.d=e}function xCn(n,e){this.e=n,this.d=e}function FCn(n,e){this.a=n,this.b=e}function BCn(n,e){this.a=n,this.b=e}function RCn(n,e){this.a=n,this.b=e}function KCn(n,e){this.b=n,this.a=e}function _Cn(n,e){this.b=e,this.c=n}function bC(n,e){je.call(this,n,e)}function h7(n,e){je.call(this,n,e)}function KD(n,e){je.call(this,n,e)}function Jz(n,e){je.call(this,n,e)}function g6(n,e){je.call(this,n,e)}function _D(n,e){je.call(this,n,e)}function HD(n,e){je.call(this,n,e)}function l7(n,e){je.call(this,n,e)}function Qz(n,e){je.call(this,n,e)}function qD(n,e){je.call(this,n,e)}function p6(n,e){je.call(this,n,e)}function Yz(n,e){je.call(this,n,e)}function m6(n,e){je.call(this,n,e)}function v6(n,e){je.call(this,n,e)}function Db(n,e){je.call(this,n,e)}function UD(n,e){je.call(this,n,e)}function GD(n,e){je.call(this,n,e)}function Zz(n,e){je.call(this,n,e)}function a7(n,e){je.call(this,n,e)}function ag(n,e){je.call(this,n,e)}function zD(n,e){je.call(this,n,e)}function wC(n,e){je.call(this,n,e)}function d7(n,e){je.call(this,n,e)}function Lb(n,e){je.call(this,n,e)}function gC(n,e){je.call(this,n,e)}function nX(n,e){je.call(this,n,e)}function XD(n,e){je.call(this,n,e)}function VD(n,e){je.call(this,n,e)}function WD(n,e){je.call(this,n,e)}function JD(n,e){je.call(this,n,e)}function QD(n,e){je.call(this,n,e)}function YD(n,e){je.call(this,n,e)}function ZD(n,e){je.call(this,n,e)}function HCn(n,e){this.b=n,this.a=e}function eX(n,e){je.call(this,n,e)}function qCn(n,e){this.a=n,this.b=e}function UCn(n,e){this.a=n,this.b=e}function GCn(n,e){this.a=n,this.b=e}function tX(n,e){je.call(this,n,e)}function iX(n,e){je.call(this,n,e)}function zCn(n,e){this.a=n,this.b=e}function ble(n,e){return k4(),e!=n}function b7(n){return oe(n.a),n.b}function nL(n){return yCe(n,n.c),n}function XCn(){return tEn(),new TQn}function VCn(){VC(),this.a=new kV}function WCn(){OA(),this.a=new ni}function JCn(){NN(),this.b=new ni}function QCn(n,e){this.b=n,this.d=e}function YCn(n,e){this.a=n,this.b=e}function ZCn(n,e){this.a=n,this.b=e}function nMn(n,e){this.a=n,this.b=e}function eMn(n,e){this.b=n,this.a=e}function rX(n,e){je.call(this,n,e)}function cX(n,e){je.call(this,n,e)}function pC(n,e){je.call(this,n,e)}function u0(n,e){je.call(this,n,e)}function eL(n,e){je.call(this,n,e)}function mC(n,e){je.call(this,n,e)}function uX(n,e){je.call(this,n,e)}function oX(n,e){je.call(this,n,e)}function w7(n,e){je.call(this,n,e)}function sX(n,e){je.call(this,n,e)}function tL(n,e){je.call(this,n,e)}function vC(n,e){je.call(this,n,e)}function iL(n,e){je.call(this,n,e)}function rL(n,e){je.call(this,n,e)}function cL(n,e){je.call(this,n,e)}function uL(n,e){je.call(this,n,e)}function fX(n,e){je.call(this,n,e)}function oL(n,e){je.call(this,n,e)}function hX(n,e){je.call(this,n,e)}function g7(n,e){je.call(this,n,e)}function sL(n,e){je.call(this,n,e)}function lX(n,e){je.call(this,n,e)}function p7(n,e){je.call(this,n,e)}function aX(n,e){je.call(this,n,e)}function tMn(n,e){this.b=n,this.a=e}function iMn(n,e){this.b=n,this.a=e}function rMn(n,e){this.b=n,this.a=e}function cMn(n,e){this.b=n,this.a=e}function dX(n,e){this.a=n,this.b=e}function uMn(n,e){this.a=n,this.b=e}function oMn(n,e){this.a=n,this.b=e}function V(n,e){this.a=n,this.b=e}function k6(n,e){je.call(this,n,e)}function m7(n,e){je.call(this,n,e)}function wp(n,e){je.call(this,n,e)}function y6(n,e){je.call(this,n,e)}function v7(n,e){je.call(this,n,e)}function fL(n,e){je.call(this,n,e)}function kC(n,e){je.call(this,n,e)}function j6(n,e){je.call(this,n,e)}function hL(n,e){je.call(this,n,e)}function yC(n,e){je.call(this,n,e)}function dg(n,e){je.call(this,n,e)}function k7(n,e){je.call(this,n,e)}function E6(n,e){je.call(this,n,e)}function C6(n,e){je.call(this,n,e)}function y7(n,e){je.call(this,n,e)}function jC(n,e){je.call(this,n,e)}function bg(n,e){je.call(this,n,e)}function lL(n,e){je.call(this,n,e)}function sMn(n,e){je.call(this,n,e)}function EC(n,e){je.call(this,n,e)}function fMn(n,e){this.a=n,this.b=e}function hMn(n,e){this.a=n,this.b=e}function lMn(n,e){this.a=n,this.b=e}function aMn(n,e){this.a=n,this.b=e}function dMn(n,e){this.a=n,this.b=e}function bMn(n,e){this.a=n,this.b=e}function bi(n,e){this.a=n,this.b=e}function wMn(n,e){this.a=n,this.b=e}function gMn(n,e){this.a=n,this.b=e}function pMn(n,e){this.a=n,this.b=e}function mMn(n,e){this.a=n,this.b=e}function vMn(n,e){this.a=n,this.b=e}function kMn(n,e){this.a=n,this.b=e}function yMn(n,e){this.b=n,this.a=e}function jMn(n,e){this.b=n,this.a=e}function EMn(n,e){this.b=n,this.a=e}function CMn(n,e){this.b=n,this.a=e}function MMn(n,e){this.a=n,this.b=e}function TMn(n,e){this.a=n,this.b=e}function CC(n,e){je.call(this,n,e)}function AMn(n,e){this.a=n,this.b=e}function SMn(n,e){this.a=n,this.b=e}function gp(n,e){je.call(this,n,e)}function PMn(n,e){this.f=n,this.c=e}function bX(n,e){return Au(n.g,e)}function wle(n,e){return Au(e.b,n)}function IMn(n,e){return wx(n.a,e)}function gle(n,e){return-n.b.af(e)}function ple(n,e){n&&Xe(hE,n,e)}function wX(n,e){n.i=null,kT(n,e)}function mle(n,e,t){yKn(e,oF(n,t))}function vle(n,e,t){yKn(e,oF(n,t))}function kle(n,e){VMe(n.a,u(e,58))}function OMn(n,e){U4e(n.a,u(e,12))}function MC(n,e){this.a=n,this.b=e}function DMn(n,e){this.a=n,this.b=e}function LMn(n,e){this.a=n,this.b=e}function NMn(n,e){this.a=n,this.b=e}function $Mn(n,e){this.a=n,this.b=e}function xMn(n,e){this.d=n,this.b=e}function FMn(n,e){this.e=n,this.a=e}function j7(n,e){this.b=n,this.c=e}function gX(n,e){this.i=n,this.g=e}function pX(n,e){this.d=n,this.e=e}function yle(n,e){cme(new ne(n),e)}function TC(n){return Rk(n.c,n.b)}function Kr(n){return n?n.md():null}function x(n){return n??null}function Ai(n){return typeof n===nB}function Nb(n){return typeof n===i3}function $b(n){return typeof n===dtn}function o0(n,e){return Ec(n,e)==0}function AC(n,e){return Ec(n,e)>=0}function M6(n,e){return Ec(n,e)!=0}function SC(n,e){return jve(n.Kc(),e)}function _1(n,e){return n.Rd().Xb(e)}function BMn(n){return eo(n),n.d.gc()}function PC(n){return F6(n==null),n}function T6(n,e){return n.a+=""+e,n}function Er(n,e){return n.a+=""+e,n}function A6(n,e){return n.a+=""+e,n}function Dc(n,e){return n.a+=""+e,n}function Be(n,e){return n.a+=""+e,n}function mX(n,e){return n.a+=""+e,n}function jle(n){return""+(Jn(n),n)}function RMn(n){Hu(this),f5(this,n)}function KMn(){oJ(),dW.call(this)}function _Mn(n,e){mW.call(this,n,e)}function HMn(n,e){mW.call(this,n,e)}function IC(n,e){mW.call(this,n,e)}function ir(n,e){xt(n,e,n.c.b,n.c)}function wg(n,e){xt(n,e,n.a,n.a.a)}function vX(n){return Ln(n,0),null}function qMn(){this.b=0,this.a=!1}function UMn(){this.b=0,this.a=!1}function GMn(){this.b=new ap(Qb(12))}function zMn(){zMn=F,kYn=Ce(jx())}function XMn(){XMn=F,HZn=Ce(iqn())}function VMn(){VMn=F,lre=Ce(xxn())}function kX(){kX=F,_G(),fun=new de}function sf(n){return n.a=0,n.b=0,n}function WMn(n,e){return n.a=e.g+1,n}function aL(n,e){Kb.call(this,n,e)}function Mn(n,e){Dt.call(this,n,e)}function gg(n,e){gX.call(this,n,e)}function JMn(n,e){T7.call(this,n,e)}function dL(n,e){Y4.call(this,n,e)}function Ue(n,e){iC(),Xe(yO,n,e)}function QMn(n,e){n.q.setTime(id(e))}function Ele(n){y.clearTimeout(n)}function Cle(n){return Se(n),new S6(n)}function YMn(n,e){return x(n)===x(e)}function ZMn(n,e){return n.a.a.a.cc(e)}function bL(n,e){return qo(n.a,0,e)}function yX(n){return Awe(u(n,74))}function pp(n){return wi((Jn(n),n))}function Mle(n){return wi((Jn(n),n))}function nTn(n){return Yc(n.l,n.m,n.h)}function jX(n,e){return jc(n.a,e.a)}function Tle(n,e){return KPn(n.a,e.a)}function Ale(n,e){return bt(n.a,e.a)}function th(n,e){return n.indexOf(e)}function Sle(n,e){return n.j[e.p]==2}function s0(n,e){return n==e?0:n?1:-1}function OC(n){return n<10?"0"+n:""+n}function Vr(n){return typeof n===dtn}function Ple(n){return n==rb||n==Iw}function Ile(n){return n==rb||n==Pw}function eTn(n,e){return jc(n.g,e.g)}function EX(n){return qr(n.b.b,n,0)}function tTn(){rM.call(this,0,0,0,0)}function ih(){CG.call(this,new Ql)}function CX(n,e){F4(n,0,n.length,e)}function Ole(n,e){return nn(n.a,e),e}function Dle(n,e){return xs(),e.a+=n}function Lle(n,e){return xs(),e.a+=n}function Nle(n,e){return xs(),e.c+=n}function $le(n,e){return nn(n.c,e),n}function MX(n,e){return Mo(n.a,e),n}function iTn(n){this.a=XCn(),this.b=n}function rTn(n){this.a=XCn(),this.b=n}function rr(n){this.a=n.a,this.b=n.b}function S6(n){this.a=n,GO.call(this)}function cTn(n){this.a=n,GO.call(this)}function mp(){Ho.call(this,0,0,0,0)}function DC(n){return Mo(new ii,n)}function uTn(n){return jM(u(n,123))}function fo(n){return n.vh()&&n.wh()}function pg(n){return n!=Jf&&n!=Sa}function hl(n){return n==Br||n==Xr}function mg(n){return n==us||n==Vf}function oTn(n){return n==S2||n==A2}function xle(n,e){return jc(n.g,e.g)}function sTn(n,e){return new Y4(e,n)}function Fle(n,e){return new Y4(e,n)}function TX(n){return rbe(n.b.Kc(),n.a)}function wL(n,e){um(n,e),G4(n,n.D)}function gL(n,e,t){aT(n,e),lT(n,t)}function vg(n,e,t){I0(n,e),P0(n,t)}function Ro(n,e,t){eu(n,e),tu(n,t)}function E7(n,e,t){_4(n,e),q4(n,t)}function C7(n,e,t){H4(n,e),U4(n,t)}function fTn(n,e,t){sV.call(this,n,e,t)}function AX(n){PMn.call(this,n,!0)}function hTn(){uC.call(this,"Tail",3)}function lTn(){uC.call(this,"Head",1)}function H1(n){dh(),mve.call(this,n)}function f0(n){rM.call(this,n,n,n,n)}function pL(n){n.c=K(ki,Fn,1,0,5,1)}function SX(n){return n.b&&xF(n),n.a}function PX(n){return n.b&&xF(n),n.c}function Ble(n,e){qf||(n.b=e)}function Rle(n,e){return n[n.length]=e}function Kle(n,e){return n[n.length]=e}function _le(n,e){return Yb(e,Af(n))}function Hle(n,e){return Yb(e,Af(n))}function qle(n,e){return pT(dN(n.d),e)}function Ule(n,e){return pT(dN(n.g),e)}function Gle(n,e){return pT(dN(n.j),e)}function Ni(n,e){Dt.call(this,n.b,e)}function zle(n,e){ve(Sc(n.a),DOn(e))}function Xle(n,e){ve(no(n.a),LOn(e))}function Vle(n,e,t){Ro(t,t.i+n,t.j+e)}function aTn(n,e,t){$t(n.c[e.g],e.g,t)}function Wle(n,e,t){u(n.c,71).Gi(e,t)}function mL(n,e,t){return $t(n,e,t),t}function dTn(n){nu(n.Sf(),new D9n(n))}function kg(n){return n!=null?mt(n):0}function Jle(n){return n==null?0:mt(n)}function P6(n){nt(),Wd.call(this,n)}function bTn(n){this.a=n,qV.call(this,n)}function Mf(){Mf=F,y.Math.log(2)}function Ko(){Ko=F,rl=(pCn(),Moe)}function wTn(){wTn=F,YH=new j5(aU)}function Ie(){Ie=F,new gTn,new Z}function gTn(){new de,new de,new de}function Qle(){throw M(new Kl(QJn))}function Yle(){throw M(new Kl(QJn))}function Zle(){throw M(new Kl(YJn))}function n1e(){throw M(new Kl(YJn))}function vL(n){this.a=n,VE.call(this,n)}function kL(n){this.a=n,VE.call(this,n)}function pTn(n,e){m0(),this.a=n,this.b=e}function e1e(n,e){Se(e),Tg(n).Jc(new Ru)}function Yt(n,e){QL(n.c,n.c.length,e)}function tc(n){return n.ae?1:0}function OX(n,e){return Ec(n,e)>0?n:e}function Yc(n,e,t){return{l:n,m:e,h:t}}function t1e(n,e){n.a!=null&&OMn(e,n.a)}function i1e(n){Zi(n,null),Ii(n,null)}function r1e(n,e,t){return Xe(n.g,t,e)}function yg(n,e,t){return nZ(e,t,n.c)}function c1e(n,e,t){return Xe(n.k,t,e)}function u1e(n,e,t){return GOe(n,e,t),t}function o1e(n,e){return ko(),e.n.b+=n}function vTn(n){nJ.call(this),this.b=n}function DX(n){vV.call(this),this.a=n}function kTn(){uC.call(this,"Range",2)}function LC(n){this.b=n,this.a=new Z}function yTn(n){this.b=new $bn,this.a=n}function jTn(n){n.a=new OO,n.c=new OO}function ETn(n){n.a=new de,n.d=new de}function CTn(n){$N(n,null),xN(n,null)}function MTn(n,e){return XOe(n.a,e,null)}function s1e(n,e){return Xe(n.a,e.a,e)}function Ki(n){return new V(n.a,n.b)}function LX(n){return new V(n.c,n.d)}function f1e(n){return new V(n.c,n.d)}function I6(n,e){return cOe(n.c,n.b,e)}function O(n,e){return n!=null&&Tx(n,e)}function yL(n,e){return Yve(n.Kc(),e)!=-1}function NC(n){return n.Ob()?n.Pb():null}function h1e(n){this.b=(Dn(),new eD(n))}function NX(n){this.a=n,de.call(this)}function TTn(){T7.call(this,null,null)}function ATn(){_C.call(this,null,null)}function STn(){je.call(this,"INSTANCE",0)}function PTn(){LZ(),this.a=new K5(Ion)}function ITn(n){return hh(n,0,n.length)}function l1e(n,e){return new VTn(n.Kc(),e)}function $X(n,e){return n.a.Bc(e)!=null}function OTn(n,e){me(n),n.Gc(u(e,15))}function a1e(n,e,t){n.c.bd(e,u(t,136))}function d1e(n,e,t){n.c.Ui(e,u(t,136))}function DTn(n,e){n.c&&(tW(e),rOn(e))}function b1e(n,e){n.q.setHours(e),G5(n,e)}function w1e(n,e){a0(e,n.a.a.a,n.a.a.b)}function g1e(n,e,t,i){$t(n.a[e.g],t.g,i)}function jL(n,e,t){return n.a[e.g][t.g]}function p1e(n,e){return n.e[e.c.p][e.p]}function m1e(n,e){return n.c[e.c.p][e.p]}function Tf(n,e){return n.a[e.c.p][e.p]}function v1e(n,e){return n.j[e.p]=IMe(e)}function EL(n,e){return n.a.Bc(e)!=null}function k1e(n,e){return $(R(e.a))<=n}function y1e(n,e){return $(R(e.a))>=n}function j1e(n,e){return RJ(n.f,e.Pg())}function vp(n,e){return n.a*e.a+n.b*e.b}function E1e(n,e){return n.a0?e/(n*n):e*100}function V1e(n,e){return n>0?e*e/n:e*e*100}function xb(n,e){return u(Lf(n.a,e),34)}function W1e(n,e){return ca(),Pn(n,e.e,e)}function J1e(n,e,t){return nC(),t.Mg(n,e)}function Q1e(n){return kl(),n.e.a+n.f.a/2}function Y1e(n,e,t){return kl(),t.e.a-n*e}function Z1e(n){return kl(),n.e.b+n.f.b/2}function nae(n,e,t){return kl(),t.e.b-n*e}function sAn(n){n.d=new cAn(n),n.e=new de}function fAn(){this.a=new C0,this.b=new C0}function hAn(n){this.c=n,this.a=1,this.b=1}function lAn(n){YF(),Syn(this),this.Ff(n)}function eae(n,e,t){YM(),n.pf(e)&&t.Cd(n)}function tae(n,e,t){return nn(e,jBn(n,t))}function a0(n,e,t){return n.a+=e,n.b+=t,n}function iae(n,e,t){return n.a*=e,n.b*=t,n}function ZX(n,e){return n.a=e.a,n.b=e.b,n}function HC(n){return n.a=-n.a,n.b=-n.b,n}function N6(n,e,t){return n.a-=e,n.b-=t,n}function aAn(n){Ct.call(this),c5(this,n)}function dAn(){je.call(this,"GROW_TREE",0)}function bAn(){je.call(this,"POLYOMINO",0)}function lo(n,e,t){Iu.call(this,n,e,t,2)}function rae(n,e,t){k5(Sc(n.a),e,DOn(t))}function wAn(n,e){a6(),T7.call(this,n,e)}function nV(n,e){Gl(),_C.call(this,n,e)}function gAn(n,e){Gl(),nV.call(this,n,e)}function pAn(n,e){Gl(),_C.call(this,n,e)}function cae(n,e){return n.c.Fc(u(e,136))}function uae(n,e,t){k5(no(n.a),e,LOn(t))}function mAn(n){this.c=n,eu(n,0),tu(n,0)}function PL(n,e){Ko(),oM.call(this,n,e)}function vAn(n,e){Ko(),PL.call(this,n,e)}function eV(n,e){Ko(),PL.call(this,n,e)}function tV(n,e){Ko(),oM.call(this,n,e)}function kAn(n,e){Ko(),eV.call(this,n,e)}function yAn(n,e){Ko(),tV.call(this,n,e)}function jAn(n,e){Ko(),oM.call(this,n,e)}function oae(n,e,t){return e.zl(n.e,n.c,t)}function sae(n,e,t){return e.Al(n.e,n.c,t)}function iV(n,e,t){return qA(ak(n,e),t)}function IL(n,e){return na(n.e,u(e,54))}function fae(n){return n==null?null:NDe(n)}function hae(n){return n==null?null:Aje(n)}function lae(n){return n==null?null:Jr(n)}function aae(n){return n==null?null:Jr(n)}function un(n){return F6(n==null||Nb(n)),n}function R(n){return F6(n==null||$b(n)),n}function Oe(n){return F6(n==null||Ai(n)),n}function ll(n){n.o==null&&cMe(n)}function rV(n){if(!n)throw M(new Q9)}function dae(n){if(!n)throw M(new uD)}function oe(n){if(!n)throw M(new nc)}function Fb(n){if(!n)throw M(new Cu)}function EAn(n){if(!n)throw M(new Bo)}function m4(){m4=F,aE=new ujn,new ojn}function Mg(){Mg=F,O2=new lt("root")}function cV(){cxn.call(this),this.Bb|=hr}function bae(n,e){this.d=n,c9n(this),this.b=e}function uV(n,e){i$.call(this,n),this.a=e}function oV(n,e){i$.call(this,n),this.a=e}function sV(n,e,t){VM.call(this,n,e,t,null)}function CAn(n,e,t){VM.call(this,n,e,t,null)}function P7(n,e){this.c=n,h4.call(this,n,e)}function $6(n,e){this.a=n,P7.call(this,n,e)}function fV(n){this.q=new y.Date(id(n))}function MAn(n){return n>8?0:n+1}function TAn(n,e){qf||nn(n.a,e)}function wae(n,e){return o7(),Q4(e.d.i,n)}function gae(n,e){return Hp(),new tUn(e,n)}function pae(n,e,t){return n.Ne(e,t)<=0?t:e}function mae(n,e,t){return n.Ne(e,t)<=0?e:t}function vae(n,e){return u(Lf(n.b,e),143)}function kae(n,e){return u(Lf(n.c,e),233)}function OL(n){return u(sn(n.a,n.b),294)}function AAn(n){return new V(n.c,n.d+n.a)}function SAn(n){return Jn(n),n?1231:1237}function PAn(n){return ko(),oTn(u(n,203))}function Bb(){Bb=F,ron=yn((go(),Gd))}function yae(n,e){e.a?MCe(n,e):EL(n.a,e.b)}function I7(n,e,t){++n.j,n.tj(),t$(n,e,t)}function IAn(n,e,t){++n.j,n.qj(e,n.Zi(e,t))}function OAn(n,e,t){var i;i=n.fd(e),i.Rb(t)}function hV(n,e,t){return t=So(n,e,6,t),t}function lV(n,e,t){return t=So(n,e,3,t),t}function aV(n,e,t){return t=So(n,e,9,t),t}function ch(n,e){return X7(e,xtn),n.f=e,n}function dV(n,e){return(e&et)%n.d.length}function DAn(n,e,t){return zen(n.c,n.b,e,t)}function LAn(n,e){this.c=n,S0.call(this,e)}function NAn(n,e){this.a=n,kyn.call(this,e)}function O7(n,e){this.a=n,kyn.call(this,e)}function Dt(n,e){lt.call(this,n),this.a=e}function bV(n,e){FG.call(this,n),this.a=e}function DL(n,e){FG.call(this,n),this.a=e}function jae(n){VY.call(this,0,0),this.f=n}function $An(n,e,t){return n.a+=hh(e,0,t),n}function D7(n){return!n.a&&(n.a=new C0n),n.a}function wV(n,e){var t;return t=n.e,n.e=e,t}function gV(n,e){var t;return t=e,!!n.Fe(t)}function Eae(n,e){return _n(),n==e?0:n?1:-1}function Rb(n,e){n.a.bd(n.b,e),++n.b,n.c=-1}function L7(n){n.b?L7(n.b):n.f.c.zc(n.e,n.d)}function xAn(n){Hu(n.e),n.d.b=n.d,n.d.a=n.d}function Cae(n,e,t){Xa(),t9n(n,e.Ve(n.a,t))}function pV(n,e,t){return Pp(n,u(e,22),t)}function $s(n,e){return qE(new Array(e),n)}function Mae(n){return Ae(U1(n,32))^Ae(n)}function LL(n){return String.fromCharCode(n)}function Tae(n){return n==null?null:n.message}function Aae(n,e,t){return n.apply(e,t)}function Sae(n,e){var t;t=n[DB],t.call(n,e)}function Pae(n,e){var t;t=n[DB],t.call(n,e)}function Iae(n,e){return o7(),!Q4(e.d.i,n)}function mV(n,e,t,i){rM.call(this,n,e,t,i)}function FAn(){qC.call(this),this.a=new Li}function vV(){this.n=new Li,this.o=new Li}function BAn(){this.b=new Li,this.c=new Z}function RAn(){this.a=new Z,this.b=new Z}function KAn(){this.a=new _U,this.b=new Byn}function kV(){this.b=new Ql,this.a=new Ql}function _An(){this.b=new ni,this.a=new ni}function HAn(){this.b=new de,this.a=new de}function qAn(){this.b=new wEn,this.a=new H3n}function UAn(){this.a=new n8n,this.b=new Lpn}function GAn(){this.a=new Z,this.d=new Z}function qC(){this.n=new cp,this.i=new mp}function zAn(n){this.a=(Co(n,mw),new Gc(n))}function XAn(n){this.a=(Co(n,mw),new Gc(n))}function Oae(n){return n<100?null:new F1(n)}function Dae(n,e){return n.n.a=(Jn(e),e+10)}function Lae(n,e){return n.n.a=(Jn(e),e+10)}function Nae(n,e){return e==n||km(TA(e),n)}function VAn(n,e){return Xe(n.a,e,"")==null}function $ae(n,e){var t;return t=e.qi(n.a),t}function tt(n,e){return n.a+=e.a,n.b+=e.b,n}function mi(n,e){return n.a-=e.a,n.b-=e.b,n}function xae(n){return Pb(n.j.c,0),n.a=-1,n}function yV(n,e,t){return t=So(n,e,11,t),t}function Fae(n,e,t){t!=null&&mT(e,Fx(n,t))}function Bae(n,e,t){t!=null&&vT(e,Fx(n,t))}function jp(n,e,t,i){q.call(this,n,e,t,i)}function jV(n,e,t,i){q.call(this,n,e,t,i)}function WAn(n,e,t,i){jV.call(this,n,e,t,i)}function JAn(n,e,t,i){bM.call(this,n,e,t,i)}function NL(n,e,t,i){bM.call(this,n,e,t,i)}function EV(n,e,t,i){bM.call(this,n,e,t,i)}function QAn(n,e,t,i){NL.call(this,n,e,t,i)}function CV(n,e,t,i){NL.call(this,n,e,t,i)}function Nn(n,e,t,i){EV.call(this,n,e,t,i)}function YAn(n,e,t,i){CV.call(this,n,e,t,i)}function ZAn(n,e,t,i){jW.call(this,n,e,t,i)}function Kb(n,e){Ir.call(this,k8+n+Td+e)}function MV(n,e){return n.jk().wi().ri(n,e)}function TV(n,e){return n.jk().wi().ti(n,e)}function nSn(n,e){return Jn(n),x(n)===x(e)}function An(n,e){return Jn(n),x(n)===x(e)}function Rae(n,e){return n.b.Bd(new ECn(n,e))}function Kae(n,e){return n.b.Bd(new CCn(n,e))}function eSn(n,e){return n.b.Bd(new MCn(n,e))}function _ae(n,e){return n.e=u(n.d.Kb(e),159)}function AV(n,e,t){return n.lastIndexOf(e,t)}function Hae(n,e,t){return bt(n[e.a],n[t.a])}function qae(n,e){return U(e,(cn(),Cj),n)}function Uae(n,e){return jc(e.a.d.p,n.a.d.p)}function Gae(n,e){return jc(n.a.d.p,e.a.d.p)}function zae(n,e){return bt(n.c-n.s,e.c-e.s)}function Xae(n,e){return bt(n.b.e.a,e.b.e.a)}function Vae(n,e){return bt(n.c.e.a,e.c.e.a)}function tSn(n){return n.c?qr(n.c.a,n,0):-1}function Ep(n){return n==Ud||n==tl||n==qc}function SV(n,e){this.c=n,oN.call(this,n,e)}function iSn(n,e,t){this.a=n,JX.call(this,e,t)}function rSn(n){this.c=n,IC.call(this,Ey,0)}function cSn(n,e,t){this.c=e,this.b=t,this.a=n}function N7(n){k4(),this.d=n,this.a=new Eg}function uSn(n){uh(),this.a=(Dn(),new r4(n))}function Wae(n,e){hl(n.f)?QCe(n,e):Sye(n,e)}function oSn(n,e){sbe.call(this,n,n.length,e)}function Jae(n,e){qf||e&&(n.d=e)}function sSn(n,e){return O(e,15)&&xqn(n.c,e)}function Qae(n,e,t){return u(n.c,71).Wk(e,t)}function UC(n,e,t){return u(n.c,71).Xk(e,t)}function Yae(n,e,t){return oae(n,u(e,343),t)}function PV(n,e,t){return sae(n,u(e,343),t)}function Zae(n,e,t){return PKn(n,u(e,343),t)}function fSn(n,e,t){return _ye(n,u(e,343),t)}function x6(n,e){return e==null?null:tw(n.b,e)}function IV(n){return $b(n)?(Jn(n),n):n.ue()}function GC(n){return!isNaN(n)&&!isFinite(n)}function $L(n){jTn(this),vo(this),Bi(this,n)}function _u(n){pL(this),zV(this.c,0,n.Pc())}function _o(n,e,t){this.a=n,this.b=e,this.c=t}function hSn(n,e,t){this.a=n,this.b=e,this.c=t}function lSn(n,e,t){this.d=n,this.b=t,this.a=e}function aSn(n){this.a=n,fl(),vc(Date.now())}function dSn(n){bo(n.a),GJ(n.c,n.b),n.b=null}function xL(){xL=F,Oun=new $0n,AQn=new x0n}function bSn(){bSn=F,Ioe=K(ki,Fn,1,0,5,1)}function wSn(){wSn=F,Voe=K(ki,Fn,1,0,5,1)}function OV(){OV=F,Woe=K(ki,Fn,1,0,5,1)}function uh(){uh=F,new KG((Dn(),Dn(),sr))}function nde(n){return B4(),Ee((yNn(),IQn),n)}function ede(n){return Gu(),Ee((lNn(),xQn),n)}function tde(n){return YT(),Ee((JDn(),HQn),n)}function ide(n){return cT(),Ee((QDn(),qQn),n)}function rde(n){return NA(),Ee((Jxn(),UQn),n)}function cde(n){return bf(),Ee((fNn(),XQn),n)}function ude(n){return Uu(),Ee((sNn(),WQn),n)}function ode(n){return bu(),Ee((hNn(),QQn),n)}function sde(n){return VA(),Ee((zMn(),kYn),n)}function fde(n){return N0(),Ee((ENn(),jYn),n)}function hde(n){return Vp(),Ee((MNn(),CYn),n)}function lde(n){return A5(),Ee((CNn(),AYn),n)}function ade(n){return YE(),Ee((jDn(),SYn),n)}function dde(n){return uT(),Ee((YDn(),GYn),n)}function bde(n){return i5(),Ee((aNn(),pZn),n)}function wde(n){return Vi(),Ee((u$n(),yZn),n)}function gde(n){return nm(),Ee((ANn(),TZn),n)}function pde(n){return dd(),Ee((TNn(),DZn),n)}function DV(n,e){if(!n)throw M(new Gn(e))}function v4(n){if(!n)throw M(new Or(btn))}function FL(n,e){if(n!=e)throw M(new Bo)}function gSn(n,e,t){this.a=n,this.b=e,this.c=t}function LV(n,e,t){this.a=n,this.b=e,this.c=t}function pSn(n,e,t){this.a=n,this.b=e,this.c=t}function zC(n,e,t){this.b=n,this.a=e,this.c=t}function NV(n,e,t){this.b=n,this.c=e,this.a=t}function $V(n,e,t){this.a=n,this.b=e,this.c=t}function XC(n,e,t){this.e=e,this.b=n,this.d=t}function mSn(n,e,t){this.b=n,this.a=e,this.c=t}function mde(n,e,t){return Xa(),n.a.Yd(e,t),e}function BL(n){var e;return e=new ubn,e.e=n,e}function xV(n){var e;return e=new qyn,e.b=n,e}function $7(){$7=F,CP=new sgn,MP=new fgn}function VC(){VC=F,XZn=new xgn,zZn=new Fgn}function xs(){xs=F,YZn=new G2n,ZZn=new z2n}function vde(n){return D0(),Ee((qLn(),fne),n)}function kde(n){return tr(),Ee((XMn(),HZn),n)}function yde(n){return OT(),Ee((PNn(),GZn),n)}function jde(n){return $f(),Ee((SNn(),tne),n)}function Ede(n){return ow(),Ee((o$n(),rne),n)}function Cde(n){return DA(),Ee(($xn(),hne),n)}function Mde(n){return Yp(),Ee((D$n(),lne),n)}function Tde(n){return QM(),Ee((cLn(),ane),n)}function Ade(n){return u5(),Ee((_Ln(),dne),n)}function Sde(n){return bT(),Ee((HLn(),bne),n)}function Pde(n){return o1(),Ee((s$n(),wne),n)}function Ide(n){return pk(),Ee((eLn(),gne),n)}function Ode(n){return jm(),Ee(($$n(),jne),n)}function Dde(n){return pr(),Ee((aFn(),Ene),n)}function Lde(n){return Z4(),Ee((GLn(),Cne),n)}function Nde(n){return vl(),Ee((zLn(),Tne),n)}function $de(n){return KM(),Ee((nLn(),Ane),n)}function xde(n){return Jk(),Ee((N$n(),yne),n)}function Fde(n){return hd(),Ee((ULn(),mne),n)}function Bde(n){return vA(),Ee((L$n(),vne),n)}function Rde(n){return hk(),Ee((tLn(),kne),n)}function Kde(n){return Yo(),Ee((h$n(),Sne),n)}function _de(n){return a1(),Ee((Xxn(),Yte),n)}function Hde(n){return g5(),Ee((XLn(),Zte),n)}function qde(n){return cw(),Ee((INn(),nie),n)}function Ude(n){return T5(),Ee((f$n(),eie),n)}function Gde(n){return gs(),Ee((dFn(),tie),n)}function zde(n){return lh(),Ee((ONn(),iie),n)}function Xde(n){return wk(),Ee((iLn(),rie),n)}function Vde(n){return gr(),Ee((JLn(),uie),n)}function Wde(n){return ST(),Ee((VLn(),oie),n)}function Jde(n){return d5(),Ee((WLn(),sie),n)}function Qde(n){return om(),Ee((QLn(),fie),n)}function Yde(n){return dT(),Ee((YLn(),hie),n)}function Zde(n){return DT(),Ee((ZLn(),lie),n)}function n0e(n){return O0(),Ee((oNn(),Aie),n)}function e0e(n){return n5(),Ee((rLn(),Die),n)}function t0e(n){return sh(),Ee((sLn(),Rie),n)}function i0e(n){return Sf(),Ee((fLn(),_ie),n)}function r0e(n){return lf(),Ee((hLn(),tre),n)}function c0e(n){return M0(),Ee((lLn(),fre),n)}function u0e(n){return Qp(),Ee((BNn(),hre),n)}function o0e(n){return q5(),Ee((VMn(),lre),n)}function s0e(n){return b5(),Ee((nNn(),are),n)}function f0e(n){return w5(),Ee((FNn(),$re),n)}function h0e(n){return FM(),Ee((uLn(),xre),n)}function l0e(n){return yT(),Ee((oLn(),_re),n)}function a0e(n){return wA(),Ee((l$n(),qre),n)}function d0e(n){return Ok(),Ee((eNn(),Gre),n)}function b0e(n){return ZM(),Ee((aLn(),Ure),n)}function w0e(n){return sA(),Ee((xNn(),lce),n)}function g0e(n){return AT(),Ee((tNn(),ace),n)}function p0e(n){return XT(),Ee((iNn(),dce),n)}function m0e(n){return rA(),Ee((rNn(),wce),n)}function v0e(n){return _T(),Ee((cNn(),mce),n)}function k0e(n){return GM(),Ee((dLn(),Rce),n)}function y0e(n){return V4(),Ee((ZDn(),_Zn),n)}function j0e(n){return Vn(),Ee((x$n(),xZn),n)}function E0e(n){return nT(),Ee((uNn(),Kce),n)}function C0e(n){return N$(),Ee((bLn(),_ce),n)}function M0e(n){return R5(),Ee((a$n(),qce),n)}function T0e(n){return eC(),Ee((IDn(),Gce),n)}function A0e(n){return Fk(),Ee((bNn(),Uce),n)}function S0e(n){return tC(),Ee((ODn(),Xce),n)}function P0e(n){return ck(),Ee((wLn(),Vce),n)}function I0e(n){return Yk(),Ee((d$n(),Wce),n)}function O0e(n){return f6(),Ee((DDn(),lue),n)}function D0e(n){return Ak(),Ee((gLn(),aue),n)}function L0e(n){return gf(),Ee((w$n(),mue),n)}function N0e(n){return l1(),Ee((Lxn(),kue),n)}function $0e(n){return Rh(),Ee((F$n(),yue),n)}function x0e(n){return wd(),Ee((B$n(),Aue),n)}function F0e(n){return ci(),Ee((b$n(),zue),n)}function B0e(n){return Nf(),Ee((wNn(),Xue),n)}function R0e(n){return El(),Ee((RNn(),Vue),n)}function K0e(n){return pA(),Ee((R$n(),Wue),n)}function _0e(n){return jl(),Ee((dNn(),Que),n)}function H0e(n){return To(),Ee((KNn(),Zue),n)}function q0e(n){return lw(),Ee((Wxn(),noe),n)}function U0e(n){return Fg(),Ee((g$n(),eoe),n)}function G0e(n){return Oi(),Ee((K$n(),toe),n)}function z0e(n){return zu(),Ee((_$n(),ioe),n)}function X0e(n){return tn(),Ee((p$n(),roe),n)}function V0e(n){return go(),Ee((_Nn(),foe),n)}function W0e(n){return io(),Ee((Vxn(),hoe),n)}function J0e(n){return Gp(),Ee((gNn(),loe),n)}function Q0e(n,e){return Jn(n),n+(Jn(e),e)}function Y0e(n){return RL(),Ee((pLn(),aoe),n)}function Z0e(n){return qT(),Ee((HNn(),doe),n)}function nbe(n){return LT(),Ee((qNn(),goe),n)}function k4(){k4=F,tln=(tn(),Wn),II=Zn}function RL(){RL=F,vdn=new VSn,kdn=new LPn}function ebe(n){return!n.e&&(n.e=new Z),n.e}function KL(n,e){this.c=n,this.a=e,this.b=e-n}function vSn(n,e,t){this.a=n,this.b=e,this.c=t}function _L(n,e,t){this.a=n,this.b=e,this.c=t}function FV(n,e,t){this.a=n,this.b=e,this.c=t}function BV(n,e,t){this.a=n,this.b=e,this.c=t}function kSn(n,e,t){this.a=n,this.b=e,this.c=t}function ySn(n,e,t){this.a=n,this.b=e,this.c=t}function Xl(n,e,t){this.e=n,this.a=e,this.c=t}function jSn(n,e,t){Ko(),tJ.call(this,n,e,t)}function HL(n,e,t){Ko(),RW.call(this,n,e,t)}function RV(n,e,t){Ko(),RW.call(this,n,e,t)}function KV(n,e,t){Ko(),RW.call(this,n,e,t)}function ESn(n,e,t){Ko(),HL.call(this,n,e,t)}function _V(n,e,t){Ko(),HL.call(this,n,e,t)}function CSn(n,e,t){Ko(),_V.call(this,n,e,t)}function MSn(n,e,t){Ko(),RV.call(this,n,e,t)}function TSn(n,e,t){Ko(),KV.call(this,n,e,t)}function qL(n){rM.call(this,n.d,n.c,n.a,n.b)}function HV(n){rM.call(this,n.d,n.c,n.a,n.b)}function qV(n){this.d=n,c9n(this),this.b=nwe(n.d)}function tbe(n){return Cm(),Ee((Nxn(),Poe),n)}function x7(n,e){return Se(n),Se(e),new NEn(n,e)}function Cp(n,e){return Se(n),Se(e),new RSn(n,e)}function ibe(n,e){return Se(n),Se(e),new KSn(n,e)}function rbe(n,e){return Se(n),Se(e),new qEn(n,e)}function UL(n){return oe(n.b!=0),Xo(n,n.a.a)}function cbe(n){return oe(n.b!=0),Xo(n,n.c.b)}function ube(n){return!n.c&&(n.c=new W3),n.c}function y4(n){var e;return e=new Z,b$(e,n),e}function obe(n){var e;return e=new ni,b$(e,n),e}function ASn(n){var e;return e=new GG,A$(e,n),e}function F7(n){var e;return e=new Ct,A$(e,n),e}function u(n,e){return F6(n==null||Tx(n,e)),n}function sbe(n,e,t){TPn.call(this,e,t),this.a=n}function SSn(n,e){this.c=n,this.b=e,this.a=!1}function PSn(){this.a=";,;",this.b="",this.c=""}function ISn(n,e,t){this.b=n,_Mn.call(this,e,t)}function UV(n,e,t){this.c=n,oC.call(this,e,t)}function GV(n,e,t){d4.call(this,n,e),this.b=t}function zV(n,e,t){Bnn(t,0,n,e,t.length,!1)}function Lh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function XV(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function fbe(n,e){e&&(n.b=e,n.a=(z1(e),e.a))}function B7(n,e){if(!n)throw M(new Gn(e))}function Mp(n,e){if(!n)throw M(new Or(e))}function VV(n,e){if(!n)throw M(new Bjn(e))}function hbe(n,e){return ZE(),jc(n.d.p,e.d.p)}function lbe(n,e){return kl(),bt(n.e.b,e.e.b)}function abe(n,e){return kl(),bt(n.e.a,e.e.a)}function dbe(n,e){return jc(GSn(n.d),GSn(e.d))}function WC(n,e){return e&&vM(n,e.d)?e:null}function bbe(n,e){return e==(tn(),Wn)?n.c:n.d}function WV(n){return Q1(dwe(Vr(n)?ds(n):n))}function wbe(n){return new V(n.c+n.b,n.d+n.a)}function OSn(n){return n!=null&&!lx(n,N9,$9)}function gbe(n,e){return(fBn(n)<<4|fBn(e))&ui}function DSn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function JV(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function QV(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function pbe(n,e){var t;return t=n.c,PQ(n,e),t}function YV(n,e){return e<0?n.g=-1:n.g=e,n}function JC(n,e){return Mme(n),n.a*=e,n.b*=e,n}function LSn(n,e,t){A$n.call(this,e,t),this.d=n}function R7(n,e,t){pX.call(this,n,e),this.c=t}function QC(n,e,t){pX.call(this,n,e),this.c=t}function ZV(n){OV(),ME.call(this),this.ci(n)}function NSn(){$4(),Bwe.call(this,(R1(),Ss))}function $Sn(n){return nt(),new Nh(0,n)}function xSn(){xSn=F,AU=(Dn(),new nD(IK))}function YC(){YC=F,new hZ((bD(),HK),(dD(),_K))}function FSn(){FSn=F,pun=K(Gi,J,17,256,0,1)}function BSn(){this.b=$(R(rn((qs(),y_))))}function GL(n){this.b=n,this.a=Wa(this.b.a).Od()}function RSn(n,e){this.b=n,this.a=e,GO.call(this)}function KSn(n,e){this.a=n,this.b=e,GO.call(this)}function _Sn(n,e,t){this.a=n,gg.call(this,e,t)}function HSn(n,e,t){this.a=n,gg.call(this,e,t)}function j4(n,e,t){var i;i=new qb(t),df(n,e,i)}function nW(n,e,t){var i;return i=n[e],n[e]=t,i}function ZC(n){var e;return e=n.slice(),o$(e,n)}function nM(n){var e;return e=n.n,n.a.b+e.d+e.a}function qSn(n){var e;return e=n.n,n.e.b+e.d+e.a}function eW(n){var e;return e=n.n,n.e.a+e.b+e.c}function tW(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function xe(n,e){return xt(n,e,n.c.b,n.c),!0}function mbe(n){return n.a?n.a:vN(n)}function vbe(n){return Lp(),Kh(n)==At(ia(n))}function kbe(n){return Lp(),ia(n)==At(Kh(n))}function d0(n,e){return O5(n,new d4(e.a,e.b))}function ybe(n,e){return yM(),Nx(n,e),new lIn(n,e)}function jbe(n,e){return n.c=e)throw M(new YG)}function _b(n,e){return $k(n,(Jn(e),new a9n(e)))}function Ap(n,e){return $k(n,(Jn(e),new d9n(e)))}function SPn(n,e,t){return VLe(n,u(e,12),u(t,12))}function PPn(n){return Ou(),u(n,12).g.c.length!=0}function IPn(n){return Ou(),u(n,12).e.c.length!=0}function uwe(n,e){return Hp(),bt(e.a.o.a,n.a.o.a)}function owe(n,e){e.Bb&kc&&!n.a.o&&(n.a.o=e)}function swe(n,e){e.Ug("General 'Rotator",1),jDe(n)}function fwe(n,e,t){e.qf(t,$(R(ee(n.b,t)))*n.a)}function OPn(n,e,t){return Xg(),W4(n,e)&&W4(n,t)}function _6(n){return zu(),!n.Hc(Fl)&&!n.Hc(Pa)}function hwe(n){return n.e?qJ(n.e):null}function H6(n){return Vr(n)?""+n:$qn(n)}function yW(n){var e;for(e=n;e.f;)e=e.f;return e}function lwe(n,e,t){return $t(e,0,oW(e[0],t[0])),e}function Vl(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function q(n,e,t,i){ti.call(this,n,e,t),this.b=i}function Ci(n,e,t,i,r){c$.call(this,n,e,t,i,r,-1)}function q6(n,e,t,i,r){ok.call(this,n,e,t,i,r,-1)}function bM(n,e,t,i){R7.call(this,n,e,t),this.b=i}function DPn(n){PMn.call(this,n,!1),this.a=!1}function LPn(){sMn.call(this,"LOOKAHEAD_LAYOUT",1)}function NPn(n){this.b=n,kp.call(this,n),RTn(this)}function $Pn(n){this.b=n,A7.call(this,n),KTn(this)}function Hb(n,e,t){this.a=n,jp.call(this,e,t,5,6)}function jW(n,e,t,i){this.b=n,ti.call(this,e,t,i)}function xPn(n,e){this.b=n,H8n.call(this,n.b),this.a=e}function FPn(n){this.a=kRn(n.a),this.b=new _u(n.b)}function EW(n,e){m0(),Hhe.call(this,n,FT(new Ku(e)))}function wM(n,e){return nt(),new BW(n,e,0)}function rN(n,e){return nt(),new BW(6,n,e)}function _i(n,e){for(Jn(e);n.Ob();)e.Cd(n.Pb())}function Zc(n,e){return Ai(e)?AN(n,e):!!wr(n.f,e)}function cN(n,e){return e.Vh()?na(n.b,u(e,54)):e}function awe(n,e){return An(n.substr(0,e.length),e)}function $h(n){return new te(new UX(n.a.length,n.a))}function gM(n){return new V(n.c+n.b/2,n.d+n.a/2)}function dwe(n){return Yc(~n.l&ro,~n.m&ro,~n.h&Il)}function uN(n){return typeof n===vy||typeof n===eB}function Hu(n){n.f=new iTn(n),n.i=new rTn(n),++n.g}function BPn(n){if(!n)throw M(new nc);return n.d}function Sp(n){var e;return e=a5(n),oe(e!=null),e}function bwe(n){var e;return e=I5e(n),oe(e!=null),e}function C4(n,e){var t;return t=n.a.gc(),BJ(e,t),t-e}function fi(n,e){var t;return t=n.a.zc(e,n),t==null}function _7(n,e){return n.a.zc(e,(_n(),wa))==null}function CW(n){return new Tn(null,vwe(n,n.length))}function MW(n,e,t){return cGn(n,u(e,42),u(t,176))}function Pp(n,e,t){return Ks(n.a,e),nW(n.b,e.g,t)}function wwe(n,e,t){E4(t,n.a.c.length),Go(n.a,t,e)}function B(n,e,t,i){xFn(e,t,n.length),gwe(n,e,t,i)}function gwe(n,e,t,i){var r;for(r=e;r0?y.Math.log(n/e):-100}function KPn(n,e){return Ec(n,e)<0?-1:Ec(n,e)>0?1:0}function H7(n,e){OTn(n,O(e,160)?e:u(e,2036).Rl())}function PW(n,e){if(n==null)throw M(new sp(e))}function vwe(n,e){return yme(e,n.length),new XSn(n,e)}function IW(n,e){return e?Bi(n,e):!1}function kwe(){return RE(),S(T(uQn,1),G,549,0,[GK])}function G6(n){return n.e==0?n:new Qa(-n.e,n.d,n.a)}function ywe(n,e){return bt(n.c.c+n.c.b,e.c.c+e.c.b)}function q7(n,e){xt(n.d,e,n.b.b,n.b),++n.a,n.c=null}function _Pn(n,e){return n.c?_Pn(n.c,e):nn(n.b,e),n}function jwe(n,e,t){var i;return i=Jb(n,e),qN(n,e,t),i}function HPn(n,e,t){var i;for(i=0;i=n.g}function $t(n,e,t){return dae(t==null||oPe(n,t)),n[e]=t}function $W(n,e){return zn(e,n.length+1),n.substr(e)}function gN(n,e){for(Jn(e);n.c=n?new Dz:Gme(n-1)}function Hi(n){return!n.a&&n.c?n.c.b:n.a}function KW(n){return O(n,616)?n:new oOn(n)}function z1(n){n.c?z1(n.c):(ea(n),n.d=!0)}function V6(n){n.c?n.c.$e():(n.d=!0,fTe(n))}function sIn(n){n.b=!1,n.c=!1,n.d=!1,n.a=!1}function fIn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function _we(n,e){var t;t=n.Ih(e),t>=0?n.ki(t):Pnn(n,e)}function hIn(n,e){n.c<0||n.b.b0;)n=n<<1|(n<0?1:0);return n}function mIn(n,e){var t;return t=new Lc(n),Bn(e.c,t),t}function vIn(n,e){n.u.Hc((zu(),Fl))&&zEe(n,e),h4e(n,e)}function mc(n,e){return x(n)===x(e)||n!=null&&rt(n,e)}function Cr(n,e){return JL(n.a,e)?n.b[u(e,22).g]:null}function nge(){return YE(),S(T(oon,1),G,489,0,[b_])}function ege(){return eC(),S(T($1n,1),G,490,0,[Bq])}function tge(){return tC(),S(T(zce,1),G,558,0,[Rq])}function ige(){return f6(),S(T(tan,1),G,539,0,[Hj])}function jM(n){return!n.n&&(n.n=new q(Ar,n,1,7)),n.n}function mN(n){return!n.c&&(n.c=new q(Qu,n,9,9)),n.c}function UW(n){return!n.c&&(n.c=new Nn(he,n,5,8)),n.c}function rge(n){return!n.b&&(n.b=new Nn(he,n,4,7)),n.b}function U7(n){return n.j.c.length=0,zW(n.c),xae(n.a),n}function P4(n){return n.e==rv&&jfe(n,Y8e(n.g,n.b)),n.e}function G7(n){return n.f==rv&&Cfe(n,q7e(n.g,n.b)),n.f}function Ve(n,e,t,i){return Hxn(n,e,t,!1),BT(n,i),n}function kIn(n,e){this.b=n,oN.call(this,n,e),RTn(this)}function yIn(n,e){this.b=n,SV.call(this,n,e),KTn(this)}function W6(n){this.d=n,this.a=this.d.b,this.b=this.d.c}function GW(n,e){this.b=n,this.c=e,this.a=new dp(this.b)}function Xi(n,e){return zn(e,n.length),n.charCodeAt(e)}function cge(n,e){DY(n,$(yl(e,"x")),$(yl(e,"y")))}function uge(n,e){DY(n,$(yl(e,"x")),$(yl(e,"y")))}function ut(n,e){return ea(n),new Tn(n,new tQ(e,n.a))}function _r(n,e){return ea(n),new Tn(n,new _J(e,n.a))}function Ub(n,e){return ea(n),new uV(n,new ILn(e,n.a))}function EM(n,e){return ea(n),new oV(n,new OLn(e,n.a))}function oge(n,e){return new GIn(u(Se(n),50),u(Se(e),50))}function sge(n,e){return bt(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function jIn(n,e,t){t.a?tu(n,e.b-n.f/2):eu(n,e.a-n.g/2)}function fge(n,e){return bt(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function hge(n,e){return $z(),bt((Jn(n),n),(Jn(e),e))}function lge(n){return n!=null&&r7(jO,n.toLowerCase())}function zW(n){var e;for(e=n.Kc();e.Ob();)e.Pb(),e.Qb()}function Tg(n){var e;return e=n.b,!e&&(n.b=e=new N8n(n)),e}function vN(n){var e;return e=Wme(n),e||null}function EIn(n,e){var t,i;return t=n/e,i=wi(t),t>i&&++i,i}function age(n,e,t){var i;i=u(n.d.Kb(t),159),i&&i.Nb(e)}function dge(n,e,t){wIe(n.a,t),zve(t),xCe(n.b,t),$Ie(e,t)}function CM(n,e,t,i){this.a=n,this.c=e,this.b=t,this.d=i}function XW(n,e,t,i){this.c=n,this.b=e,this.a=t,this.d=i}function CIn(n,e,t,i){this.c=n,this.b=e,this.d=t,this.a=i}function Ho(n,e,t,i){this.c=n,this.d=e,this.b=t,this.a=i}function MIn(n,e,t,i){this.a=n,this.d=e,this.c=t,this.b=i}function kN(n,e,t,i){this.a=n,this.e=e,this.d=t,this.c=i}function TIn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function yN(n,e,t){this.a=ktn,this.d=n,this.b=e,this.c=t}function Op(n,e,t,i){je.call(this,n,e),this.a=t,this.b=i}function AIn(n,e){this.d=(Jn(n),n),this.a=16449,this.c=e}function SIn(n){this.a=new Z,this.e=K(ye,J,53,n,0,2)}function bge(n){n.Ug("No crossing minimization",1),n.Vg()}function PIn(){ec.call(this,"There is no more element.")}function IIn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function OIn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function Za(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function DIn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function LIn(n,e,t,i){Ko(),DLn.call(this,e,t,i),this.a=n}function NIn(n,e,t,i){Ko(),DLn.call(this,e,t,i),this.a=n}function jN(n,e,t){var i,r;return i=utn(n),r=e.ti(t,i),r}function al(n){var e,t;return t=(e=new Jd,e),K4(t,n),t}function EN(n){var e,t;return t=(e=new Jd,e),fnn(t,n),t}function wge(n,e){var t;return t=ee(n.f,e),HQ(e,t),null}function $In(n){return!n.b&&(n.b=new q(Vt,n,12,3)),n.b}function xIn(n){return F6(n==null||uN(n)&&n.Tm!==J2),n}function MM(n){return n.n&&(n.e!==Fzn&&n.je(),n.j=null),n}function I4(n){if(eo(n.d),n.d.d!=n.c)throw M(new Bo)}function VW(n){return oe(n.b0&&bKn(this)}function FIn(n,e){this.a=n,bae.call(this,n,u(n.d,15).fd(e))}function gge(n,e){return bt(Su(n)*ao(n),Su(e)*ao(e))}function pge(n,e){return bt(Su(n)*ao(n),Su(e)*ao(e))}function mge(n){return _0(n)&&on(un(z(n,(cn(),Nd))))}function vge(n,e){return Pn(n,u(v(e,(cn(),Cv)),17),e)}function kge(n,e){return u(v(n,(W(),T3)),15).Fc(e),e}function WW(n,e){return n.b=e.b,n.c=e.c,n.d=e.d,n.a=e.a,n}function BIn(n,e,t,i){this.b=n,this.c=i,IC.call(this,e,t)}function yge(n,e,t){n.i=0,n.e=0,e!=t&&yFn(n,e,t)}function jge(n,e,t){n.i=0,n.e=0,e!=t&&jFn(n,e,t)}function Ege(n,e,t){return s6(),J5e(u(ee(n.e,e),529),t)}function Dp(n){var e;return e=n.f,e||(n.f=new h4(n,n.c))}function RIn(n,e){return xg(n.j,e.s,e.c)+xg(e.e,n.s,n.c)}function KIn(n,e){n.e&&!n.e.a&&(Ayn(n.e,e),KIn(n.e,e))}function _In(n,e){n.d&&!n.d.a&&(Ayn(n.d,e),_In(n.d,e))}function Cge(n,e){return-bt(Su(n)*ao(n),Su(e)*ao(e))}function Mge(n){return u(n.ld(),149).Pg()+":"+Jr(n.md())}function HIn(){tF(this,new oG),this.wb=(G1(),Hn),o4()}function qIn(n){this.b=new Z,hi(this.b,this.b),this.a=n}function JW(n,e){new Ct,this.a=new Mu,this.b=n,this.c=e}function j0(){j0=F,Pun=new FU,ZK=new FU,Iun=new D0n}function Dn(){Dn=F,sr=new A0n,Wh=new P0n,hP=new I0n}function QW(){QW=F,RQn=new nbn,_Qn=new aW,KQn=new ebn}function Lp(){Lp=F,mP=new Z,m_=new de,p_=new Z}function TM(n,e){if(n==null)throw M(new sp(e));return n}function AM(n){return!n.a&&(n.a=new q(Qe,n,10,11)),n.a}function ft(n){return!n.q&&(n.q=new q(As,n,11,10)),n.q}function _(n){return!n.s&&(n.s=new q(ku,n,21,17)),n.s}function Tge(n){return Se(n),IRn(new te(re(n.a.Kc(),new En)))}function Age(n,e){return wo(n),wo(e),Fjn(u(n,22),u(e,22))}function nd(n,e,t){var i,r;i=IV(t),r=new AE(i),df(n,e,r)}function MN(n,e,t,i,r,c){ok.call(this,n,e,t,i,r,c?-2:-1)}function UIn(n,e,t,i){pX.call(this,e,t),this.b=n,this.a=i}function GIn(n,e){Vfe.call(this,new iN(n)),this.a=n,this.b=e}function YW(n){this.b=n,this.c=n,n.e=null,n.c=null,this.a=1}function Sge(n){xs();var e;e=u(n.g,10),e.n.a=n.d.c+e.d.b}function O4(){O4=F;var n,e;e=!$8e(),n=new V3,VK=e?new og:n}function TN(n){return Dn(),O(n,59)?new jD(n):new BC(n)}function SM(n){return O(n,16)?new B6(u(n,16)):obe(n.Kc())}function Pge(n){return new HTn(n,n.e.Rd().gc()*n.c.Rd().gc())}function Ige(n){return new qTn(n,n.e.Rd().gc()*n.c.Rd().gc())}function ZW(n){return n&&n.hashCode?n.hashCode():l0(n)}function AN(n,e){return e==null?!!wr(n.f,null):zbe(n.i,e)}function Oge(n,e){var t;return t=$X(n.a,e),t&&(e.d=null),t}function zIn(n,e,t){return n.f?n.f.ef(e,t):!1}function z7(n,e,t,i){$t(n.c[e.g],t.g,i),$t(n.c[t.g],e.g,i)}function SN(n,e,t,i){$t(n.c[e.g],e.g,t),$t(n.b[e.g],e.g,i)}function Dge(n,e,t){return $(R(t.a))<=n&&$(R(t.b))>=e}function XIn(n,e){this.g=n,this.d=S(T(Qh,1),b1,10,0,[e])}function VIn(n){this.c=n,this.b=new Ul(u(Se(new tbn),50))}function WIn(n){this.c=n,this.b=new Ul(u(Se(new ewn),50))}function JIn(n){this.b=n,this.a=new Ul(u(Se(new Nbn),50))}function QIn(){this.b=new ni,this.d=new Ct,this.e=new ZG}function nJ(){this.c=new Li,this.d=new Li,this.e=new Li}function E0(){this.a=new Mu,this.b=(Co(3,mw),new Gc(3))}function Wl(n,e){this.e=n,this.a=ki,this.b=Qqn(e),this.c=e}function PM(n){this.c=n.c,this.d=n.d,this.b=n.b,this.a=n.a}function YIn(n,e,t,i,r,c){this.a=n,k$.call(this,e,t,i,r,c)}function ZIn(n,e,t,i,r,c){this.a=n,k$.call(this,e,t,i,r,c)}function X1(n,e,t,i,r,c,s){return new GN(n.e,e,t,i,r,c,s)}function Lge(n,e,t){return t>=0&&An(n.substr(t,e.length),e)}function nOn(n,e){return O(e,149)&&An(n.b,u(e,149).Pg())}function Nge(n,e){return n.a?e.Gh().Kc():u(e.Gh(),71).Ii()}function eOn(n,e){var t;return t=n.b.Qc(e),WDn(t,n.b.gc()),t}function X7(n,e){if(n==null)throw M(new sp(e));return n}function Hr(n){return n.u||(Zu(n),n.u=new NAn(n,n)),n.u}function PN(n){this.a=(Dn(),O(n,59)?new jD(n):new BC(n))}function au(n){var e;return e=u(Un(n,16),29),e||n.ii()}function IM(n,e){var t;return t=za(n.Rm),e==null?t:t+": "+e}function qo(n,e,t){return Fi(e,t,n.length),n.substr(e,t-e)}function tOn(n,e){qC.call(this),lQ(this),this.a=n,this.c=e}function $ge(n){n&&IM(n,n.ie())}function xge(n){HE(),y.setTimeout(function(){throw n},0)}function Fge(){return YT(),S(T(Bun,1),G,436,0,[o_,Fun])}function Bge(){return cT(),S(T(Kun,1),G,435,0,[Run,s_])}function Rge(){return uT(),S(T(bon,1),G,432,0,[v_,vP])}function Kge(){return V4(),S(T(KZn,1),G,517,0,[dj,L_])}function _ge(){return KM(),S(T(Qsn,1),G,429,0,[fH,Jsn])}function Hge(){return pk(),S(T($sn,1),G,428,0,[WP,Nsn])}function qge(){return QM(),S(T(Asn,1),G,431,0,[Tsn,V_])}function Uge(){return wk(),S(T(qhn,1),G,430,0,[UH,GH])}function Gge(){return n5(),S(T(Oie,1),G,531,0,[r9,i9])}function zge(){return yT(),S(T(Rln,1),G,501,0,[RI,D2])}function Xge(){return sh(),S(T(Bie,1),G,523,0,[mb,y1])}function Vge(){return Sf(),S(T(Kie,1),G,522,0,[Rd,zf])}function Wge(){return lf(),S(T(ere,1),G,528,0,[zw,ja])}function Jge(){return hk(),S(T(Bsn,1),G,488,0,[Fsn,QP])}function Qge(){return GM(),S(T(S1n,1),G,491,0,[$q,A1n])}function Yge(){return N$(),S(T(N1n,1),G,492,0,[D1n,L1n])}function Zge(){return FM(),S(T(Bln,1),G,433,0,[dq,Fln])}function n2e(){return ZM(),S(T(_ln,1),G,434,0,[Kln,vq])}function e2e(){return M0(),S(T(sre,1),G,465,0,[Ea,P2])}function t2e(){return ck(),S(T(x1n,1),G,438,0,[Kq,JI])}function i2e(){return Ak(),S(T(ran,1),G,437,0,[YI,ian])}function r2e(){return RL(),S(T(dO,1),G,347,0,[vdn,kdn])}function OM(n,e,t,i){return t>=0?n.Uh(e,t,i):n.Ch(null,t,i)}function V7(n){return n.b.b==0?n.a.sf():UL(n.b)}function c2e(n){if(n.p!=5)throw M(new Cu);return Ae(n.f)}function u2e(n){if(n.p!=5)throw M(new Cu);return Ae(n.k)}function eJ(n){return x(n.a)===x((D$(),CU))&&rOe(n),n.a}function o2e(n,e){n.b=e,n.c>0&&n.b>0&&(n.g=cM(n.c,n.b,n.a))}function s2e(n,e){n.c=e,n.c>0&&n.b>0&&(n.g=cM(n.c,n.b,n.a))}function iOn(n,e){ufe(this,new V(n.a,n.b)),ofe(this,F7(e))}function C0(){Wfe.call(this,new ap(Qb(12))),KX(!0),this.a=2}function IN(n,e,t){nt(),Wd.call(this,n),this.b=e,this.a=t}function tJ(n,e,t){Ko(),LE.call(this,e),this.a=n,this.b=t}function rOn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function f2e(n){return n.b==0?null:(oe(n.b!=0),Xo(n,n.a.a))}function Nc(n,e){return e==null?Kr(wr(n.f,null)):d6(n.i,e)}function cOn(n,e,t,i,r){return new rF(n,(B4(),i_),e,t,i,r)}function DM(n,e){return zDn(e),Lme(n,K(ye,Ke,28,e,15,1),e)}function LM(n,e){return TM(n,"set1"),TM(e,"set2"),new VEn(n,e)}function h2e(n,e){var t=XK[n.charCodeAt(0)];return t??n}function uOn(n,e){var t,i;return t=e,i=new DO,LGn(n,t,i),i.d}function ON(n,e,t,i){var r;r=new FAn,e.a[t.g]=r,Pp(n.b,i,r)}function l2e(n,e){var t;return t=Ime(n.f,e),tt(HC(t),n.f.d)}function W7(n){var e;_me(n.a),dTn(n.a),e=new IE(n.a),HY(e)}function a2e(n,e){_qn(n,!0),nu(n.e.Rf(),new NV(n,!0,e))}function d2e(n,e){return Lp(),n==At(Kh(e))||n==At(ia(e))}function b2e(n,e){return kl(),u(v(e,(lc(),Sh)),17).a==n}function wi(n){return Math.max(Math.min(n,et),-2147483648)|0}function oOn(n){this.a=u(Se(n),277),this.b=(Dn(),new XX(n))}function sOn(n,e,t){this.i=new Z,this.b=n,this.g=e,this.a=t}function iJ(n,e,t){this.a=new Z,this.e=n,this.f=e,this.c=t}function NM(n,e,t){this.c=new Z,this.e=n,this.f=e,this.b=t}function fOn(n){qC.call(this),lQ(this),this.a=n,this.c=!0}function w2e(n){function e(){}return e.prototype=n||{},new e}function g2e(n){if(n.Ae())return null;var e=n.n;return rP[e]}function J7(n){return n.Db>>16!=3?null:u(n.Cb,27)}function Af(n){return n.Db>>16!=9?null:u(n.Cb,27)}function hOn(n){return n.Db>>16!=6?null:u(n.Cb,74)}function M0(){M0=F,Ea=new cX(s3,0),P2=new cX(f3,1)}function sh(){sh=F,mb=new tX(f3,0),y1=new tX(s3,1)}function Sf(){Sf=F,Rd=new iX(_B,0),zf=new iX("UP",1)}function lOn(){lOn=F,oQn=Ce((RE(),S(T(uQn,1),G,549,0,[GK])))}function aOn(n){var e;return e=new zE(Qb(n.length)),eY(e,n),e}function dOn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function p2e(n,e){return Zxn(n,e)?(W$n(n),!0):!1}function dl(n,e){if(e==null)throw M(new ip);return F8e(n,e)}function Q7(n,e){var t;t=n.q.getHours(),n.q.setDate(e),G5(n,t)}function rJ(n,e,t){var i;i=n.Ih(e),i>=0?n.bi(i,t):ten(n,e,t)}function bOn(n,e){var t;return t=n.Ih(e),t>=0?n.Wh(t):hF(n,e)}function wOn(n,e){var t;for(Se(e),t=n.a;t;t=t.c)e.Yd(t.g,t.i)}function DN(n,e,t){var i;i=vFn(n,e,t),n.b=new ET(i.c.length)}function Ag(n,e,t){$M(),n&&Xe(yU,n,e),n&&Xe(hE,n,t)}function m2e(n,e){return VC(),_n(),u(e.a,17).a0}function cJ(n){var e;return e=n.d,e=n.bj(n.f),ve(n,e),e.Ob()}function gOn(n,e){var t;return t=new fW(e),_Kn(t,n),new _u(t)}function y2e(n){if(n.p!=0)throw M(new Cu);return M6(n.f,0)}function j2e(n){if(n.p!=0)throw M(new Cu);return M6(n.k,0)}function pOn(n){return n.Db>>16!=7?null:u(n.Cb,241)}function D4(n){return n.Db>>16!=6?null:u(n.Cb,241)}function mOn(n){return n.Db>>16!=7?null:u(n.Cb,167)}function At(n){return n.Db>>16!=11?null:u(n.Cb,27)}function Gb(n){return n.Db>>16!=17?null:u(n.Cb,29)}function vOn(n){return n.Db>>16!=3?null:u(n.Cb,155)}function uJ(n){var e;return ea(n),e=new ni,ut(n,new M9n(e))}function kOn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.ve(e))}function E2e(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),G5(n,t)}function yOn(n,e){xC(this),this.f=e,this.g=n,MM(this),this.je()}function jOn(n,e){this.a=n,this.c=Ki(this.a),this.b=new PM(e)}function EOn(n,e,t){this.a=e,this.c=n,this.b=(Se(t),new _u(t))}function COn(n,e,t){this.a=e,this.c=n,this.b=(Se(t),new _u(t))}function MOn(n){this.a=n,this.b=K(Sie,J,2043,n.e.length,0,2)}function TOn(){this.a=new ih,this.e=new ni,this.g=0,this.i=0}function $M(){$M=F,yU=new de,hE=new de,ple(MQn,new wvn)}function AOn(){AOn=F,aie=Pu(new ii,(Vi(),zr),(tr(),bj))}function oJ(){oJ=F,die=Pu(new ii,(Vi(),zr),(tr(),bj))}function SOn(){SOn=F,wie=Pu(new ii,(Vi(),zr),(tr(),bj))}function POn(){POn=F,Lie=Re(new ii,(Vi(),zr),(tr(),x8))}function ko(){ko=F,xie=Re(new ii,(Vi(),zr),(tr(),x8))}function IOn(){IOn=F,Fie=Re(new ii,(Vi(),zr),(tr(),x8))}function NN(){NN=F,Hie=Re(new ii,(Vi(),zr),(tr(),x8))}function J6(n,e,t,i,r,c){return new ml(n.e,e,n.Lj(),t,i,r,c)}function Dr(n,e,t){return e==null?Vc(n.f,null,t):$0(n.i,e,t)}function Zi(n,e){n.c&&du(n.c.g,n),n.c=e,n.c&&nn(n.c.g,n)}function $i(n,e){n.c&&du(n.c.a,n),n.c=e,n.c&&nn(n.c.a,n)}function ic(n,e){n.i&&du(n.i.j,n),n.i=e,n.i&&nn(n.i.j,n)}function Ii(n,e){n.d&&du(n.d.e,n),n.d=e,n.d&&nn(n.d.e,n)}function $N(n,e){n.a&&du(n.a.k,n),n.a=e,n.a&&nn(n.a.k,n)}function xN(n,e){n.b&&du(n.b.f,n),n.b=e,n.b&&nn(n.b.f,n)}function OOn(n,e){$we(n,n.b,n.c),u(n.b.b,68),e&&u(e.b,68).b}function C2e(n,e){return bt(u(n.c,65).c.e.b,u(e.c,65).c.e.b)}function M2e(n,e){return bt(u(n.c,65).c.e.a,u(e.c,65).c.e.a)}function T2e(n){return Y$(),_n(),u(n.a,86).d.e!=0}function xM(n,e){O(n.Cb,184)&&(u(n.Cb,184).tb=null),zc(n,e)}function FN(n,e){O(n.Cb,90)&&hw(Zu(u(n.Cb,90)),4),zc(n,e)}function A2e(n,e){LY(n,e),O(n.Cb,90)&&hw(Zu(u(n.Cb,90)),2)}function S2e(n,e){var t,i;t=e.c,i=t!=null,i&&Ip(n,new qb(e.c))}function DOn(n){var e,t;return t=(o4(),e=new Jd,e),K4(t,n),t}function LOn(n){var e,t;return t=(o4(),e=new Jd,e),K4(t,n),t}function NOn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function P2e(n,e,t){return nn(n.a,(yM(),Nx(e,t),new i0(e,t))),n}function $c(n,e){return dr(),a$(e)?new eM(e,n):new j7(e,n)}function Y7(n){return dh(),Ec(n,0)>=0?ta(n):G6(ta(n1(n)))}function I2e(n){var e;return e=u(ZC(n.b),9),new _o(n.a,e,n.c)}function $On(n,e){var t;return t=u(tw(Dp(n.a),e),16),t?t.gc():0}function xOn(n,e,t){var i;oBn(e,t,n.c.length),i=t-e,Pz(n.c,e,i)}function Jl(n,e,t){oBn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function Np(n){this.c=new Ct,this.b=n.b,this.d=n.c,this.a=n.a}function BN(n){this.a=y.Math.cos(n),this.b=y.Math.sin(n)}function ed(n,e,t,i){this.c=n,this.d=i,$N(this,e),xN(this,t)}function sJ(n,e){Xfe.call(this,new ap(Qb(n))),Co(e,Ozn),this.a=e}function FOn(n,e,t){return new rF(n,(B4(),t_),null,!1,e,t)}function BOn(n,e,t){return new rF(n,(B4(),r_),e,t,null,!1)}function O2e(){return Gu(),S(T(xr,1),G,108,0,[xun,Yr,Aw])}function D2e(){return bu(),S(T(JQn,1),G,472,0,[vf,pa,zs])}function L2e(){return Uu(),S(T(VQn,1),G,471,0,[Mh,ga,Gs])}function N2e(){return bf(),S(T(Sw,1),G,237,0,[bc,Wc,wc])}function $2e(){return i5(),S(T(Pon,1),G,391,0,[E_,j_,C_])}function x2e(){return D0(),S(T(R_,1),G,372,0,[ub,ma,cb])}function F2e(){return u5(),S(T(Psn,1),G,322,0,[B8,pj,Ssn])}function B2e(){return bT(),S(T(Osn,1),G,351,0,[Isn,VP,W_])}function R2e(){return hd(),S(T(pne,1),G,460,0,[Y_,mv,p2])}function K2e(){return Z4(),S(T(sH,1),G,299,0,[uH,oH,mj])}function _2e(){return vl(),S(T(Mne,1),G,311,0,[vj,v2,E3])}function H2e(){return g5(),S(T(Lhn,1),G,390,0,[FH,Dhn,MI])}function q2e(){return gr(),S(T(cie,1),G,463,0,[n9,Vu,Jc])}function U2e(){return ST(),S(T(zhn,1),G,387,0,[Uhn,zH,Ghn])}function G2e(){return d5(),S(T(Xhn,1),G,349,0,[VH,XH,Ij])}function z2e(){return om(),S(T(Whn,1),G,350,0,[WH,Vhn,e9])}function X2e(){return dT(),S(T(Yhn,1),G,352,0,[Qhn,JH,Jhn])}function V2e(){return DT(),S(T(Zhn,1),G,388,0,[QH,Ov,Gw])}function W2e(){return O0(),S(T(Tie,1),G,464,0,[Oj,t9,PI])}function Pf(n){return cc(S(T(Ei,1),J,8,0,[n.i.n,n.n,n.a]))}function J2e(){return b5(),S(T(gln,1),G,392,0,[wln,nq,Lj])}function ROn(){ROn=F,Fre=Pu(new ii,(Qp(),u9),(q5(),uln))}function FM(){FM=F,dq=new uX("DFS",0),Fln=new uX("BFS",1)}function KOn(n,e,t){var i;i=new E3n,i.b=e,i.a=t,++e.b,nn(n.d,i)}function Q2e(n,e,t){var i;i=new rr(t.d),tt(i,n),DY(e,i.a,i.b)}function Y2e(n,e){LTn(n,Ae(vi(w0(e,24),YA)),Ae(vi(e,YA)))}function zb(n,e){if(n<0||n>e)throw M(new Ir(Ptn+n+Itn+e))}function Ln(n,e){if(n<0||n>=e)throw M(new Ir(Ptn+n+Itn+e))}function zn(n,e){if(n<0||n>=e)throw M(new gz(Ptn+n+Itn+e))}function In(n,e){this.b=(Jn(n),n),this.a=e&vw?e:e|64|wh}function fJ(n){var e;return ea(n),e=(j0(),j0(),ZK),fT(n,e)}function Z2e(n,e,t){var i;return i=V5(n,e,!1),i.b<=e&&i.a<=t}function npe(){return nT(),S(T(O1n,1),G,439,0,[xq,I1n,P1n])}function epe(){return _T(),S(T(a1n,1),G,394,0,[l1n,Oq,h1n])}function tpe(){return XT(),S(T(f1n,1),G,445,0,[Bj,qI,Mq])}function ipe(){return rA(),S(T(bce,1),G,456,0,[Tq,Sq,Aq])}function rpe(){return Ok(),S(T(Uln,1),G,393,0,[KI,Hln,qln])}function cpe(){return AT(),S(T(s1n,1),G,300,0,[Cq,o1n,u1n])}function upe(){return jl(),S(T(ldn,1),G,346,0,[uO,M1,M9])}function ope(){return Fk(),S(T(Fq,1),G,444,0,[XI,VI,WI])}function spe(){return Nf(),S(T(Zan,1),G,278,0,[Bv,Jw,Rv])}function fpe(){return Gp(),S(T(mdn,1),G,280,0,[pdn,Yw,aO])}function T0(n){return Se(n),O(n,16)?new _u(u(n,16)):y4(n.Kc())}function hJ(n,e){return n&&n.equals?n.equals(e):x(n)===x(e)}function vi(n,e){return Q1(ewe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function hf(n,e){return Q1(twe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function RN(n,e){return Q1(iwe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function hpe(n,e){var t;return t=(Jn(n),n).g,rV(!!t),Jn(e),t(e)}function _On(n,e){var t,i;return i=C4(n,e),t=n.a.fd(i),new zEn(n,t)}function lpe(n){return n.Db>>16!=6?null:u(dF(n),241)}function ape(n){if(n.p!=2)throw M(new Cu);return Ae(n.f)&ui}function dpe(n){if(n.p!=2)throw M(new Cu);return Ae(n.k)&ui}function E(n){return oe(n.ai?1:0}function GOn(n,e){var t,i;return t=s$(e),i=t,u(ee(n.c,i),17).a}function KN(n,e,t){var i;i=n.d[e.p],n.d[e.p]=n.d[t.p],n.d[t.p]=i}function Cpe(n,e,t){var i;n.n&&e&&t&&(i=new uvn,nn(n.e,i))}function _N(n,e){if(fi(n.a,e),e.d)throw M(new ec(nXn));e.d=n}function dJ(n,e){this.a=new Z,this.d=new Z,this.f=n,this.c=e}function zOn(){this.c=new PTn,this.a=new $Ln,this.b=new Xyn,lCn()}function XOn(){qp(),this.b=new de,this.a=new de,this.c=new Z}function VOn(n,e,t){this.d=n,this.j=e,this.e=t,this.o=-1,this.p=3}function WOn(n,e,t){this.d=n,this.k=e,this.f=t,this.o=-1,this.p=5}function JOn(n,e,t,i,r,c){dQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function QOn(n,e,t,i,r,c){bQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function YOn(n,e,t,i,r,c){OJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function ZOn(n,e,t,i,r,c){pQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function nDn(n,e,t,i,r,c){DJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function eDn(n,e,t,i,r,c){wQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function tDn(n,e,t,i,r,c){gQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function iDn(n,e,t,i,r,c){LJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function rDn(n,e,t,i){LE.call(this,t),this.b=n,this.c=e,this.d=i}function cDn(n,e){this.f=n,this.a=($4(),MO),this.c=MO,this.b=e}function uDn(n,e){this.g=n,this.d=($4(),TO),this.a=TO,this.b=e}function bJ(n,e){!n.c&&(n.c=new Rt(n,0)),HA(n.c,(at(),F9),e)}function Mpe(n,e){return oMe(n,e,O(e,102)&&(u(e,19).Bb&hr)!=0)}function Tpe(n,e){return KPn(vc(n.q.getTime()),vc(e.q.getTime()))}function oDn(n){return XL(n.e.Rd().gc()*n.c.Rd().gc(),16,new O8n(n))}function Ape(n){return!!n.u&&Sc(n.u.a).i!=0&&!(n.n&&Ix(n.n))}function Spe(n){return!!n.a&&no(n.a.a).i!=0&&!(n.b&&Ox(n.b))}function wJ(n,e){return e==0?!!n.o&&n.o.f!=0:Cx(n,e)}function Ppe(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Hc(t)}function sDn(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Mc(t)}function fDn(n,e){var t;return t=1-e,n.a[t]=jT(n.a[t],t),jT(n,e)}function hDn(n,e){var t,i;return i=vi(n,mr),t=Fs(e,32),hf(t,i)}function lDn(n,e,t){var i;i=(Se(n),new _u(n)),O7e(new EOn(i,e,t))}function Z7(n,e,t){var i;i=(Se(n),new _u(n)),D7e(new COn(i,e,t))}function fc(n,e,t,i,r,c){return Hxn(n,e,t,c),CY(n,i),MY(n,r),n}function aDn(n,e,t,i){return n.a+=""+qo(e==null?gu:Jr(e),t,i),n}function xi(n,e){this.a=n,Xv.call(this,n),zb(e,n.gc()),this.b=e}function dDn(n){this.a=K(ki,Fn,1,QQ(y.Math.max(8,n))<<1,5,1)}function nk(n){return u(xf(n,K(Qh,b1,10,n.c.length,0,1)),199)}function fh(n){return u(xf(n,K(O_,rR,18,n.c.length,0,1)),483)}function bDn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function Q6(n){for(;n.d>0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function wDn(n){return oe(n.b.b!=n.d.a),n.c=n.b=n.b.b,--n.a,n.c.c}function Ipe(n,e,t){n.a=e,n.c=t,n.b.a.$b(),vo(n.d),Pb(n.e.a.c,0)}function gDn(n,e){var t;n.e=new uz,t=aw(e),Yt(t,n.c),Iqn(n,t,0)}function ri(n,e,t,i){var r;r=new nG,r.a=e,r.b=t,r.c=i,xe(n.a,r)}function Q(n,e,t,i){var r;r=new nG,r.a=e,r.b=t,r.c=i,xe(n.b,r)}function pDn(n,e,t){if(n<0||et)throw M(new Ir(qje(n,e,t)))}function ek(n,e){if(n<0||n>=e)throw M(new Ir(kEe(n,e)));return n}function Ope(n){if(!("stack"in n))try{throw n}catch{}return n}function Sg(n){return s6(),O(n.g,10)?u(n.g,10):null}function Dpe(n){return Tg(n).dc()?!1:(e1e(n,new Pr),!0)}function id(n){var e;return Vr(n)?(e=n,e==-0?0:e):X4e(n)}function mDn(n,e){return O(e,44)?xx(n.a,u(e,44)):!1}function vDn(n,e){return O(e,44)?xx(n.a,u(e,44)):!1}function kDn(n,e){return O(e,44)?xx(n.a,u(e,44)):!1}function gJ(n){var e;return z1(n),e=new L0n,hg(n.a,new j9n(e)),e}function pJ(){var n,e,t;return e=(t=(n=new Jd,n),t),nn(n0n,e),e}function BM(n){var e;return z1(n),e=new N0n,hg(n.a,new E9n(e)),e}function Lpe(n,e){return n.a<=n.b?(e.Dd(n.a++),!0):!1}function yDn(n){P$.call(this,n,(B4(),e_),null,!1,null,!1)}function jDn(){jDn=F,SYn=Ce((YE(),S(T(oon,1),G,489,0,[b_])))}function EDn(){EDn=F,eln=wIn(Y(1),Y(4)),nln=wIn(Y(1),Y(2))}function Npe(n,e){return new _L(e,N6(Ki(e.e),n,n),(_n(),!0))}function RM(n){return new Gc((Co(n,cB),oT(nr(nr(5,n),n/10|0))))}function $pe(n){return XL(n.e.Rd().gc()*n.c.Rd().gc(),273,new I8n(n))}function CDn(n){return u(xf(n,K(FZn,DXn,12,n.c.length,0,1)),2042)}function xpe(n){return ko(),!fr(n)&&!(!fr(n)&&n.c.i.c==n.d.i.c)}function Fpe(n,e){return _p(),u(v(e,(lc(),I2)),17).a>=n.gc()}function Y6(n,e){vLe(e,n),JV(n.d),JV(u(v(n,(cn(),mI)),214))}function HN(n,e){kLe(e,n),QV(n.d),QV(u(v(n,(cn(),mI)),214))}function Bpe(n,e,t){n.d&&du(n.d.e,n),n.d=e,n.d&&b0(n.d.e,t,n)}function Rpe(n,e,t){return t.f.c.length>0?MW(n.a,e,t):MW(n.b,e,t)}function Kpe(n,e,t){var i;i=i9e();try{return Aae(n,e,t)}finally{D3e(i)}}function A0(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=t.pe()),i}function Z6(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=t.se()),i}function L4(n,e){var t,i;return t=Jb(n,e),i=null,t&&(i=t.se()),i}function bl(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=gnn(t)),i}function _pe(n,e,t){var i;return i=wm(t),FA(n.g,i,e),FA(n.i,e,t),e}function mJ(n,e,t){this.d=new $7n(this),this.e=n,this.i=e,this.f=t}function MDn(n,e,t,i){this.e=null,this.c=n,this.d=e,this.a=t,this.b=i}function TDn(n,e,t,i){ETn(this),this.c=n,this.e=e,this.f=t,this.b=i}function vJ(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function ADn(n,e,t,i){return O(t,59)?new iAn(n,e,t,i):new vW(n,e,t,i)}function N4(n){return O(n,16)?u(n,16).dc():!n.Kc().Ob()}function SDn(n){if(n.e.g!=n.b)throw M(new Bo);return!!n.c&&n.d>0}function be(n){return oe(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function kJ(n,e){Jn(e),$t(n.a,n.c,e),n.c=n.c+1&n.a.length-1,JRn(n)}function V1(n,e){Jn(e),n.b=n.b-1&n.a.length-1,$t(n.a,n.b,e),JRn(n)}function PDn(n){var e;e=n.Gh(),this.a=O(e,71)?u(e,71).Ii():e.Kc()}function Hpe(n){return new In(Ame(u(n.a.md(),16).gc(),n.a.ld()),16)}function IDn(){IDn=F,Gce=Ce((eC(),S(T($1n,1),G,490,0,[Bq])))}function ODn(){ODn=F,Xce=Ce((tC(),S(T(zce,1),G,558,0,[Rq])))}function DDn(){DDn=F,lue=Ce((f6(),S(T(tan,1),G,539,0,[Hj])))}function qpe(){return dd(),S(T(Lon,1),G,389,0,[Ow,Don,P_,I_])}function Upe(){return B4(),S(T(lP,1),G,304,0,[e_,t_,i_,r_])}function Gpe(){return Vp(),S(T(EYn,1),G,332,0,[uj,cj,oj,sj])}function zpe(){return A5(),S(T(TYn,1),G,406,0,[fj,wP,gP,hj])}function Xpe(){return N0(),S(T(yYn,1),G,417,0,[rj,ij,a_,d_])}function Vpe(){return nm(),S(T(MZn,1),G,416,0,[rb,Iw,Pw,a2])}function Wpe(){return $f(),S(T(ene,1),G,421,0,[j3,lv,av,B_])}function Jpe(){return OT(),S(T(UZn,1),G,371,0,[F_,HP,qP,wj])}function Qpe(){return cw(),S(T(RH,1),G,203,0,[TI,BH,S2,A2])}function Ype(){return lh(),S(T(Hhn,1),G,284,0,[k1,_hn,HH,qH])}function Zpe(n){var e;return n.j==(tn(),ae)&&(e=mHn(n),Au(e,Zn))}function n3e(n,e){var t;t=e.a,Zi(t,e.c.d),Ii(t,e.d.d),nw(t.a,n.n)}function yJ(n,e){var t;return t=u(Lf(n.b,e),67),!t&&(t=new Ct),t}function xp(n){return s6(),O(n.g,154)?u(n.g,154):null}function e3e(n){n.a=null,n.e=null,Pb(n.b.c,0),Pb(n.f.c,0),n.c=null}function KM(){KM=F,fH=new Zz(qm,0),Jsn=new Zz("TOP_LEFT",1)}function n5(){n5=F,r9=new eX("UPPER",0),i9=new eX("LOWER",1)}function t3e(n,e){return vp(new V(e.e.a+e.f.a/2,e.e.b+e.f.b/2),n)}function LDn(n,e){return u(ho(_b(u(ot(n.k,e),15).Oc(),b2)),113)}function NDn(n,e){return u(ho(Ap(u(ot(n.k,e),15).Oc(),b2)),113)}function i3e(){return Qp(),S(T(rln,1),G,405,0,[LI,c9,u9,o9])}function r3e(){return w5(),S(T(xln,1),G,353,0,[aq,BI,lq,hq])}function c3e(){return sA(),S(T(c1n,1),G,354,0,[Eq,i1n,r1n,t1n])}function u3e(){return go(),S(T(I9,1),G,386,0,[rE,Gd,iE,Qw])}function o3e(){return To(),S(T(Yue,1),G,291,0,[nE,nl,Ta,Zj])}function s3e(){return El(),S(T(aU,1),G,223,0,[lU,Yj,Kv,F3])}function f3e(){return qT(),S(T(Cdn,1),G,320,0,[wU,ydn,Edn,jdn])}function h3e(){return LT(),S(T(woe,1),G,415,0,[gU,Tdn,Mdn,Adn])}function l3e(n){return $M(),Zc(yU,n)?u(ee(yU,n),341).Qg():null}function Uo(n,e,t){return e<0?hF(n,t):u(t,69).wk().Bk(n,n.hi(),e)}function a3e(n,e,t){var i;return i=wm(t),FA(n.j,i,e),Xe(n.k,e,t),e}function d3e(n,e,t){var i;return i=wm(t),FA(n.d,i,e),Xe(n.e,e,t),e}function $Dn(n){var e,t;return e=(B1(),t=new HO,t),n&&AA(e,n),e}function jJ(n){var e;return e=n.aj(n.i),n.i>0&&Ic(n.g,0,e,0,n.i),e}function xDn(n,e){var t;for(t=n.j.c.length;t>24}function w3e(n){if(n.p!=1)throw M(new Cu);return Ae(n.k)<<24>>24}function g3e(n){if(n.p!=7)throw M(new Cu);return Ae(n.k)<<16>>16}function p3e(n){if(n.p!=7)throw M(new Cu);return Ae(n.f)<<16>>16}function Pg(n,e){return e.e==0||n.e==0?O8:(Am(),vF(n,e))}function RDn(n,e){return x(e)===x(n)?"(this Map)":e==null?gu:Jr(e)}function m3e(n,e,t){return tN(R(Kr(wr(n.f,e))),R(Kr(wr(n.f,t))))}function v3e(n,e,t){var i;i=u(ee(n.g,t),60),nn(n.a.c,new bi(e,i))}function KDn(n,e,t){n.i=0,n.e=0,e!=t&&(jFn(n,e,t),yFn(n,e,t))}function k3e(n,e,t,i,r){var c;c=yMe(r,t,i),nn(e,dEe(r,c)),rje(n,r,e)}function EJ(n,e,t,i,r){this.i=n,this.a=e,this.e=t,this.j=i,this.f=r}function _Dn(n,e){nJ.call(this),this.a=n,this.b=e,nn(this.a.b,this)}function HDn(n){this.b=new de,this.c=new de,this.d=new de,this.a=n}function qDn(n,e){var t;return t=new lp,n.Gd(t),t.a+="..",e.Hd(t),t.a}function UDn(n,e){var t;for(t=e;t;)a0(n,t.i,t.j),t=At(t);return n}function GDn(n,e,t){var i;return i=wm(t),Xe(n.b,i,e),Xe(n.c,e,t),e}function wl(n){var e;for(e=0;n.Ob();)n.Pb(),e=nr(e,1);return oT(e)}function Fh(n,e){dr();var t;return t=u(n,69).vk(),kje(t,e),t.xl(e)}function y3e(n,e,t){if(t){var i=t.oe();n.a[e]=i(t)}else delete n.a[e]}function CJ(n,e){var t;t=n.q.getHours(),n.q.setFullYear(e+fa),G5(n,t)}function j3e(n,e){return u(e==null?Kr(wr(n.f,null)):d6(n.i,e),288)}function MJ(n,e){return n==(Vn(),zt)&&e==zt?4:n==zt||e==zt?8:32}function _M(n,e,t){return RA(n,e,t,O(e,102)&&(u(e,19).Bb&hr)!=0)}function E3e(n,e,t){return Om(n,e,t,O(e,102)&&(u(e,19).Bb&hr)!=0)}function C3e(n,e,t){return bMe(n,e,t,O(e,102)&&(u(e,19).Bb&hr)!=0)}function TJ(n){n.b!=n.c&&(n.a=K(ki,Fn,1,8,5,1),n.b=0,n.c=0)}function e5(n){return oe(n.a=0&&n.a[t]===e[t];t--);return t<0}function HM(n){var e;return n?new fW(n):(e=new ih,A$(e,n),e)}function O3e(n,e){var t,i;i=!1;do t=lFn(n,e),i=i|t;while(t);return i}function D3e(n){n&&rme((az(),sun)),--cP,n&&uP!=-1&&(Ele(uP),uP=-1)}function qM(n){nnn(),LTn(this,Ae(vi(w0(n,24),YA)),Ae(vi(n,YA)))}function JDn(){JDn=F,HQn=Ce((YT(),S(T(Bun,1),G,436,0,[o_,Fun])))}function QDn(){QDn=F,qQn=Ce((cT(),S(T(Kun,1),G,435,0,[Run,s_])))}function YDn(){YDn=F,GYn=Ce((uT(),S(T(bon,1),G,432,0,[v_,vP])))}function ZDn(){ZDn=F,_Zn=Ce((V4(),S(T(KZn,1),G,517,0,[dj,L_])))}function nLn(){nLn=F,Ane=Ce((KM(),S(T(Qsn,1),G,429,0,[fH,Jsn])))}function eLn(){eLn=F,gne=Ce((pk(),S(T($sn,1),G,428,0,[WP,Nsn])))}function tLn(){tLn=F,kne=Ce((hk(),S(T(Bsn,1),G,488,0,[Fsn,QP])))}function iLn(){iLn=F,rie=Ce((wk(),S(T(qhn,1),G,430,0,[UH,GH])))}function rLn(){rLn=F,Die=Ce((n5(),S(T(Oie,1),G,531,0,[r9,i9])))}function cLn(){cLn=F,ane=Ce((QM(),S(T(Asn,1),G,431,0,[Tsn,V_])))}function uLn(){uLn=F,xre=Ce((FM(),S(T(Bln,1),G,433,0,[dq,Fln])))}function oLn(){oLn=F,_re=Ce((yT(),S(T(Rln,1),G,501,0,[RI,D2])))}function sLn(){sLn=F,Rie=Ce((sh(),S(T(Bie,1),G,523,0,[mb,y1])))}function fLn(){fLn=F,_ie=Ce((Sf(),S(T(Kie,1),G,522,0,[Rd,zf])))}function hLn(){hLn=F,tre=Ce((lf(),S(T(ere,1),G,528,0,[zw,ja])))}function lLn(){lLn=F,fre=Ce((M0(),S(T(sre,1),G,465,0,[Ea,P2])))}function aLn(){aLn=F,Ure=Ce((ZM(),S(T(_ln,1),G,434,0,[Kln,vq])))}function dLn(){dLn=F,Rce=Ce((GM(),S(T(S1n,1),G,491,0,[$q,A1n])))}function bLn(){bLn=F,_ce=Ce((N$(),S(T(N1n,1),G,492,0,[D1n,L1n])))}function wLn(){wLn=F,Vce=Ce((ck(),S(T(x1n,1),G,438,0,[Kq,JI])))}function gLn(){gLn=F,aue=Ce((Ak(),S(T(ran,1),G,437,0,[YI,ian])))}function pLn(){pLn=F,aoe=Ce((RL(),S(T(dO,1),G,347,0,[vdn,kdn])))}function L3e(){return ci(),S(T(E9,1),G,88,0,[Wf,Xr,Br,Vf,us])}function N3e(){return tn(),S(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])}function $3e(n,e,t){return u(e==null?Vc(n.f,null,t):$0(n.i,e,t),288)}function x3e(n){return(n.k==(Vn(),zt)||n.k==Zt)&&kt(n,(W(),H8))}function XN(n){return n.c&&n.d?aJ(n.c)+"->"+aJ(n.d):"e_"+l0(n)}function qi(n,e){var t,i;for(Jn(e),i=n.Kc();i.Ob();)t=i.Pb(),e.Cd(t)}function F3e(n,e){var t;t=new op,nd(t,"x",e.a),nd(t,"y",e.b),Ip(n,t)}function B3e(n,e){var t;t=new op,nd(t,"x",e.a),nd(t,"y",e.b),Ip(n,t)}function mLn(n,e){var t;for(t=e;t;)a0(n,-t.i,-t.j),t=At(t);return n}function SJ(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function Go(n,e,t){var i;return i=(Ln(e,n.c.length),n.c[e]),n.c[e]=t,i}function PJ(n,e,t){n.a.c.length=0,fOe(n,e,t),n.a.c.length==0||xSe(n,e)}function tk(n){n.i=0,s7(n.b,null),s7(n.c,null),n.a=null,n.e=null,++n.g}function UM(){UM=F,qf=!0,DQn=!1,LQn=!1,$Qn=!1,NQn=!1}function VN(n){UM(),!qf&&(this.c=n,this.e=!0,this.a=new Z)}function vLn(n,e){this.c=0,this.b=e,HMn.call(this,n,17493),this.a=this.c}function kLn(n){jzn(),Syn(this),this.a=new Ct,sY(this,n),xe(this.a,n)}function yLn(){pL(this),this.b=new V(St,St),this.a=new V(li,li)}function GM(){GM=F,$q=new fX(cin,0),A1n=new fX("TARGET_WIDTH",1)}function Ig(n,e){return(ea(n),s4(new Tn(n,new tQ(e,n.a)))).Bd(v3)}function R3e(){return Vi(),S(T(Ion,1),G,367,0,[Xs,Jh,Oc,Kc,zr])}function K3e(){return ow(),S(T(ine,1),G,375,0,[gj,zP,XP,GP,UP])}function _3e(){return o1(),S(T(Lsn,1),G,348,0,[J_,Dsn,Q_,pv,gv])}function H3e(){return T5(),S(T($hn,1),G,323,0,[Nhn,KH,_H,Y8,Z8])}function q3e(){return Yo(),S(T(hfn,1),G,171,0,[Ej,U8,ka,G8,xw])}function U3e(){return wA(),S(T(Hre,1),G,368,0,[pq,bq,mq,wq,gq])}function G3e(){return R5(),S(T(Hce,1),G,373,0,[L2,D3,g9,w9,_j])}function z3e(){return Yk(),S(T(K1n,1),G,324,0,[F1n,_q,R1n,Hq,B1n])}function X3e(){return gf(),S(T(Zh,1),G,170,0,[xn,pi,Ph,Kd,E1])}function V3e(){return Fg(),S(T(A9,1),G,256,0,[Aa,eE,adn,T9,ddn])}function W3e(n){return HE(),function(){return Kpe(n,this,arguments)}}function fr(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function IJ(n,e){return O(e,143)?An(n.c,u(e,143).c):!1}function Zu(n){return n.t||(n.t=new myn(n),k5(new Njn(n),0,n.t)),n.t}function jLn(n){this.b=n,ne.call(this,n),this.a=u(Un(this.b.a,4),129)}function ELn(n){this.b=n,yp.call(this,n),this.a=u(Un(this.b.a,4),129)}function Bs(n,e,t,i,r){LLn.call(this,e,i,r),this.c=n,this.b=t}function OJ(n,e,t,i,r){VOn.call(this,e,i,r),this.c=n,this.a=t}function DJ(n,e,t,i,r){WOn.call(this,e,i,r),this.c=n,this.a=t}function LJ(n,e,t,i,r){LLn.call(this,e,i,r),this.c=n,this.a=t}function WN(n,e){var t;return t=u(Lf(n.d,e),23),t||u(Lf(n.e,e),23)}function CLn(n,e){var t,i;return t=e.ld(),i=n.Fe(t),!!i&&mc(i.e,e.md())}function MLn(n,e){var t;return t=e.ld(),new i0(t,n.e.pc(t,u(e.md(),16)))}function J3e(n,e){var t;return t=n.a.get(e),t??K(ki,Fn,1,0,5,1)}function TLn(n){var e;return e=n.length,An(Yn.substr(Yn.length-e,e),n)}function fe(n){if(pe(n))return n.c=n.a,n.a.Pb();throw M(new nc)}function NJ(n,e){return e==0||n.e==0?n:e>0?wqn(n,e):RBn(n,-e)}function Fp(n,e){return e==0||n.e==0?n:e>0?RBn(n,e):wqn(n,-e)}function $J(n){ole.call(this,n==null?gu:Jr(n),O(n,82)?u(n,82):null)}function ALn(n){var e;return n.c||(e=n.r,O(e,90)&&(n.c=u(e,29))),n.c}function JN(n){var e;return e=new E0,Ur(e,n),U(e,(cn(),Fr),null),e}function SLn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Vn(),Zt)&&t.k==Zt}function QN(n){var e,t,i;return e=n&ro,t=n>>22&ro,i=n<0?Il:0,Yc(e,t,i)}function Q3e(n){var e,t,i,r;for(t=n,i=0,r=t.length;i=0?n.Lh(i,t,!0):H0(n,e,t)}function Z3e(n,e,t){return bt(vp(pm(n),Ki(e.b)),vp(pm(n),Ki(t.b)))}function n4e(n,e,t){return bt(vp(pm(n),Ki(e.e)),vp(pm(n),Ki(t.e)))}function e4e(n,e){return y.Math.min(W1(e.a,n.d.d.c),W1(e.b,n.d.d.c))}function ik(n,e){n._i(n.i+1),O6(n,n.i,n.Zi(n.i,e)),n.Mi(n.i++,e),n.Ni()}function t5(n){var e,t;++n.j,e=n.g,t=n.i,n.g=null,n.i=0,n.Oi(t,e),n.Ni()}function PLn(n,e,t){var i;i=new NX(n.a),f5(i,n.a.a),Vc(i.f,e,t),n.a.a=i}function xJ(n,e,t,i){var r;for(r=0;re)throw M(new Ir(Mnn(n,e,"index")));return n}function Yl(n,e){var t;return t=(Ln(e,n.c.length),n.c[e]),Pz(n.c,e,1),t}function RJ(n,e){var t,i;return t=(Jn(n),n),i=(Jn(e),e),t==i?0:te.p?-1:0}function FLn(n){var e;return n.a||(e=n.r,O(e,156)&&(n.a=u(e,156))),n.a}function o4e(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].gd(t),136),i.md()}function s4e(n){var e,t;return e=n.ld(),t=u(n.md(),16),x7(t.Nc(),new L8n(e))}function BLn(n,e){return Zc(n.a,e)?(Bp(n.a,e),!0):!1}function Rp(n,e,t){return ek(e,n.e.Rd().gc()),ek(t,n.c.Rd().gc()),n.a[e][t]}function XM(n,e,t){this.a=n,this.b=e,this.c=t,nn(n.t,this),nn(e.i,this)}function VM(n,e,t,i){this.f=n,this.e=e,this.d=t,this.b=i,this.c=i?i.d:null}function rk(){this.b=new Ct,this.a=new Ct,this.b=new Ct,this.a=new Ct}function $4(){$4=F;var n,e;MO=(o4(),e=new xE,e),TO=(n=new fD,n)}function f4e(n){var e;return ea(n),e=new ISn(n,n.a.e,n.a.d|4),new uV(n,e)}function RLn(n){var e;for(z1(n),e=0;n.a.Bd(new W0n);)e=nr(e,1);return e}function WM(n,e){return Jn(e),n.c=0,"Initial capacity must not be negative")}function JM(){JM=F,p9=new lt("org.eclipse.elk.labels.labelManager")}function KLn(){KLn=F,ysn=new Dt("separateLayerConnections",(OT(),F_))}function lf(){lf=F,zw=new rX("REGULAR",0),ja=new rX("CRITICAL",1)}function ck(){ck=F,Kq=new lX("FIXED",0),JI=new lX("CENTER_NODE",1)}function QM(){QM=F,Tsn=new Jz("QUADRATIC",0),V_=new Jz("SCANLINE",1)}function _Ln(){_Ln=F,dne=Ce((u5(),S(T(Psn,1),G,322,0,[B8,pj,Ssn])))}function HLn(){HLn=F,bne=Ce((bT(),S(T(Osn,1),G,351,0,[Isn,VP,W_])))}function qLn(){qLn=F,fne=Ce((D0(),S(T(R_,1),G,372,0,[ub,ma,cb])))}function ULn(){ULn=F,mne=Ce((hd(),S(T(pne,1),G,460,0,[Y_,mv,p2])))}function GLn(){GLn=F,Cne=Ce((Z4(),S(T(sH,1),G,299,0,[uH,oH,mj])))}function zLn(){zLn=F,Tne=Ce((vl(),S(T(Mne,1),G,311,0,[vj,v2,E3])))}function XLn(){XLn=F,Zte=Ce((g5(),S(T(Lhn,1),G,390,0,[FH,Dhn,MI])))}function VLn(){VLn=F,oie=Ce((ST(),S(T(zhn,1),G,387,0,[Uhn,zH,Ghn])))}function WLn(){WLn=F,sie=Ce((d5(),S(T(Xhn,1),G,349,0,[VH,XH,Ij])))}function JLn(){JLn=F,uie=Ce((gr(),S(T(cie,1),G,463,0,[n9,Vu,Jc])))}function QLn(){QLn=F,fie=Ce((om(),S(T(Whn,1),G,350,0,[WH,Vhn,e9])))}function YLn(){YLn=F,hie=Ce((dT(),S(T(Yhn,1),G,352,0,[Qhn,JH,Jhn])))}function ZLn(){ZLn=F,lie=Ce((DT(),S(T(Zhn,1),G,388,0,[QH,Ov,Gw])))}function nNn(){nNn=F,are=Ce((b5(),S(T(gln,1),G,392,0,[wln,nq,Lj])))}function eNn(){eNn=F,Gre=Ce((Ok(),S(T(Uln,1),G,393,0,[KI,Hln,qln])))}function tNn(){tNn=F,ace=Ce((AT(),S(T(s1n,1),G,300,0,[Cq,o1n,u1n])))}function iNn(){iNn=F,dce=Ce((XT(),S(T(f1n,1),G,445,0,[Bj,qI,Mq])))}function rNn(){rNn=F,wce=Ce((rA(),S(T(bce,1),G,456,0,[Tq,Sq,Aq])))}function cNn(){cNn=F,mce=Ce((_T(),S(T(a1n,1),G,394,0,[l1n,Oq,h1n])))}function uNn(){uNn=F,Kce=Ce((nT(),S(T(O1n,1),G,439,0,[xq,I1n,P1n])))}function oNn(){oNn=F,Aie=Ce((O0(),S(T(Tie,1),G,464,0,[Oj,t9,PI])))}function sNn(){sNn=F,WQn=Ce((Uu(),S(T(VQn,1),G,471,0,[Mh,ga,Gs])))}function fNn(){fNn=F,XQn=Ce((bf(),S(T(Sw,1),G,237,0,[bc,Wc,wc])))}function hNn(){hNn=F,QQn=Ce((bu(),S(T(JQn,1),G,472,0,[vf,pa,zs])))}function lNn(){lNn=F,xQn=Ce((Gu(),S(T(xr,1),G,108,0,[xun,Yr,Aw])))}function aNn(){aNn=F,pZn=Ce((i5(),S(T(Pon,1),G,391,0,[E_,j_,C_])))}function dNn(){dNn=F,Que=Ce((jl(),S(T(ldn,1),G,346,0,[uO,M1,M9])))}function bNn(){bNn=F,Uce=Ce((Fk(),S(T(Fq,1),G,444,0,[XI,VI,WI])))}function wNn(){wNn=F,Xue=Ce((Nf(),S(T(Zan,1),G,278,0,[Bv,Jw,Rv])))}function gNn(){gNn=F,loe=Ce((Gp(),S(T(mdn,1),G,280,0,[pdn,Yw,aO])))}function Df(n,e){return!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),wx(n.o,e)}function h4e(n,e){var t;n.C&&(t=u(Cr(n.b,e),127).n,t.d=n.C.d,t.a=n.C.a)}function UJ(n){var e,t,i,r;r=n.d,e=n.a,t=n.b,i=n.c,n.d=t,n.a=i,n.b=r,n.c=e}function l4e(n){return!n.g&&(n.g=new CE),!n.g.b&&(n.g.b=new byn(n)),n.g.b}function uk(n){return!n.g&&(n.g=new CE),!n.g.c&&(n.g.c=new pyn(n)),n.g.c}function a4e(n){return!n.g&&(n.g=new CE),!n.g.d&&(n.g.d=new wyn(n)),n.g.d}function d4e(n){return!n.g&&(n.g=new CE),!n.g.a&&(n.g.a=new gyn(n)),n.g.a}function b4e(n,e,t,i){return t&&(i=t.Rh(e,Ot(t.Dh(),n.c.uk()),null,i)),i}function w4e(n,e,t,i){return t&&(i=t.Th(e,Ot(t.Dh(),n.c.uk()),null,i)),i}function e$(n,e,t,i){var r;return r=K(ye,Ke,28,e+1,15,1),vPe(r,n,e,t,i),r}function K(n,e,t,i,r,c){var s;return s=_Rn(r,i),r!=10&&S(T(n,c),e,t,r,s),s}function g4e(n,e,t){var i,r;for(r=new Y4(e,n),i=0;it||e=0?n.Lh(t,!0,!0):H0(n,e,!0)}function L4e(n,e,t){var i;return i=vFn(n,e,t),n.b=new ET(i.c.length),den(n,i)}function N4e(n){if(n.b<=0)throw M(new nc);return--n.b,n.a-=n.c.c,Y(n.a)}function $4e(n){var e;if(!n.a)throw M(new PIn);return e=n.a,n.a=At(n.a),e}function x4e(n){for(;!n.a;)if(!eSn(n.c,new C9n(n)))return!1;return!0}function Kp(n){var e;return Se(n),O(n,204)?(e=u(n,204),e):new _8n(n)}function F4e(n){YM(),u(n.of((qe(),Ww)),181).Fc((zu(),tE)),n.qf(sU,null)}function YM(){YM=F,wue=new Emn,pue=new Cmn,gue=M6e((qe(),sU),wue,Ma,pue)}function ZM(){ZM=F,Kln=new sX("LEAF_NUMBER",0),vq=new sX("NODE_SIZE",1)}function u$(n){n.a=K(ye,Ke,28,n.b+1,15,1),n.c=K(ye,Ke,28,n.b,15,1),n.d=0}function B4e(n,e){n.a.Ne(e.d,n.b)>0&&(nn(n.c,new GV(e.c,e.d,n.d)),n.b=e.d)}function nQ(n,e){if(n.g==null||e>=n.i)throw M(new aL(e,n.i));return n.g[e]}function kNn(n,e,t){if(rm(n,t),t!=null&&!n.fk(t))throw M(new uD);return t}function o$(n,e){return gk(e)!=10&&S(wo(e),e.Sm,e.__elementTypeId$,gk(e),n),n}function F4(n,e,t,i){var r;i=(j0(),i||Pun),r=n.slice(e,t),Tnn(r,n,e,t,-e,i)}function zo(n,e,t,i,r){return e<0?H0(n,t,i):u(t,69).wk().yk(n,n.hi(),e,i,r)}function R4e(n,e){return bt($(R(v(n,(W(),fb)))),$(R(v(e,fb))))}function yNn(){yNn=F,IQn=Ce((B4(),S(T(lP,1),G,304,0,[e_,t_,i_,r_])))}function B4(){B4=F,e_=new uC("All",0),t_=new lTn,i_=new kTn,r_=new hTn}function Uu(){Uu=F,Mh=new FD(s3,0),ga=new FD(qm,1),Gs=new FD(f3,2)}function jNn(){jNn=F,KA(),s0n=St,mse=li,f0n=new V9(St),vse=new V9(li)}function ENn(){ENn=F,jYn=Ce((N0(),S(T(yYn,1),G,417,0,[rj,ij,a_,d_])))}function CNn(){CNn=F,AYn=Ce((A5(),S(T(TYn,1),G,406,0,[fj,wP,gP,hj])))}function MNn(){MNn=F,CYn=Ce((Vp(),S(T(EYn,1),G,332,0,[uj,cj,oj,sj])))}function TNn(){TNn=F,DZn=Ce((dd(),S(T(Lon,1),G,389,0,[Ow,Don,P_,I_])))}function ANn(){ANn=F,TZn=Ce((nm(),S(T(MZn,1),G,416,0,[rb,Iw,Pw,a2])))}function SNn(){SNn=F,tne=Ce(($f(),S(T(ene,1),G,421,0,[j3,lv,av,B_])))}function PNn(){PNn=F,GZn=Ce((OT(),S(T(UZn,1),G,371,0,[F_,HP,qP,wj])))}function INn(){INn=F,nie=Ce((cw(),S(T(RH,1),G,203,0,[TI,BH,S2,A2])))}function ONn(){ONn=F,iie=Ce((lh(),S(T(Hhn,1),G,284,0,[k1,_hn,HH,qH])))}function hk(){hk=F,Fsn=new Yz(kh,0),QP=new Yz("IMPROVE_STRAIGHTNESS",1)}function DNn(n,e){var t,i;return i=e/n.c.Rd().gc()|0,t=e%n.c.Rd().gc(),Rp(n,i,t)}function LNn(n){var e;if(n.nl())for(e=n.i-1;e>=0;--e)L(n,e);return jJ(n)}function eQ(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function NNn(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[1];)t=e;return t}function K4e(n){return O(n,180)?""+u(n,180).a:n==null?null:Jr(n)}function _4e(n){return O(n,180)?""+u(n,180).a:n==null?null:Jr(n)}function $Nn(n,e){if(e.a)throw M(new ec(nXn));fi(n.a,e),e.a=n,!n.j&&(n.j=e)}function tQ(n,e){IC.call(this,e.zd(),e.yd()&-16449),Jn(n),this.a=n,this.c=e}function H4e(n,e){return new _L(e,a0(Ki(e.e),e.f.a+n,e.f.b+n),(_n(),!1))}function q4e(n,e){return k4(),nn(n,new bi(e,Y(e.e.c.length+e.g.c.length)))}function U4e(n,e){return k4(),nn(n,new bi(e,Y(e.e.c.length+e.g.c.length)))}function xNn(){xNn=F,lce=Ce((sA(),S(T(c1n,1),G,354,0,[Eq,i1n,r1n,t1n])))}function FNn(){FNn=F,$re=Ce((w5(),S(T(xln,1),G,353,0,[aq,BI,lq,hq])))}function BNn(){BNn=F,hre=Ce((Qp(),S(T(rln,1),G,405,0,[LI,c9,u9,o9])))}function RNn(){RNn=F,Vue=Ce((El(),S(T(aU,1),G,223,0,[lU,Yj,Kv,F3])))}function KNn(){KNn=F,Zue=Ce((To(),S(T(Yue,1),G,291,0,[nE,nl,Ta,Zj])))}function _Nn(){_Nn=F,foe=Ce((go(),S(T(I9,1),G,386,0,[rE,Gd,iE,Qw])))}function HNn(){HNn=F,doe=Ce((qT(),S(T(Cdn,1),G,320,0,[wU,ydn,Edn,jdn])))}function qNn(){qNn=F,goe=Ce((LT(),S(T(woe,1),G,415,0,[gU,Tdn,Mdn,Adn])))}function nT(){nT=F,xq=new oL(mVn,0),I1n=new oL(Crn,1),P1n=new oL(kh,2)}function Wb(n,e,t,i,r){return Jn(n),Jn(e),Jn(t),Jn(i),Jn(r),new AW(n,e,i)}function UNn(n,e){var t;return t=u(Bp(n.e,e),400),t?(tW(t),t.e):null}function du(n,e){var t;return t=qr(n,e,0),t==-1?!1:(Yl(n,t),!0)}function GNn(n,e,t){var i;return z1(n),i=new LO,i.a=e,n.a.Nb(new TCn(i,t)),i.a}function G4e(n){var e;return z1(n),e=K(Pi,Tr,28,0,15,1),hg(n.a,new y9n(e)),e}function iQ(n){var e;if(!E$(n))throw M(new nc);return n.e=1,e=n.d,n.d=null,e}function n1(n){var e;return Vr(n)&&(e=0-n,!isNaN(e))?e:Q1(tm(n))}function qr(n,e,t){for(;t=0?tA(n,t,!0,!0):H0(n,e,!0)}function cQ(n){var e;return e=cd(Un(n,32)),e==null&&(iu(n),e=cd(Un(n,32))),e}function uQ(n){var e;return n.Oh()||(e=se(n.Dh())-n.ji(),n.$h().Mk(e)),n.zh()}function QNn(n,e){con=new kE,MYn=e,L8=n,u(L8.b,68),XJ(L8,con,null),aGn(L8)}function i5(){i5=F,E_=new RD("XY",0),j_=new RD("X",1),C_=new RD("Y",2)}function bu(){bu=F,vf=new BD("TOP",0),pa=new BD(qm,1),zs=new BD(Ftn,2)}function vl(){vl=F,vj=new GD(kh,0),v2=new GD("TOP",1),E3=new GD(Ftn,2)}function wk(){wk=F,UH=new nX("INPUT_ORDER",0),GH=new nX("PORT_DEGREE",1)}function R4(){R4=F,hun=Yc(ro,ro,524287),bQn=Yc(0,0,Ty),lun=QN(1),QN(2),aun=QN(0)}function a$(n){var e;return n.d!=n.r&&(e=ws(n),n.e=!!e&&e.lk()==bJn,n.d=e),n.e}function d$(n,e,t){var i;return i=n.g[e],O6(n,e,n.Zi(e,t)),n.Ri(e,t,i),n.Ni(),i}function rT(n,e){var t;return t=n.dd(e),t>=0?(n.gd(t),!0):!1}function b$(n,e){var t;for(Se(n),Se(e),t=!1;e.Ob();)t=t|n.Fc(e.Pb());return t}function Lf(n,e){var t;return t=u(ee(n.e,e),400),t?(DTn(n,t),t.e):null}function YNn(n){var e,t;return e=n/60|0,t=n%60,t==0?""+e:""+e+":"+(""+t)}function Jb(n,e){var t=n.a[e],i=(K$(),WK)[typeof t];return i?i(t):wY(typeof t)}function rc(n,e){var t,i;return ea(n),i=new _J(e,n.a),t=new rSn(i),new Tn(n,t)}function w$(n){var e;return e=n.b.c.length==0?null:sn(n.b,0),e!=null&&M$(n,0),e}function W4e(n,e){var t,i,r;r=e.c.i,t=u(ee(n.f,r),60),i=t.d.c-t.e.c,BQ(e.a,i,0)}function oQ(n,e){var t;for(++n.d,++n.c[e],t=e+1;t=0;)++e[0]}function J4e(n,e){eu(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function Q4e(n,e){tu(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function Y4e(n,e){I0(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function Z4e(n,e){P0(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function nme(n,e,t){return vp(new V(t.e.a+t.f.a/2,t.e.b+t.f.b/2),n)==(Jn(e),e)}function eme(n,e){return O(e,102)&&u(e,19).Bb&hr?new dL(e,n):new Y4(e,n)}function tme(n,e){return O(e,102)&&u(e,19).Bb&hr?new dL(e,n):new Y4(e,n)}function gk(n){return n.__elementTypeCategory$==null?10:n.__elementTypeCategory$}function e$n(n,e){return e==(xL(),xL(),AQn)?n.toLocaleLowerCase():n.toLowerCase()}function t$n(n){if(!n.e)throw M(new nc);return n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function sQ(n){if(!n.c)throw M(new nc);return n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function i$n(n){var e;for(++n.a,e=n.c.a.length;n.an.a[i]&&(i=t);return i}function r$n(n){var e;return e=u(v(n,(W(),ob)),313),e?e.a==n:!1}function c$n(n){var e;return e=u(v(n,(W(),ob)),313),e?e.i==n:!1}function u$n(){u$n=F,yZn=Ce((Vi(),S(T(Ion,1),G,367,0,[Xs,Jh,Oc,Kc,zr])))}function o$n(){o$n=F,rne=Ce((ow(),S(T(ine,1),G,375,0,[gj,zP,XP,GP,UP])))}function s$n(){s$n=F,wne=Ce((o1(),S(T(Lsn,1),G,348,0,[J_,Dsn,Q_,pv,gv])))}function f$n(){f$n=F,eie=Ce((T5(),S(T($hn,1),G,323,0,[Nhn,KH,_H,Y8,Z8])))}function h$n(){h$n=F,Sne=Ce((Yo(),S(T(hfn,1),G,171,0,[Ej,U8,ka,G8,xw])))}function l$n(){l$n=F,qre=Ce((wA(),S(T(Hre,1),G,368,0,[pq,bq,mq,wq,gq])))}function a$n(){a$n=F,qce=Ce((R5(),S(T(Hce,1),G,373,0,[L2,D3,g9,w9,_j])))}function d$n(){d$n=F,Wce=Ce((Yk(),S(T(K1n,1),G,324,0,[F1n,_q,R1n,Hq,B1n])))}function b$n(){b$n=F,zue=Ce((ci(),S(T(E9,1),G,88,0,[Wf,Xr,Br,Vf,us])))}function w$n(){w$n=F,mue=Ce((gf(),S(T(Zh,1),G,170,0,[xn,pi,Ph,Kd,E1])))}function g$n(){g$n=F,eoe=Ce((Fg(),S(T(A9,1),G,256,0,[Aa,eE,adn,T9,ddn])))}function p$n(){p$n=F,roe=Ce((tn(),S(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])))}function cT(){cT=F,Run=new Uz("BY_SIZE",0),s_=new Uz("BY_SIZE_AND_SHAPE",1)}function uT(){uT=F,v_=new Xz("EADES",0),vP=new Xz("FRUCHTERMAN_REINGOLD",1)}function pk(){pk=F,WP=new Qz("READING_DIRECTION",0),Nsn=new Qz("ROTATION",1)}function r5(){r5=F,PZn=new rwn,IZn=new own,AZn=new swn,SZn=new uwn,OZn=new fwn}function m$n(n){this.b=new Z,this.a=new Z,this.c=new Z,this.d=new Z,this.e=n}function v$n(n){this.g=n,this.f=new Z,this.a=y.Math.min(this.g.c.c,this.g.d.c)}function k$n(n,e,t){qC.call(this),lQ(this),this.a=n,this.c=t,this.b=e.d,this.f=e.e}function sme(n,e,t){var i,r;for(r=new C(t);r.a=0&&e0?e-1:e,eEn($he(U$n(YV(new up,t),n.n),n.j),n.k)}function Nr(n){var e,t;t=(e=new hD,e),ve((!n.q&&(n.q=new q(As,n,11,10)),n.q),t)}function fQ(n){return(n.i&2?"interface ":n.i&1?"":"class ")+(ll(n),n.o)}function oT(n){return Ec(n,et)>0?et:Ec(n,Wi)<0?Wi:Ae(n)}function Qb(n){return n<3?(Co(n,$zn),n+1):n=-.01&&n.a<=Kf&&(n.a=0),n.b>=-.01&&n.b<=Kf&&(n.b=0),n}function Og(n){Xg();var e,t;for(t=Arn,e=0;et&&(t=n[e]);return t}function C$n(n,e){var t;if(t=oy(n.Dh(),e),!t)throw M(new Gn(da+e+sK));return t}function Yb(n,e){var t;for(t=n;At(t);)if(t=At(t),t==e)return!0;return!1}function vme(n,e){var t,i,r;for(i=e.a.ld(),t=u(e.a.md(),16).gc(),r=0;rn||n>e)throw M(new pz("fromIndex: 0, toIndex: "+n+Mtn+e))}function S0(n){if(n<0)throw M(new Gn("Illegal Capacity: "+n));this.g=this.aj(n)}function hQ(n,e){return Mf(),Rs(sa),y.Math.abs(n-e)<=sa||n==e||isNaN(n)&&isNaN(e)}function m$(n,e){var t,i,r,c;for(i=n.d,r=0,c=i.length;r0&&(n.a/=e,n.b/=e),n}function jo(n){var e;return n.w?n.w:(e=lpe(n),e&&!e.Vh()&&(n.w=e),e)}function K4(n,e){var t,i;i=n.a,t=w5e(n,e,null),i!=e&&!n.e&&(t=Nm(n,e,t)),t&&t.oj()}function P$n(n,e,t){var i,r;i=e;do r=$(n.p[i.p])+t,n.p[i.p]=r,i=n.a[i.p];while(i!=e)}function I$n(n,e,t){var i=function(){return n.apply(i,arguments)};return e.apply(i,t),i}function Tme(n){var e;return n==null?null:(e=u(n,195),Bye(e,e.length))}function L(n,e){if(n.g==null||e>=n.i)throw M(new aL(e,n.i));return n.Wi(e,n.g[e])}function Ame(n,e){Dn();var t,i;for(i=new Z,t=0;t=14&&e<=16))),n}function Ee(n,e){var t;return Jn(e),t=n[":"+e],B7(!!t,"Enum constant undefined: "+e),t}function we(n,e,t,i,r,c){var s;return s=bN(n,e),G$n(t,s),s.i=r?8:0,s.f=i,s.e=r,s.g=c,s}function dQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=t}function bQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=t}function wQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=t}function gQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=t}function pQ(n,e,t,i,r){this.d=e,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=t}function z$n(n,e){var t,i,r,c;for(i=e,r=0,c=i.length;r=0))throw M(new Gn("tolerance ("+n+") must be >= 0"));return n}function V$n(n,e){var t;return O(e,44)?n.c.Mc(e):(t=wx(n,e),VT(n,e),t)}function Mr(n,e,t){return ad(n,e),zc(n,t),e1(n,0),Zb(n,1),u1(n,!0),c1(n,!0),n}function vk(n,e){var t;if(t=n.gc(),e<0||e>t)throw M(new Kb(e,t));return new SV(n,e)}function wT(n,e){n.b=y.Math.max(n.b,e.d),n.e+=e.r+(n.a.c.length==0?0:n.c),nn(n.a,e)}function W$n(n){Fb(n.c>=0),_8e(n.d,n.c)<0&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function gT(n){var e,t;for(t=n.c.Cc().Kc();t.Ob();)e=u(t.Pb(),16),e.$b();n.c.$b(),n.d=0}function Fme(n){var e,t,i,r;for(t=n.a,i=0,r=t.length;i=0}function CQ(n,e){n.r>0&&n.c0&&n.g!=0&&CQ(n.i,e/n.r*n.i.d))}function MQ(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,1,t,n.c))}function y$(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,4,t,n.c))}function X4(n,e){var t;t=n.k,n.k=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,2,t,n.k))}function j$(n,e){var t;t=n.D,n.D=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,2,t,n.D))}function mT(n,e){var t;t=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,8,t,n.f))}function vT(n,e){var t;t=n.i,n.i=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,7,t,n.i))}function TQ(n,e){var t;t=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,8,t,n.a))}function AQ(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,0,t,n.b))}function SQ(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,0,t,n.b))}function PQ(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,1,t,n.c))}function IQ(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,1,t,n.d))}function Ume(n,e,t){var i;n.b=e,n.a=t,i=(n.a&512)==512?new gjn:new rG,n.c=rAe(i,n.b,n.a)}function oxn(n,e){return Sl(n.e,e)?(dr(),a$(e)?new eM(e,n):new j7(e,n)):new $Mn(e,n)}function Gme(n){var e,t;return 0>n?new Dz:(e=n+1,t=new vLn(e,n),new oV(null,t))}function zme(n,e){Dn();var t;return t=new ap(1),Ai(n)?Dr(t,n,e):Vc(t.f,n,e),new eD(t)}function Xme(n,e){var t,i;return t=n.c,i=e.e[n.p],i>0?u(sn(t.a,i-1),10):null}function Vme(n,e){var t,i;return t=n.o+n.p,i=e.o+e.p,te?(e<<=1,e>0?e:Y5):e}function E$(n){switch(_X(n.e!=3),n.e){case 2:return!1;case 0:return!0}return i4e(n)}function fxn(n,e){var t;return O(e,8)?(t=u(e,8),n.a==t.a&&n.b==t.b):!1}function Jme(n,e){var t;t=new kE,u(e.b,68),u(e.b,68),u(e.b,68),nu(e.a,new BV(n,t,e))}function hxn(n,e){var t,i;for(i=e.vc().Kc();i.Ob();)t=u(i.Pb(),44),Vk(n,t.ld(),t.md())}function OQ(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,11,t,n.d))}function kT(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,13,t,n.j))}function DQ(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,21,t,n.b))}function Qme(n,e){(UM(),qf?null:e.c).length==0&&TAn(e,new BU),Dr(n.a,qf?null:e.c,e)}function Yme(n,e){e.Ug("Hierarchical port constraint processing",1),g9e(n),xLe(n),e.Vg()}function D0(){D0=F,ub=new KD("START",0),ma=new KD("MIDDLE",1),cb=new KD("END",2)}function yT(){yT=F,RI=new oX("P1_NODE_PLACEMENT",0),D2=new oX("P2_EDGE_ROUTING",1)}function J1(){J1=F,y3=new lt(Jtn),jP=new lt(MXn),$8=new lt(TXn),lj=new lt(AXn)}function L0(n){var e;return FL(n.f.g,n.d),oe(n.b),n.c=n.a,e=u(n.a.Pb(),44),n.b=GQ(n),e}function LQ(n){var e;return n.b==null?(Gl(),Gl(),dE):(e=n.ul()?n.tl():n.sl(),e)}function lxn(n,e){var t;return t=e==null?-1:qr(n.b,e,0),t<0?!1:(M$(n,t),!0)}function Ks(n,e){var t;return Jn(e),t=e.g,n.b[t]?!1:($t(n.b,t,e),++n.c,!0)}function jT(n,e){var t,i;return t=1-e,i=n.a[t],n.a[t]=i.a[e],i.a[e]=n,n.b=!0,i.b=!1,i}function Zme(n,e){var t,i;for(i=e.Kc();i.Ob();)t=u(i.Pb(),272),n.b=!0,fi(n.e,t),t.b=n}function nve(n,e){var t,i;return t=u(v(n,(cn(),Hw)),8),i=u(v(e,Hw),8),bt(t.b,i.b)}function C$(n,e,t){var i,r,c;return c=e>>5,r=e&31,i=vi(U1(n.n[t][c],Ae(Fs(r,1))),3),i}function axn(n,e,t){var i,r,c;for(c=n.a.length-1,r=n.b,i=0;i0?1:0:(!n.c&&(n.c=Y7(vc(n.f))),n.c).e}function yxn(n,e){e?n.B==null&&(n.B=n.D,n.D=null):n.B!=null&&(n.D=n.B,n.B=null)}function rve(n,e){return nm(),n==rb&&e==Iw||n==Iw&&e==rb||n==a2&&e==Pw||n==Pw&&e==a2}function cve(n,e){return nm(),n==rb&&e==Pw||n==rb&&e==a2||n==Iw&&e==a2||n==Iw&&e==Pw}function jxn(n,e){return Mf(),Rs(Kf),y.Math.abs(0-e)<=Kf||e==0||isNaN(0)&&isNaN(e)?0:n/e}function Exn(n,e){return $(R(ho($k(_r(new Tn(null,new In(n.c.b,16)),new I7n(n)),e))))}function FQ(n,e){return $(R(ho($k(_r(new Tn(null,new In(n.c.b,16)),new P7n(n)),e))))}function uve(){return pr(),S(T(cH,1),G,259,0,[ZP,cs,K8,nI,yv,m2,_8,vv,kv,eI])}function ove(){return gs(),S(T(Khn,1),G,243,0,[AI,Sj,Pj,Fhn,Bhn,xhn,Rhn,SI,pb,Uw])}function sve(n,e){var t;e.Ug("General Compactor",1),t=d8e(u(z(n,(ua(),yq)),393)),t.Cg(n)}function fve(n,e){var t,i;return t=u(z(n,(ua(),_I)),17),i=u(z(e,_I),17),jc(t.a,i.a)}function BQ(n,e,t){var i,r;for(r=ge(n,0);r.b!=r.d.c;)i=u(be(r),8),i.a+=e,i.b+=t;return n}function o5(n,e,t){var i;for(i=n.b[t&n.f];i;i=i.b)if(t==i.a&&oh(e,i.g))return i;return null}function s5(n,e,t){var i;for(i=n.c[t&n.f];i;i=i.d)if(t==i.f&&oh(e,i.i))return i;return null}function hve(n,e,t){var i,r,c;for(i=0,r=0;r>>31;i!=0&&(n[t]=i)}function P$(n,e,t,i,r,c){var s;this.c=n,s=new Z,pZ(n,s,e,n.b,t,i,r,c),this.a=new xi(s,0)}function Cxn(){this.c=new XE(0),this.b=new XE(Trn),this.d=new XE(lVn),this.a=new XE(QB)}function Vo(n,e,t,i,r,c,s){je.call(this,n,e),this.d=t,this.e=i,this.c=r,this.b=c,this.a=If(s)}function Ut(n,e,t,i,r,c,s,f,h,l,a,d,g){return P_n(n,e,t,i,r,c,s,f,h,l,a,d,g),sx(n,!1),n}function lve(n){return n.b.c.i.k==(Vn(),Zt)?u(v(n.b.c.i,(W(),st)),12):n.b.c}function Mxn(n){return n.b.d.i.k==(Vn(),Zt)?u(v(n.b.d.i,(W(),st)),12):n.b.d}function ave(n){var e;return e=BM(n),o0(e.a,0)?(QE(),QE(),SQn):(QE(),new uAn(e.b))}function I$(n){var e;return e=gJ(n),o0(e.a,0)?(Ob(),Ob(),n_):(Ob(),new AL(e.b))}function O$(n){var e;return e=gJ(n),o0(e.a,0)?(Ob(),Ob(),n_):(Ob(),new AL(e.c))}function Txn(n){switch(n.g){case 2:return tn(),Wn;case 4:return tn(),Zn;default:return n}}function Axn(n){switch(n.g){case 1:return tn(),ae;case 3:return tn(),Xn;default:return n}}function Sxn(n){switch(n.g){case 0:return new hmn;case 1:return new lmn;default:return null}}function Hp(){Hp=F,x_=new Dt("edgelabelcenterednessanalysis.includelabel",(_n(),wa))}function RQ(){RQ=F,Mie=ah(WMn(Re(Re(new ii,(Vi(),Oc),(tr(),NP)),Kc,PP),zr),LP)}function Pxn(){Pxn=F,Pie=ah(WMn(Re(Re(new ii,(Vi(),Oc),(tr(),NP)),Kc,PP),zr),LP)}function D$(){D$=F,x9=new ljn,CU=S(T(ku,1),s2,179,0,[]),Joe=S(T(As,1),Gcn,62,0,[])}function V4(){V4=F,dj=new Vz("TO_INTERNAL_LTR",0),L_=new Vz("TO_INPUT_DIRECTION",1)}function Ou(){Ou=F,Ron=new wwn,Fon=new gwn,Bon=new pwn,xon=new mwn,Kon=new vwn,_on=new kwn}function dve(n,e){e.Ug(HXn,1),HY(Qhe(new IE((o6(),new kN(n,!1,!1,new qU))))),e.Vg()}function bve(n,e,t){t.Ug("DFS Treeifying phase",1),O8e(n,e),PTe(n,e),n.a=null,n.b=null,t.Vg()}function kk(n,e){return _n(),Ai(n)?RJ(n,Oe(e)):$b(n)?tN(n,R(e)):Nb(n)?rwe(n,un(e)):n.Fd(e)}function f5(n,e){var t,i;for(Jn(e),i=e.vc().Kc();i.Ob();)t=u(i.Pb(),44),n.zc(t.ld(),t.md())}function wve(n,e,t){var i;for(i=t.Kc();i.Ob();)if(!_M(n,e,i.Pb()))return!1;return!0}function gve(n,e,t,i,r){var c;return t&&(c=Ot(e.Dh(),n.c),r=t.Rh(e,-1-(c==-1?i:c),null,r)),r}function pve(n,e,t,i,r){var c;return t&&(c=Ot(e.Dh(),n.c),r=t.Th(e,-1-(c==-1?i:c),null,r)),r}function Ixn(n){var e;if(n.b==-2){if(n.e==0)e=-1;else for(e=0;n.a[e]==0;e++);n.b=e}return n.b}function mve(n){if(Jn(n),n.length==0)throw M(new eh("Zero length BigInteger"));ESe(this,n)}function KQ(n){this.i=n.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),n.Qc(this.g))}function Oxn(n,e,t){this.g=n,this.d=e,this.e=t,this.a=new Z,IEe(this),Dn(),Yt(this.a,null)}function _Q(n,e){e.q=n,n.d=y.Math.max(n.d,e.r),n.b+=e.d+(n.a.c.length==0?0:n.c),nn(n.a,e)}function W4(n,e){var t,i,r,c;return r=n.c,t=n.c+n.b,c=n.d,i=n.d+n.a,e.a>r&&e.ac&&e.br?t=r:zn(e,t+1),n.a=qo(n.a,0,e)+(""+i)+$W(n.a,t)}function Kxn(n,e){n.a=nr(n.a,1),n.c=y.Math.min(n.c,e),n.b=y.Math.max(n.b,e),n.d=nr(n.d,e)}function Mve(n,e){return e1||n.Ob())return++n.a,n.g=0,e=n.i,n.Ob(),e;throw M(new nc)}function Uxn(n){switch(n.a.g){case 1:return new WCn;case 3:return new WRn;default:return new s8n}}function qQ(n,e){switch(e){case 1:return!!n.n&&n.n.i!=0;case 2:return n.k!=null}return wJ(n,e)}function vc(n){return Ay>22),r=n.h+e.h+(i>>22),Yc(t&ro,i&ro,r&Il)}function Yxn(n,e){var t,i,r;return t=n.l-e.l,i=n.m-e.m+(t>>22),r=n.h-e.h+(i>>22),Yc(t&ro,i&ro,r&Il)}function zve(n){var e,t;for(RDe(n),t=new C(n.d);t.ai)throw M(new Kb(e,i));return n.Si()&&(t=gOn(n,t)),n.Ei(e,t)}function em(n,e,t,i,r){var c,s;for(s=t;s<=r;s++)for(c=e;c<=i;c++)Rg(n,c,s)||xA(n,c,s,!0,!1)}function u6e(n){Xg();var e,t,i;for(t=K(Ei,J,8,2,0,1),i=0,e=0;e<2;e++)i+=.5,t[e]=Z9e(i,n);return t}function tm(n){var e,t,i;return e=~n.l+1&ro,t=~n.m+(e==0?1:0)&ro,i=~n.h+(e==0&&t==0?1:0)&Il,Yc(e,t,i)}function QQ(n){var e;if(n<0)return Wi;if(n==0)return 0;for(e=Y5;!(e&n);e>>=1);return e}function R$(n,e,t){return n>=128?!1:n<64?M6(vi(Fs(1,n),t),0):M6(vi(Fs(1,n-64),e),0)}function Pk(n,e,t){return t==null?(!n.q&&(n.q=new de),Bp(n.q,e)):(!n.q&&(n.q=new de),Xe(n.q,e,t)),n}function U(n,e,t){return t==null?(!n.q&&(n.q=new de),Bp(n.q,e)):(!n.q&&(n.q=new de),Xe(n.q,e,t)),n}function fFn(n){var e,t;return t=new zM,Ur(t,n),U(t,(J1(),y3),n),e=new de,$Pe(n,t,e),fDe(n,t,e),t}function hFn(n){var e,t;return e=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,t=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,e||t}function lFn(n,e){var t,i,r,c;for(t=!1,i=n.a[e].length,c=0;c=0,"Negative initial capacity"),B7(e>=0,"Non-positive load factor"),Hu(this)}function s6e(n,e,t,i,r){var c,s;if(s=n.length,c=t.length,e<0||i<0||r<0||e+r>s||i+r>c)throw M(new qG)}function eY(n,e){Dn();var t,i,r,c,s;for(s=!1,i=e,r=0,c=i.length;r1||e>=0&&n.b<3)}function H$(n){var e,t,i;e=~n.l+1&ro,t=~n.m+(e==0?1:0)&ro,i=~n.h+(e==0&&t==0?1:0)&Il,n.l=e,n.m=t,n.h=i}function rY(n){Dn();var e,t,i;for(i=1,t=n.Kc();t.Ob();)e=t.Pb(),i=31*i+(e!=null?mt(e):0),i=i|0;return i}function d6e(n,e,t,i,r){var c;return c=Xnn(n,e),t&&H$(c),r&&(n=u7e(n,e),i?ba=tm(n):ba=Yc(n.l,n.m,n.h)),c}function yFn(n,e,t){n.g=uF(n,e,(tn(),Zn),n.b),n.d=uF(n,t,Zn,n.b),!(n.g.c==0||n.d.c==0)&&YKn(n)}function jFn(n,e,t){n.g=uF(n,e,(tn(),Wn),n.j),n.d=uF(n,t,Wn,n.j),!(n.g.c==0||n.d.c==0)&&YKn(n)}function cY(n,e){switch(e){case 7:return!!n.e&&n.e.i!=0;case 8:return!!n.d&&n.d.i!=0}return qY(n,e)}function b6e(n,e){switch(e.g){case 0:O(n.b,641)||(n.b=new Rxn);break;case 1:O(n.b,642)||(n.b=new BSn)}}function EFn(n){switch(n.g){case 0:return new gmn;default:throw M(new Gn(xS+(n.f!=null?n.f:""+n.g)))}}function CFn(n){switch(n.g){case 0:return new wmn;default:throw M(new Gn(xS+(n.f!=null?n.f:""+n.g)))}}function w6e(n,e,t){return!s4(ut(new Tn(null,new In(n.c,16)),new Z3(new hMn(e,t)))).Bd((Xa(),v3))}function MFn(n,e){return vp(pm(u(v(e,(lc(),vb)),88)),new V(n.c.e.a-n.b.e.a,n.c.e.b-n.b.e.b))<=0}function g6e(n,e){for(;n.g==null&&!n.c?cJ(n):n.g==null||n.i!=0&&u(n.g[n.i-1],51).Ob();)kle(e,CA(n))}function ld(n){var e,t;for(t=new C(n.a.b);t.ai?1:0}function v6e(n){return nn(n.c,(qp(),bue)),hQ(n.a,$(R(rn((bx(),EI)))))?new tvn:new $kn(n)}function k6e(n){for(;!n.d||!n.d.Ob();)if(n.b&&!i6(n.b))n.d=u(Sp(n.b),51);else return null;return n.d}function oY(n){switch(n.g){case 1:return lVn;default:case 2:return 0;case 3:return QB;case 4:return Trn}}function y6e(){nt();var n;return IU||(n=_1e(oa("M",!0)),n=uM(oa("M",!1),n),IU=n,IU)}function LT(){LT=F,gU=new CC("ELK",0),Tdn=new CC("JSON",1),Mdn=new CC("DOT",2),Adn=new CC("SVG",3)}function d5(){d5=F,VH=new WD("STACKED",0),XH=new WD("REVERSE_STACKED",1),Ij=new WD("SEQUENCED",2)}function b5(){b5=F,wln=new eL(kh,0),nq=new eL("MIDDLE_TO_MIDDLE",1),Lj=new eL("AVOID_OVERLAP",2)}function cm(){cm=F,Esn=new Ygn,Csn=new Zgn,JZn=new Jgn,WZn=new n2n,VZn=new Qgn,jsn=(Jn(VZn),new O0n)}function NT(){NT=F,hdn=new f0(15),Jue=new Ni((qe(),C1),hdn),C9=N3,udn=Pue,odn=Hd,fdn=K2,sdn=Vw}function Lg(n,e){var t,i,r,c,s;for(i=e,r=0,c=i.length;r=n.b.c.length||(fY(n,2*e+1),t=2*e+2,t0&&(e.Cd(t),t.i&&E5e(t))}function hY(n,e,t){var i;for(i=t-1;i>=0&&n[i]===e[i];i--);return i<0?0:ND(vi(n[i],mr),vi(e[i],mr))?-1:1}function SFn(n,e,t){var i,r;this.g=n,this.c=e,this.a=this,this.d=this,r=sxn(t),i=K(sQn,Cy,227,r,0,1),this.b=i}function X$(n,e,t,i,r){var c,s;for(s=t;s<=r;s++)for(c=e;c<=i;c++)if(Rg(n,c,s))return!0;return!1}function A6e(n,e){var t,i;for(i=n.Zb().Cc().Kc();i.Ob();)if(t=u(i.Pb(),16),t.Hc(e))return!0;return!1}function PFn(n,e,t){var i,r,c,s;for(Jn(t),s=!1,c=n.fd(e),r=t.Kc();r.Ob();)i=r.Pb(),c.Rb(i),s=!0;return s}function V$(n,e){var t,i;return i=u(Un(n.a,4),129),t=K(jU,MK,424,e,0,1),i!=null&&Ic(i,0,t,0,i.length),t}function IFn(n,e){var t;return t=new jF((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,e),n.e!=null||(t.c=n),t}function S6e(n,e){var t;return n===e?!0:O(e,85)?(t=u(e,85),dnn(Wa(n),t.vc())):!1}function OFn(n,e,t){var i,r;for(r=t.Kc();r.Ob();)if(i=u(r.Pb(),44),n.Be(e,i.md()))return!0;return!1}function DFn(n,e,t){return n.d[e.p][t.p]||(O9e(n,e,t),n.d[e.p][t.p]=!0,n.d[t.p][e.p]=!0),n.a[e.p][t.p]}function P6e(n,e){var t;return!n||n==e||!kt(e,(W(),sb))?!1:(t=u(v(e,(W(),sb)),10),t!=n)}function W$(n){switch(n.i){case 2:return!0;case 1:return!1;case-1:++n.c;default:return n.$l()}}function LFn(n){switch(n.i){case-2:return!0;case-1:return!1;case 1:--n.c;default:return n._l()}}function NFn(n){yOn.call(this,"The given string does not match the expected format for individual spacings.",n)}function I6e(n,e){var t;e.Ug("Min Size Preprocessing",1),t=jnn(n),ht(n,(_h(),a9),t.a),ht(n,UI,t.b),e.Vg()}function O6e(n){var e,t,i;for(e=0,i=K(Ei,J,8,n.b,0,1),t=ge(n,0);t.b!=t.d.c;)i[e++]=u(be(t),8);return i}function J$(n,e,t){var i,r,c;for(i=new Ct,c=ge(t,0);c.b!=c.d.c;)r=u(be(c),8),xe(i,new rr(r));PFn(n,e,i)}function D6e(n,e){var t;return t=nr(n,e),ND(RN(n,e),0)|AC(RN(n,t),0)?t:nr(Ey,RN(U1(t,63),1))}function L6e(n,e){var t,i;return t=u(n.d.Bc(e),16),t?(i=n.e.hc(),i.Gc(t),n.e.d-=t.gc(),t.$b(),i):null}function $Fn(n){var e;if(e=n.a.c.length,e>0)return E4(e-1,n.a.c.length),Yl(n.a,e-1);throw M(new $yn)}function xFn(n,e,t){if(n>e)throw M(new Gn(ZA+n+Qzn+e));if(n<0||e>t)throw M(new pz(ZA+n+Stn+e+Mtn+t))}function um(n,e){n.D==null&&n.B!=null&&(n.D=n.B,n.B=null),j$(n,e==null?null:(Jn(e),e)),n.C&&n.hl(null)}function N6e(n,e){var t;t=rn((bx(),EI))!=null&&e.Sg()!=null?$(R(e.Sg()))/$(R(rn(EI))):1,Xe(n.b,e,t)}function lY(n,e){var t,i;if(i=n.c[e],i!=0)for(n.c[e]=0,n.d-=i,t=e+1;tPS?n-t>PS:t-n>PS}function XFn(n,e){var t;for(t=0;tr&&(EKn(e.q,r),i=t!=e.q.d)),i}function VFn(n,e){var t,i,r,c,s,f,h,l;return h=e.i,l=e.j,i=n.f,r=i.i,c=i.j,s=h-r,f=l-c,t=y.Math.sqrt(s*s+f*f),t}function pY(n,e){var t,i;return i=WT(n),i||(t=(UF(),$Hn(e)),i=new Cyn(t),ve(i.El(),n)),i}function Lk(n,e){var t,i;return t=u(n.c.Bc(e),16),t?(i=n.hc(),i.Gc(t),n.d-=t.gc(),t.$b(),n.mc(i)):n.jc()}function G6e(n,e){var t,i;for(i=to(n.d,1)!=0,t=!0;t;)t=!1,t=e.c.mg(e.e,i),t=t|sy(n,e,i,!1),i=!i;$Q(n)}function WFn(n,e,t,i){var r,c;n.a=e,c=i?0:1,n.f=(r=new s_n(n.c,n.a,t,c),new Kqn(t,n.a,r,n.e,n.b,n.c==(O0(),t9)))}function xT(n){var e;return oe(n.a!=n.b),e=n.d.a[n.a],EAn(n.b==n.d.c&&e!=null),n.c=n.a,n.a=n.a+1&n.d.a.length-1,e}function JFn(n){var e;if(n.c!=0)return n.c;for(e=0;e=n.c.b:n.a<=n.c.b))throw M(new nc);return e=n.a,n.a+=n.c.c,++n.b,Y(e)}function ex(n){var e;return e=new DX(n.a),Ur(e,n),U(e,(W(),st),n),e.o.a=n.g,e.o.b=n.f,e.n.a=n.i,e.n.b=n.j,e}function tx(n){return(tn(),mu).Hc(n.j)?$(R(v(n,(W(),jv)))):cc(S(T(Ei,1),J,8,0,[n.i.n,n.n,n.a])).b}function X6e(n){var e;return e=DC(Cie),u(v(n,(W(),Hc)),21).Hc((pr(),yv))&&Re(e,(Vi(),Oc),(tr(),FP)),e}function V6e(n){var e,t,i,r;for(r=new ni,i=new C(n);i.a=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function Z6e(n,e){var t,i,r;for(r=1,t=n,i=e>=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function na(n,e){var t,i,r,c;return c=(r=n?WT(n):null,O_n((i=e,r&&r.Gl(),i))),c==e&&(t=WT(n),t&&t.Gl()),c}function QFn(n,e,t){var i,r;return r=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,0,r,e),t?t.nj(i):t=i),t}function YFn(n,e,t){var i,r;return r=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,3,r,e),t?t.nj(i):t=i),t}function vY(n,e,t){var i,r;return r=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,1,r,e),t?t.nj(i):t=i),t}function ZFn(n){var e,t;if(n!=null)for(t=0;t=i||e-129&&n<128?(FSn(),e=n+128,t=pun[e],!t&&(t=pun[e]=new vG(n)),t):new vG(n)}function sm(n){var e,t;return n>-129&&n<128?(nPn(),e=n+128,t=yun[e],!t&&(t=yun[e]=new yG(n)),t):new yG(n)}function tBn(n,e){var t;n.a.c.length>0&&(t=u(sn(n.a,n.a.c.length-1),579),sY(t,e))||nn(n.a,new kLn(e))}function c5e(n){xs();var e,t;e=n.d.c-n.e.c,t=u(n.g,154),nu(t.b,new p7n(e)),nu(t.c,new m7n(e)),qi(t.i,new v7n(e))}function iBn(n){var e;return e=new x1,e.a+="VerticalSegment ",Dc(e,n.e),e.a+=" ",Be(e,RX(new yD,new C(n.k))),e.a}function ix(n,e){var t,i,r;for(t=0,r=uc(n,e).Kc();r.Ob();)i=u(r.Pb(),12),t+=v(i,(W(),Xu))!=null?1:0;return t}function xg(n,e,t){var i,r,c;for(i=0,c=ge(n,0);c.b!=c.d.c&&(r=$(R(be(c))),!(r>t));)r>=e&&++i;return i}function rBn(n,e){Se(n);try{return n._b(e)}catch(t){if(t=It(t),O(t,212)||O(t,169))return!1;throw M(t)}}function yY(n,e){Se(n);try{return n.Hc(e)}catch(t){if(t=It(t),O(t,212)||O(t,169))return!1;throw M(t)}}function u5e(n,e){Se(n);try{return n.Mc(e)}catch(t){if(t=It(t),O(t,212)||O(t,169))return!1;throw M(t)}}function tw(n,e){Se(n);try{return n.xc(e)}catch(t){if(t=It(t),O(t,212)||O(t,169))return null;throw M(t)}}function o5e(n,e){Se(n);try{return n.Bc(e)}catch(t){if(t=It(t),O(t,212)||O(t,169))return null;throw M(t)}}function p5(n,e){switch(e.g){case 2:case 1:return uc(n,e);case 3:case 4:return Qo(uc(n,e))}return Dn(),Dn(),sr}function m5(n){var e;return n.Db&64?_s(n):(e=new ls(_s(n)),e.a+=" (name: ",Er(e,n.zb),e.a+=")",e.a)}function s5e(n){var e;return e=u(Lf(n.c.c,""),233),e||(e=new Np(u4(c4(new ep,""),"Other")),s1(n.c.c,"",e)),e}function jY(n,e,t){var i,r;return r=n.sb,n.sb=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,4,r,e),t?t.nj(i):t=i),t}function EY(n,e,t){var i,r;return r=n.r,n.r=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,8,r,n.r),t?t.nj(i):t=i),t}function f5e(n,e,t){var i,r;return i=new ml(n.e,4,13,(r=e.c,r||(On(),Yf)),null,f1(n,e),!1),t?t.nj(i):t=i,t}function h5e(n,e,t){var i,r;return i=new ml(n.e,3,13,null,(r=e.c,r||(On(),Yf)),f1(n,e),!1),t?t.nj(i):t=i,t}function r1(n,e){var t,i;return t=u(e,691),i=t.el(),!i&&t.fl(i=O(e,90)?new xMn(n,u(e,29)):new cDn(n,u(e,156))),i}function Nk(n,e,t){var i;n._i(n.i+1),i=n.Zi(e,t),e!=n.i&&Ic(n.g,e,n.g,e+1,n.i-e),$t(n.g,e,i),++n.i,n.Mi(e,t),n.Ni()}function l5e(n,e){var t;return e.a&&(t=e.a.a.length,n.a?Be(n.a,n.b):n.a=new mo(n.d),aDn(n.a,e.a,e.d.length,t)),n}function a5e(n,e){var t;n.c=e,n.a=p8e(e),n.a<54&&(n.f=(t=e.d>1?hDn(e.a[0],e.a[1]):hDn(e.a[0],0),id(e.e>0?t:n1(t))))}function $k(n,e){var t;return t=new LO,n.a.Bd(t)?(b4(),new wD(Jn(GNn(n,t.a,e)))):(z1(n),b4(),b4(),Dun)}function cBn(n,e){var t;n.c.length!=0&&(t=u(xf(n,K(Qh,b1,10,n.c.length,0,1)),199),CX(t,new rgn),Y_n(t,e))}function uBn(n,e){var t;n.c.length!=0&&(t=u(xf(n,K(Qh,b1,10,n.c.length,0,1)),199),CX(t,new cgn),Y_n(t,e))}function rt(n,e){return Ai(n)?An(n,e):$b(n)?nSn(n,e):Nb(n)?(Jn(n),x(n)===x(e)):pW(n)?n.Fb(e):hW(n)?YMn(n,e):hJ(n,e)}function Wo(n,e,t){if(e<0)Pnn(n,t);else{if(!t.rk())throw M(new Gn(da+t.xe()+p8));u(t,69).wk().Ek(n,n.hi(),e)}}function oBn(n,e,t){if(n<0||e>t)throw M(new Ir(ZA+n+Stn+e+", size: "+t));if(n>e)throw M(new Gn(ZA+n+Qzn+e))}function sBn(n){var e;return n.Db&64?_s(n):(e=new ls(_s(n)),e.a+=" (source: ",Er(e,n.d),e.a+=")",e.a)}function fBn(n){return n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function d5e(n){VA();var e,t,i,r;for(t=jx(),i=0,r=t.length;i=0?ta(n):G6(ta(n1(n))))}function aBn(n,e,t,i,r,c){this.e=new Z,this.f=(gr(),n9),nn(this.e,n),this.d=e,this.a=t,this.b=i,this.f=r,this.c=c}function g5e(n,e,t){n.n=Va(xa,[J,SB],[376,28],14,[t,wi(y.Math.ceil(e/32))],2),n.o=e,n.p=t,n.j=e-1>>1,n.k=t-1>>1}function dBn(n){return n-=n>>1&1431655765,n=(n>>2&858993459)+(n&858993459),n=(n>>4)+n&252645135,n+=n>>8,n+=n>>16,n&63}function bBn(n,e){var t,i;for(i=new ne(n);i.e!=i.i.gc();)if(t=u(ce(i),142),x(e)===x(t))return!0;return!1}function p5e(n,e,t){var i,r,c;return c=(r=Mm(n.b,e),r),c&&(i=u(qA(ak(n,c),""),29),i)?Qnn(n,i,e,t):null}function rx(n,e,t){var i,r,c;return c=(r=Mm(n.b,e),r),c&&(i=u(qA(ak(n,c),""),29),i)?Ynn(n,i,e,t):null}function m5e(n,e){var t;if(t=Dg(n.i,e),t==null)throw M(new nh("Node did not exist in input."));return HQ(e,t),null}function v5e(n,e){var t;if(t=oy(n,e),O(t,331))return u(t,35);throw M(new Gn(da+e+"' is not a valid attribute"))}function k5(n,e,t){var i;if(i=n.gc(),e>i)throw M(new Kb(e,i));if(n.Si()&&n.Hc(t))throw M(new Gn(Vy));n.Gi(e,t)}function k5e(n,e){e.Ug("Sort end labels",1),qt(ut(rc(new Tn(null,new In(n.b,16)),new Hwn),new qwn),new Uwn),e.Vg()}function ci(){ci=F,Wf=new v7(i8,0),Xr=new v7(f3,1),Br=new v7(s3,2),Vf=new v7(_B,3),us=new v7("UP",4)}function Fk(){Fk=F,XI=new sL("P1_STRUCTURE",0),VI=new sL("P2_PROCESSING_ORDER",1),WI=new sL("P3_EXECUTION",2)}function wBn(){wBn=F,Rre=ah(ah(l6(ah(ah(l6(Re(new ii,(Qp(),c9),(q5(),ZH)),u9),lln),dln),o9),oln),bln)}function y5e(n){switch(u(v(n,(W(),Od)),311).g){case 1:U(n,Od,(vl(),E3));break;case 2:U(n,Od,(vl(),v2))}}function j5e(n){switch(n){case 0:return new rjn;case 1:return new tjn;case 2:return new ijn;default:throw M(new Q9)}}function gBn(n){switch(n.g){case 2:return Xr;case 1:return Br;case 4:return Vf;case 3:return us;default:return Wf}}function AY(n,e){switch(n.b.g){case 0:case 1:return e;case 2:case 3:return new Ho(e.d,0,e.a,e.b);default:return null}}function SY(n){switch(n.g){case 1:return Wn;case 2:return Xn;case 3:return Zn;case 4:return ae;default:return sc}}function Bk(n){switch(n.g){case 1:return ae;case 2:return Wn;case 3:return Xn;case 4:return Zn;default:return sc}}function RT(n){switch(n.g){case 1:return Zn;case 2:return ae;case 3:return Wn;case 4:return Xn;default:return sc}}function PY(n,e,t,i){switch(e){case 1:return!n.n&&(n.n=new q(Ar,n,1,7)),n.n;case 2:return n.k}return yZ(n,e,t,i)}function y5(n,e,t){var i,r;return n.Pj()?(r=n.Qj(),i=lF(n,e,t),n.Jj(n.Ij(7,Y(t),i,e,r)),i):lF(n,e,t)}function cx(n,e){var t,i,r;n.d==null?(++n.e,--n.f):(r=e.ld(),t=e.Bi(),i=(t&et)%n.d.length,o4e(n,i,RHn(n,i,t,r)))}function fm(n,e){var t;t=(n.Bb&Us)!=0,e?n.Bb|=Us:n.Bb&=-1025,n.Db&4&&!(n.Db&1)&&it(n,new Bs(n,1,10,t,e))}function hm(n,e){var t;t=(n.Bb&vw)!=0,e?n.Bb|=vw:n.Bb&=-4097,n.Db&4&&!(n.Db&1)&&it(n,new Bs(n,1,12,t,e))}function lm(n,e){var t;t=(n.Bb&$u)!=0,e?n.Bb|=$u:n.Bb&=-8193,n.Db&4&&!(n.Db&1)&&it(n,new Bs(n,1,15,t,e))}function am(n,e){var t;t=(n.Bb&Tw)!=0,e?n.Bb|=Tw:n.Bb&=-2049,n.Db&4&&!(n.Db&1)&&it(n,new Bs(n,1,11,t,e))}function E5e(n){var e;n.g&&(e=n.c.kg()?n.f:n.a,len(e.a,n.o,!0),len(e.a,n.o,!1),U(n.o,(cn(),Kt),(Oi(),Ud)))}function C5e(n){var e;if(!n.a)throw M(new Or("Cannot offset an unassigned cut."));e=n.c-n.b,n.b+=e,_In(n,e),KIn(n,e)}function M5e(n,e){var t;if(t=ee(n.k,e),t==null)throw M(new nh("Port did not exist in input."));return HQ(e,t),null}function T5e(n){var e,t;for(t=xHn(jo(n)).Kc();t.Ob();)if(e=Oe(t.Pb()),U5(n,e))return A3e((mCn(),Boe),e);return null}function pBn(n){var e,t;for(t=n.p.a.ec().Kc();t.Ob();)if(e=u(t.Pb(),218),e.f&&n.b[e.c]<-1e-10)return e;return null}function A5e(n){var e,t;for(t=Ya(new x1,91),e=!0;n.Ob();)e||(t.a+=ur),e=!1,Dc(t,n.Pb());return(t.a+="]",t).a}function S5e(n){var e,t,i;for(e=new Z,i=new C(n.b);i.ae?1:n==e?n==0?bt(1/n,1/e):0:isNaN(n)?isNaN(e)?0:1:-1}function I5e(n){var e;return e=n.a[n.c-1&n.a.length-1],e==null?null:(n.c=n.c-1&n.a.length-1,$t(n.a,n.c,null),e)}function O5e(n){var e,t,i;for(i=0,t=n.length,e=0;e=1?Xr:Vf):t}function $5e(n){switch(u(v(n,(cn(),$l)),223).g){case 1:return new Ppn;case 3:return new Npn;default:return new Spn}}function ea(n){if(n.c)ea(n.c);else if(n.d)throw M(new Or("Stream already terminated, can't be modified or used"))}function $0(n,e,t){var i;return i=n.a.get(e),n.a.set(e,t===void 0?null:t),i===void 0?(++n.c,++n.b.g):++n.d,i}function x5e(n,e,t){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=u(r.Pb(),10),Mk(t,u(sn(e,i.p),16)))return i;return null}function OY(n,e,t){var i;return i=0,e&&(mg(n.a)?i+=e.f.a/2:i+=e.f.b/2),t&&(mg(n.a)?i+=t.f.a/2:i+=t.f.b/2),i}function F5e(n,e,t){var i;i=t,!i&&(i=YV(new up,0)),i.Ug(PXn,2),jRn(n.b,e,i.eh(1)),YIe(n,e,i.eh(1)),eLe(e,i.eh(1)),i.Vg()}function DY(n,e,t){var i,r;return i=(B1(),r=new yE,r),aT(i,e),lT(i,t),n&&ve((!n.a&&(n.a=new ti(xo,n,5)),n.a),i),i}function ox(n){var e;return n.Db&64?_s(n):(e=new ls(_s(n)),e.a+=" (identifier: ",Er(e,n.k),e.a+=")",e.a)}function sx(n,e){var t;t=(n.Bb&kc)!=0,e?n.Bb|=kc:n.Bb&=-32769,n.Db&4&&!(n.Db&1)&&it(n,new Bs(n,1,18,t,e))}function LY(n,e){var t;t=(n.Bb&kc)!=0,e?n.Bb|=kc:n.Bb&=-32769,n.Db&4&&!(n.Db&1)&&it(n,new Bs(n,1,18,t,e))}function dm(n,e){var t;t=(n.Bb&wh)!=0,e?n.Bb|=wh:n.Bb&=-16385,n.Db&4&&!(n.Db&1)&&it(n,new Bs(n,1,16,t,e))}function NY(n,e){var t;t=(n.Bb&hr)!=0,e?n.Bb|=hr:n.Bb&=-65537,n.Db&4&&!(n.Db&1)&&it(n,new Bs(n,1,20,t,e))}function $Y(n){var e;return e=K(fs,gh,28,2,15,1),n-=hr,e[0]=(n>>10)+Sy&ui,e[1]=(n&1023)+56320&ui,hh(e,0,e.length)}function B5e(n){var e;return e=sw(n),e>34028234663852886e22?St:e<-34028234663852886e22?li:e}function nr(n,e){var t;return Vr(n)&&Vr(e)&&(t=n+e,Ay"+td(e.c):"e_"+mt(e),n.b&&n.c?td(n.b)+"->"+td(n.c):"e_"+mt(n))}function _5e(n,e){return An(e.b&&e.c?td(e.b)+"->"+td(e.c):"e_"+mt(e),n.b&&n.c?td(n.b)+"->"+td(n.c):"e_"+mt(n))}function x0(n,e){return Mf(),Rs(sa),y.Math.abs(n-e)<=sa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e))}function El(){El=F,lU=new kC(i8,0),Yj=new kC("POLYLINE",1),Kv=new kC("ORTHOGONAL",2),F3=new kC("SPLINES",3)}function _T(){_T=F,l1n=new uL("ASPECT_RATIO_DRIVEN",0),Oq=new uL("MAX_SCALE_DRIVEN",1),h1n=new uL("AREA_DRIVEN",2)}function H5e(n,e,t){var i;try{l6e(n,e,t)}catch(r){throw r=It(r),O(r,606)?(i=r,M(new $J(i))):M(r)}return e}function q5e(n){var e,t,i;for(t=0,i=n.length;te&&i.Ne(n[c-1],n[c])>0;--c)s=n[c],$t(n,c,n[c-1]),$t(n,c-1,s)}function vn(n,e){var t,i,r,c,s;if(t=e.f,s1(n.c.d,t,e),e.g!=null)for(r=e.g,c=0,s=r.length;ce){wDn(t);break}}q7(t,e)}function X5e(n,e){var t,i,r;i=Sg(e),r=$(R(rw(i,(cn(),Vs)))),t=y.Math.max(0,r/2-.5),I5(e,t,1),nn(n,new NCn(e,t))}function V5e(n,e,t){var i;t.Ug("Straight Line Edge Routing",1),t.dh(e,xrn),i=u(z(e,(Mg(),O2)),27),iGn(n,i),t.dh(e,DS)}function xY(n,e){n.n.c.length==0&&nn(n.n,new NM(n.s,n.t,n.i)),nn(n.b,e),gZ(u(sn(n.n,n.n.c.length-1),209),e),RUn(n,e)}function j5(n){var e;this.a=(e=u(n.e&&n.e(),9),new _o(e,u($s(e,e.length),9),0)),this.b=K(ki,Fn,1,this.a.a.length,5,1)}function Jr(n){var e;return Array.isArray(n)&&n.Tm===J2?za(wo(n))+"@"+(e=mt(n)>>>0,e.toString(16)):n.toString()}function W5e(n,e){return n.h==Ty&&n.m==0&&n.l==0?(e&&(ba=Yc(0,0,0)),nTn((R4(),lun))):(e&&(ba=Yc(n.l,n.m,n.h)),Yc(0,0,0))}function J5e(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function yBn(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function FY(n,e,t,i){switch(e){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return PY(n,e,t,i)}function HT(n,e){if(e==n.d)return n.e;if(e==n.e)return n.d;throw M(new Gn("Node "+e+" not part of edge "+n))}function Q5e(n,e){var t;if(t=oy(n.Dh(),e),O(t,102))return u(t,19);throw M(new Gn(da+e+"' is not a valid reference"))}function Jo(n,e,t,i){if(e<0)ten(n,t,i);else{if(!t.rk())throw M(new Gn(da+t.xe()+p8));u(t,69).wk().Ck(n,n.hi(),e,i)}}function eo(n){var e;if(n.b){if(eo(n.b),n.b.d!=n.c)throw M(new Bo)}else n.d.dc()&&(e=u(n.f.c.xc(n.e),16),e&&(n.d=e))}function Y5e(n){Bb();var e,t,i,r;for(e=n.o.b,i=u(u(ot(n.r,(tn(),ae)),21),87).Kc();i.Ob();)t=u(i.Pb(),117),r=t.e,r.b+=e}function Z5e(n){var e,t,i;for(this.a=new ih,i=new C(n);i.a=r)return e.c+t;return e.c+e.b.gc()}function e8e(n,e){m4();var t,i,r,c;for(i=LNn(n),r=e,F4(i,0,i.length,r),t=0;t0&&(i+=r,++t);return t>1&&(i+=n.d*(t-1)),i}function i8e(n){var e,t,i,r,c;return c=enn(n),t=e7(n.c),i=!t,i&&(r=new Ka,df(c,"knownLayouters",r),e=new lyn(r),qi(n.c,e)),c}function KY(n){var e,t,i;for(i=new Hl,i.a+="[",e=0,t=n.gc();e0&&(zn(e-1,n.length),n.charCodeAt(e-1)==58)&&!lx(n,N9,$9))}function _Y(n,e){var t;return x(n)===x(e)?!0:O(e,92)?(t=u(e,92),n.e==t.e&&n.d==t.d&&I3e(n,t.a)):!1}function zp(n){switch(tn(),n.g){case 4:return Xn;case 1:return Zn;case 3:return ae;case 2:return Wn;default:return sc}}function o8e(n){var e,t;if(n.b)return n.b;for(t=qf?null:n.d;t;){if(e=qf?null:t.b,e)return e;t=qf?null:t.d}return a4(),$un}function HY(n){var e,t,i;for(i=$(R(n.a.of((qe(),iO)))),t=new C(n.a.Sf());t.a>5,e=n&31,i=K(ye,Ke,28,t+1,15,1),i[t]=1<3;)r*=10,--c;n=(n+(r>>1))/r|0}return i.i=n,!0}function Ot(n,e){var t,i,r;if(t=(n.i==null&&bh(n),n.i),i=e.Lj(),i!=-1){for(r=t.length;i=0;--i)for(e=t[i],r=0;r>1,this.k=e-1>>1}function j8e(n){YM(),u(n.of((qe(),Ma)),181).Hc((io(),hO))&&(u(n.of(Ww),181).Fc((zu(),B3)),u(n.of(Ma),181).Mc(hO))}function SBn(n){var e,t;e=n.d==(Yp(),dv),t=GZ(n),e&&!t||!e&&t?U(n.a,(cn(),Th),(Rh(),Uj)):U(n.a,(cn(),Th),(Rh(),qj))}function bx(){bx=F,nC(),EI=(cn(),gb),Qte=If(S(T(Xq,1),Ern,149,0,[Tj,Vs,M2,wb,qw,IH,Av,Sv,OH,J8,C2,Bd,T2]))}function E8e(n,e){var t;return t=u(Wr(n,qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),t.Qc(WSn(t.gc()))}function PBn(n,e){var t,i;if(i=new Y3(n.a.ad(e,!0)),i.a.gc()<=1)throw M(new ip);return t=i.a.ec().Kc(),t.Pb(),u(t.Pb(),40)}function C8e(n,e,t){var i,r;return i=$(n.p[e.i.p])+$(n.d[e.i.p])+e.n.b+e.a.b,r=$(n.p[t.i.p])+$(n.d[t.i.p])+t.n.b+t.a.b,r-i}function WY(n,e){var t;return n.i>0&&(e.lengthn.i&&$t(e,n.i,null),e}function UT(n){var e;return n.Db&64?m5(n):(e=new ls(m5(n)),e.a+=" (instanceClassName: ",Er(e,n.D),e.a+=")",e.a)}function GT(n){var e,t,i,r;for(r=0,t=0,i=n.length;t0?(n._j(),i=e==null?0:mt(e),r=(i&et)%n.d.length,t=RHn(n,r,i,e),t!=-1):!1}function IBn(n,e){var t,i;n.a=nr(n.a,1),n.c=y.Math.min(n.c,e),n.b=y.Math.max(n.b,e),n.d+=e,t=e-n.f,i=n.e+t,n.f=i-n.e-t,n.e=i}function JY(n,e){switch(e){case 3:P0(n,0);return;case 4:I0(n,0);return;case 5:eu(n,0);return;case 6:tu(n,0);return}kY(n,e)}function F0(n,e){switch(e.g){case 1:return Cp(n.j,(Ou(),Fon));case 2:return Cp(n.j,(Ou(),Ron));default:return Dn(),Dn(),sr}}function QY(n){m0();var e;switch(e=n.Pc(),e.length){case 0:return qK;case 1:return new VL(Se(e[0]));default:return new PN(q5e(e))}}function OBn(n,e){n.Xj();try{n.d.bd(n.e++,e),n.f=n.d.j,n.g=-1}catch(t){throw t=It(t),O(t,77)?M(new Bo):M(t)}}function gx(){gx=F,TU=new Tvn,zdn=new Avn,Xdn=new Svn,Vdn=new Pvn,Wdn=new Ivn,Jdn=new Ovn,Qdn=new Dvn,Ydn=new Lvn,Zdn=new Nvn}function zT(n,e){kX();var t,i;return t=D7((KE(),KE(),P8)),i=null,e==t&&(i=u(Nc(fun,n),624)),i||(i=new JPn(n),e==t&&Dr(fun,n,i)),i}function DBn(n){cw();var e;return(n.q?n.q:(Dn(),Dn(),Wh))._b((cn(),db))?e=u(v(n,db),203):e=u(v(Hi(n),W8),203),e}function rw(n,e){var t,i;return i=null,kt(n,(cn(),yI))&&(t=u(v(n,yI),96),t.pf(e)&&(i=t.of(e))),i==null&&(i=v(Hi(n),e)),i}function LBn(n,e){var t,i,r;return O(e,44)?(t=u(e,44),i=t.ld(),r=tw(n.Rc(),i),oh(r,t.md())&&(r!=null||n.Rc()._b(i))):!1}function wf(n,e){var t,i,r;return n.f>0&&(n._j(),i=e==null?0:mt(e),r=(i&et)%n.d.length,t=xnn(n,r,i,e),t)?t.md():null}function Xc(n,e,t){var i,r,c;return n.Pj()?(i=n.i,c=n.Qj(),Nk(n,i,e),r=n.Ij(3,null,e,i,c),t?t.nj(r):t=r):Nk(n,n.i,e),t}function T8e(n,e,t){var i,r;return i=new ml(n.e,4,10,(r=e.c,O(r,90)?u(r,29):(On(),Ps)),null,f1(n,e),!1),t?t.nj(i):t=i,t}function A8e(n,e,t){var i,r;return i=new ml(n.e,3,10,null,(r=e.c,O(r,90)?u(r,29):(On(),Ps)),f1(n,e),!1),t?t.nj(i):t=i,t}function NBn(n){Bb();var e;return e=new rr(u(n.e.of((qe(),K2)),8)),n.B.Hc((io(),Hv))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function ta(n){dh();var e,t;return t=Ae(n),e=Ae(U1(n,32)),e!=0?new HOn(t,e):t>10||t<0?new gl(1,t):kQn[t]}function Kk(n,e){var t;return Vr(n)&&Vr(e)&&(t=n%e,Ay=0?c=c.a[1]:(r=c,c=c.a[0])}return r}function Hk(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.Ne(e,c.d),t&&i==0)return c;i<=0?c=c.a[0]:(r=c,c=c.a[1])}return r}function L8e(n,e,t,i){var r,c,s;return r=!1,xOe(n.f,t,i)&&(e9e(n.f,n.a[e][t],n.a[e][i]),c=n.a[e],s=c[i],c[i]=c[t],c[t]=s,r=!0),r}function BBn(n,e,t){var i,r,c,s;for(r=u(ee(n.b,t),183),i=0,s=new C(e.j);s.a>5,e&=31,r=n.d+t+(e==0?0:1),i=K(ye,Ke,28,r,15,1),Oye(i,n.a,t,e),c=new Qa(n.e,r,i),Q6(c),c}function N8e(n,e){var t,i,r;for(i=new te(re(Qt(n).a.Kc(),new En));pe(i);)if(t=u(fe(i),18),r=t.d.i,r.c==e)return!1;return!0}function nZ(n,e,t){var i,r,c,s,f;return s=n.k,f=e.k,i=t[s.g][f.g],r=R(rw(n,i)),c=R(rw(e,i)),y.Math.max((Jn(r),r),(Jn(c),c))}function $8e(){return Error.stackTraceLimit>0?(y.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function x8e(n,e){return Mf(),Mf(),Rs(sa),(y.Math.abs(n-e)<=sa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e)))>0}function eZ(n,e){return Mf(),Mf(),Rs(sa),(y.Math.abs(n-e)<=sa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e)))<0}function KBn(n,e){return Mf(),Mf(),Rs(sa),(y.Math.abs(n-e)<=sa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e)))<=0}function mx(n,e){for(var t=0;!e[t]||e[t]=="";)t++;for(var i=e[t++];t0&&this.b>0&&(this.g=cM(this.c,this.b,this.a))}function F8e(n,e){var t=n.a,i;e=String(e),t.hasOwnProperty(e)&&(i=t[e]);var r=(K$(),WK)[typeof i],c=r?r(i):wY(typeof i);return c}function wm(n){var e,t,i;if(i=null,e=Eh in n.a,t=!e,t)throw M(new nh("Every element must have an id."));return i=Zp(dl(n,Eh)),i}function B0(n){var e,t;for(t=a_n(n),e=null;n.c==2;)Ye(n),e||(e=(nt(),nt(),new P6(2)),pd(e,t),t=e),t.Jm(a_n(n));return t}function VT(n,e){var t,i,r;return n._j(),i=e==null?0:mt(e),r=(i&et)%n.d.length,t=xnn(n,r,i,e),t?(V$n(n,t),t.md()):null}function XBn(n,e){return n.e>e.e?1:n.ee.d?n.e:n.d=48&&n<48+y.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function B8e(n,e){if(e.c==n)return e.d;if(e.d==n)return e.c;throw M(new Gn("Input edge is not connected to the input port."))}function R8e(n){if(JT(nv,n))return _n(),ov;if(JT(cK,n))return _n(),wa;throw M(new Gn("Expecting true or false"))}function rZ(n){switch(typeof n){case nB:return t1(n);case dtn:return pp(n);case i3:return SAn(n);default:return n==null?0:l0(n)}}function ah(n,e){if(n.a<0)throw M(new Or("Did not call before(...) or after(...) before calling add(...)."));return YX(n,n.a,e),n}function cZ(n){return $M(),O(n,162)?u(ee(hE,MQn),295).Rg(n):Zc(hE,wo(n))?u(ee(hE,wo(n)),295).Rg(n):null}function iu(n){var e,t;return n.Db&32||(t=(e=u(Un(n,16),29),se(e||n.ii())-se(n.ii())),t!=0&&Xp(n,32,K(ki,Fn,1,t,5,1))),n}function Xp(n,e,t){var i;n.Db&e?t==null?jCe(n,e):(i=Rx(n,e),i==-1?n.Eb=t:$t(cd(n.Eb),i,t)):t!=null&>e(n,e,t)}function K8e(n,e,t,i){var r,c;e.c.length!=0&&(r=$Me(t,i),c=xEe(e),qt(fT(new Tn(null,new In(c,1)),new L3n),new MIn(n,t,r,i)))}function _8e(n,e){var t,i,r,c;return i=n.a.length-1,t=e-n.b&i,c=n.c-e&i,r=n.c-n.b&i,EAn(t=c?(R6e(n,e),-1):(B6e(n,e),1)}function WT(n){var e,t,i;if(i=n.Jh(),!i)for(e=0,t=n.Ph();t;t=t.Ph()){if(++e>PB)return t.Qh();if(i=t.Jh(),i||t==n)break}return i}function WBn(n,e){var t;return x(e)===x(n)?!0:!O(e,21)||(t=u(e,21),t.gc()!=n.gc())?!1:n.Ic(t)}function H8e(n,e){return n.ee.e?1:n.fe.f?1:mt(n)-mt(e)}function JT(n,e){return Jn(n),e==null?!1:An(n,e)?!0:n.length==e.length&&An(n.toLowerCase(),e.toLowerCase())}function Ml(n){var e,t;return Ec(n,-129)>0&&Ec(n,128)<0?(ZSn(),e=Ae(n)+128,t=mun[e],!t&&(t=mun[e]=new kG(n)),t):new kG(n)}function dd(){dd=F,Ow=new aC(kh,0),Don=new aC("INSIDE_PORT_SIDE_GROUPS",1),P_=new aC("GROUP_MODEL_ORDER",2),I_=new aC(tin,3)}function q8e(n){var e;return n.b||xhe(n,(e=$ae(n.e,n.a),!e||!An(cK,wf((!e.b&&(e.b=new lo((On(),ar),pc,e)),e.b),"qualified")))),n.c}function U8e(n,e){var t,i;for(t=(zn(e,n.length),n.charCodeAt(e)),i=e+1;i2e3&&(hQn=n,uP=y.setTimeout(_he,10))),cP++==0?(ime((az(),sun)),!0):!1}function r9e(n,e,t){var i;(DQn?(o8e(n),!0):LQn||$Qn?(a4(),!0):NQn&&(a4(),!1))&&(i=new aSn(e),i.b=t,aje(n,i))}function kx(n,e){var t;t=!n.A.Hc((go(),Gd))||n.q==(Oi(),qc),n.u.Hc((zu(),Fl))?t?XDe(n,e):UGn(n,e):n.u.Hc(Pa)&&(t?dDe(n,e):czn(n,e))}function eRn(n){var e;x(z(n,(qe(),B2)))===x((jl(),uO))&&(At(n)?(e=u(z(At(n),B2),346),ht(n,B2,e)):ht(n,B2,M9))}function c9e(n){var e,t;return kt(n.d.i,(cn(),Cv))?(e=u(v(n.c.i,Cv),17),t=u(v(n.d.i,Cv),17),jc(e.a,t.a)>0):!1}function tRn(n,e,t){return new Ho(y.Math.min(n.a,e.a)-t/2,y.Math.min(n.b,e.b)-t/2,y.Math.abs(n.a-e.a)+t,y.Math.abs(n.b-e.b)+t)}function iRn(n){var e;this.d=new Z,this.j=new Li,this.g=new Li,e=n.g.b,this.f=u(v(Hi(e),(cn(),Do)),88),this.e=$(R(nA(e,qw)))}function rRn(n){this.d=new Z,this.e=new Ql,this.c=K(ye,Ke,28,(tn(),S(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])).length,15,1),this.b=n}function sZ(n,e,t){var i;switch(i=t[n.g][e],n.g){case 1:case 3:return new V(0,i);case 2:case 4:return new V(i,0);default:return null}}function cRn(n,e,t){var i,r;r=u(V7(e.f),205);try{r.rf(n,t),hIn(e.f,r)}catch(c){throw c=It(c),O(c,103)?(i=c,M(i)):M(c)}}function uRn(n,e,t){var i,r,c,s,f,h;return i=null,f=Zen(z4(),e),c=null,f&&(r=null,h=Qen(f,t),s=null,h!=null&&(s=n.qf(f,h)),r=s,c=r),i=c,i}function yx(n,e,t,i){var r;if(r=n.length,e>=r)return r;for(e=e>0?e:0;ei&&$t(e,i,null),e}function oRn(n,e){var t,i;for(i=n.a.length,e.lengthi&&$t(e,i,null),e}function gm(n,e){var t,i;if(++n.j,e!=null&&(t=(i=n.a.Cb,O(i,99)?u(i,99).th():null),hCe(e,t))){Xp(n.a,4,t);return}Xp(n.a,4,u(e,129))}function u9e(n){var e;if(n==null)return null;if(e=lMe(Fc(n,!0)),e==null)throw M(new kD("Invalid hexBinary value: '"+n+"'"));return e}function QT(n,e,t){var i;e.a.length>0&&(nn(n.b,new SSn(e.a,t)),i=e.a.length,0i&&(e.a+=ITn(K(fs,gh,28,-i,15,1))))}function sRn(n,e,t){var i,r,c;if(!t[e.d])for(t[e.d]=!0,r=new C($g(e));r.a=n.b>>1)for(i=n.c,t=n.b;t>e;--t)i=i.b;else for(i=n.a.a,t=0;t=0?n.Wh(r):hF(n,i)):t<0?hF(n,i):u(i,69).wk().Bk(n,n.hi(),t)}function aRn(n){var e,t,i;for(i=(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),n.o),t=i.c.Kc();t.e!=t.i.gc();)e=u(t.Yj(),44),e.md();return uk(i)}function rn(n){var e;if(O(n.a,4)){if(e=cZ(n.a),e==null)throw M(new Or(NVn+n.b+"'. "+LVn+(ll(lE),lE.k)+bcn));return e}else return n.a}function b9e(n,e){var t,i;if(n.j.length!=e.j.length)return!1;for(t=0,i=n.j.length;t=64&&e<128&&(r=hf(r,Fs(1,e-64)));return r}function nA(n,e){var t,i;return i=null,kt(n,(qe(),$3))&&(t=u(v(n,$3),96),t.pf(e)&&(i=t.of(e))),i==null&&Hi(n)&&(i=v(Hi(n),e)),i}function w9e(n,e){var t;return t=u(v(n,(cn(),Fr)),75),yL(e,LZn)?t?vo(t):(t=new Mu,U(n,Fr,t)):t&&U(n,Fr,null),t}function M5(){M5=F,aon=(qe(),qan),g_=Ean,DYn=$2,lon=C1,xYn=(aA(),Uun),$Yn=Hun,FYn=zun,NYn=_un,LYn=(Q$(),son),w_=PYn,hon=IYn,pP=OYn}function eA(n){switch($z(),this.c=new Z,this.d=n,n.g){case 0:case 2:this.a=qW(Oon),this.b=St;break;case 3:case 1:this.a=Oon,this.b=li}}function g9e(n){var e;Ep(u(v(n,(cn(),Kt)),101))&&(e=n.b,nHn((Ln(0,e.c.length),u(e.c[0],30))),nHn(u(sn(e,e.c.length-1),30)))}function p9e(n,e){e.Ug("Self-Loop post-processing",1),qt(ut(ut(rc(new Tn(null,new In(n.b,16)),new s2n),new f2n),new h2n),new l2n),e.Vg()}function dRn(n,e,t){var i,r;if(n.c)eu(n.c,n.c.i+e),tu(n.c,n.c.j+t);else for(r=new C(n.b);r.a=0&&(t.d=n.t);break;case 3:n.t>=0&&(t.a=n.t)}n.C&&(t.b=n.C.b,t.c=n.C.c)}function T5(){T5=F,Nhn=new d7(Crn,0),KH=new d7(sR,1),_H=new d7("LINEAR_SEGMENTS",2),Y8=new d7("BRANDES_KOEPF",3),Z8=new d7(sVn,4)}function A5(){A5=F,fj=new hC(eS,0),wP=new hC(HB,1),gP=new hC(qB,2),hj=new hC(UB,3),fj.a=!1,wP.a=!0,gP.a=!1,hj.a=!0}function Vp(){Vp=F,uj=new fC(eS,0),cj=new fC(HB,1),oj=new fC(qB,2),sj=new fC(UB,3),uj.a=!1,cj.a=!0,oj.a=!1,sj.a=!0}function Wp(n,e,t,i){var r;return t>=0?n.Sh(e,t,i):(n.Ph()&&(i=(r=n.Fh(),r>=0?n.Ah(i):n.Ph().Th(n,-1-r,null,i))),n.Ch(e,t,i))}function fZ(n,e){switch(e){case 7:!n.e&&(n.e=new Nn(Vt,n,7,4)),me(n.e);return;case 8:!n.d&&(n.d=new Nn(Vt,n,8,5)),me(n.d);return}JY(n,e)}function ht(n,e,t){return t==null?(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),VT(n.o,e)):(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),Vk(n.o,e,t)),n}function pRn(n,e){Dn();var t,i,r,c;for(t=n,c=e,O(n,21)&&!O(e,21)&&(t=e,c=n),r=t.Kc();r.Ob();)if(i=r.Pb(),c.Hc(i))return!1;return!0}function j9e(n,e,t,i){if(e.at.b)return!0}return!1}function Tx(n,e){return Ai(n)?!!iQn[e]:n.Sm?!!n.Sm[e]:$b(n)?!!tQn[e]:Nb(n)?!!eQn[e]:!1}function E9e(n){var e;e=n.a;do e=u(fe(new te(re(ji(e).a.Kc(),new En))),18).c.i,e.k==(Vn(),Mi)&&n.b.Fc(e);while(e.k==(Vn(),Mi));n.b=Qo(n.b)}function mRn(n,e){var t,i,r;for(r=n,i=new te(re(ji(e).a.Kc(),new En));pe(i);)t=u(fe(i),18),t.c.i.c&&(r=y.Math.max(r,t.c.i.c.p));return r}function C9e(n,e){var t,i,r;for(r=0,i=u(u(ot(n.r,e),21),87).Kc();i.Ob();)t=u(i.Pb(),117),r+=t.d.d+t.b.Mf().b+t.d.a,i.Ob()&&(r+=n.w);return r}function M9e(n,e){var t,i,r;for(r=0,i=u(u(ot(n.r,e),21),87).Kc();i.Ob();)t=u(i.Pb(),117),r+=t.d.b+t.b.Mf().a+t.d.c,i.Ob()&&(r+=n.w);return r}function vRn(n){var e,t,i,r;if(i=0,r=aw(n),r.c.length==0)return 1;for(t=new C(r);t.a=0?n.Lh(s,t,!0):H0(n,c,t)):u(c,69).wk().yk(n,n.hi(),r,t,i)}function P9e(n,e,t,i){var r,c;c=e.pf((qe(),R2))?u(e.of(R2),21):n.j,r=d5e(c),r!=(VA(),l_)&&(t&&!tZ(r)||bnn(aMe(n,r,i),e))}function I9e(n){switch(n.g){case 1:return N0(),rj;case 3:return N0(),ij;case 2:return N0(),d_;case 4:return N0(),a_;default:return null}}function O9e(n,e,t){if(n.e)switch(n.b){case 1:yge(n.c,e,t);break;case 0:jge(n.c,e,t)}else KDn(n.c,e,t);n.a[e.p][t.p]=n.c.i,n.a[t.p][e.p]=n.c.e}function kRn(n){var e,t;if(n==null)return null;for(t=K(Qh,J,199,n.length,0,2),e=0;e=0)return r;if(n.ol()){for(i=0;i=r)throw M(new Kb(e,r));if(n.Si()&&(i=n.dd(t),i>=0&&i!=e))throw M(new Gn(Vy));return n.Xi(e,t)}function hZ(n,e){if(this.a=u(Se(n),253),this.b=u(Se(e),253),n.Ed(e)>0||n==(dD(),_K)||e==(bD(),HK))throw M(new Gn("Invalid range: "+qDn(n,e)))}function yRn(n){var e,t;for(this.b=new Z,this.c=n,this.a=!1,t=new C(n.a);t.a0),(e&-e)==e)return wi(e*to(n,31)*4656612873077393e-25);do t=to(n,31),i=t%e;while(t-i+(e-1)<0);return wi(i)}function F9e(n,e,t){switch(t.g){case 1:n.a=e.a/2,n.b=0;break;case 2:n.a=e.a,n.b=e.b/2;break;case 3:n.a=e.a/2,n.b=e.b;break;case 4:n.a=0,n.b=e.b/2}}function qk(n,e,t,i){var r,c;for(r=e;r1&&(c=L9e(n,e)),c}function CRn(n){var e;return e=$(R(z(n,(qe(),Qj))))*y.Math.sqrt((!n.a&&(n.a=new q(Qe,n,10,11)),n.a).i),new V(e,e/$(R(z(n,rO))))}function Sx(n){var e;return n.f&&n.f.Vh()&&(e=u(n.f,54),n.f=u(na(n,e),84),n.f!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,8,e,n.f))),n.f}function Px(n){var e;return n.i&&n.i.Vh()&&(e=u(n.i,54),n.i=u(na(n,e),84),n.i!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,7,e,n.i))),n.i}function br(n){var e;return n.b&&n.b.Db&64&&(e=n.b,n.b=u(na(n,e),19),n.b!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,21,e,n.b))),n.b}function uA(n,e){var t,i,r;n.d==null?(++n.e,++n.f):(i=e.Bi(),uTe(n,n.f+1),r=(i&et)%n.d.length,t=n.d[r],!t&&(t=n.d[r]=n.dk()),t.Fc(e),++n.f)}function dZ(n,e,t){var i;return e.tk()?!1:e.Ik()!=-2?(i=e.ik(),i==null?t==null:rt(i,t)):e.qk()==n.e.Dh()&&t==null}function oA(){var n;Co(16,$zn),n=sxn(16),this.b=K(UK,Cy,303,n,0,1),this.c=K(UK,Cy,303,n,0,1),this.a=null,this.e=null,this.i=0,this.f=n-1,this.g=0}function Tl(n){vV.call(this),this.k=(Vn(),zt),this.j=(Co(6,mw),new Gc(6)),this.b=(Co(2,mw),new Gc(2)),this.d=new sD,this.f=new nz,this.a=n}function R9e(n){var e,t;n.c.length<=1||(e=Sqn(n,(tn(),ae)),w_n(n,u(e.a,17).a,u(e.b,17).a),t=Sqn(n,Wn),w_n(n,u(t.a,17).a,u(t.b,17).a))}function K9e(n,e,t){var i,r;for(r=n.a.b,i=r.c.length;i102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function Nx(n,e){if(n==null)throw M(new sp("null key in entry: null="+e));if(e==null)throw M(new sp("null value in entry: "+n+"=null"))}function q9e(n,e){for(var t,i;n.Ob();)if(!e.Ob()||(t=n.Pb(),i=e.Pb(),!(x(t)===x(i)||t!=null&&rt(t,i))))return!1;return!e.Ob()}function ARn(n,e){var t;return t=S(T(Pi,1),Tr,28,15,[Z$(n.a[0],e),Z$(n.a[1],e),Z$(n.a[2],e)]),n.d&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function SRn(n,e){var t;return t=S(T(Pi,1),Tr,28,15,[$T(n.a[0],e),$T(n.a[1],e),$T(n.a[2],e)]),n.d&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function wZ(n,e,t){Ep(u(v(e,(cn(),Kt)),101))||(PJ(n,e,h1(e,t)),PJ(n,e,h1(e,(tn(),ae))),PJ(n,e,h1(e,Xn)),Dn(),Yt(e.j,new N7n(n)))}function PRn(n){var e,t;for(n.c||sOe(n),t=new Mu,e=new C(n.a),E(e);e.a0&&(zn(0,e.length),e.charCodeAt(0)==43)?(zn(1,e.length+1),e.substr(1)):e))}function i7e(n){var e;return n==null?null:new H1((e=Fc(n,!0),e.length>0&&(zn(0,e.length),e.charCodeAt(0)==43)?(zn(1,e.length+1),e.substr(1)):e))}function pZ(n,e,t,i,r,c,s,f){var h,l;i&&(h=i.a[0],h&&pZ(n,e,t,h,r,c,s,f),qx(n,t,i.d,r,c,s,f)&&e.Fc(i),l=i.a[1],l&&pZ(n,e,t,l,r,c,s,f))}function Rg(n,e,t){try{return o0(C$(n,e,t),1)}catch(i){throw i=It(i),O(i,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(i)}}function NRn(n,e,t){try{return o0(C$(n,e,t),0)}catch(i){throw i=It(i),O(i,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(i)}}function $Rn(n,e,t){try{return o0(C$(n,e,t),2)}catch(i){throw i=It(i),O(i,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(i)}}function xRn(n,e){if(n.g==-1)throw M(new Cu);n.Xj();try{n.d.hd(n.g,e),n.f=n.d.j}catch(t){throw t=It(t),O(t,77)?M(new Bo):M(t)}}function r7e(n){var e,t,i,r,c;for(i=new C(n.b);i.ac&&$t(e,c,null),e}function c7e(n,e){var t,i;if(i=n.gc(),e==null){for(t=0;t0&&(h+=r),l[a]=s,s+=f*(h+i)}function BRn(n){var e,t,i;for(i=n.f,n.n=K(Pi,Tr,28,i,15,1),n.d=K(Pi,Tr,28,i,15,1),e=0;e0?n.c:0),++r;n.b=i,n.d=c}function qRn(n,e){var t;return t=S(T(Pi,1),Tr,28,15,[aZ(n,(bf(),bc),e),aZ(n,Wc,e),aZ(n,wc,e)]),n.f&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function d7e(n,e,t){var i;try{xA(n,e+n.j,t+n.k,!1,!0)}catch(r){throw r=It(r),O(r,77)?(i=r,M(new Ir(i.g+iS+e+ur+t+")."))):M(r)}}function b7e(n,e,t){var i;try{xA(n,e+n.j,t+n.k,!0,!1)}catch(r){throw r=It(r),O(r,77)?(i=r,M(new Ir(i.g+iS+e+ur+t+")."))):M(r)}}function URn(n){var e;kt(n,(cn(),ab))&&(e=u(v(n,ab),21),e.Hc((lw(),Js))?(e.Mc(Js),e.Fc(Qs)):e.Hc(Qs)&&(e.Mc(Qs),e.Fc(Js)))}function GRn(n){var e;kt(n,(cn(),ab))&&(e=u(v(n,ab),21),e.Hc((lw(),Zs))?(e.Mc(Zs),e.Fc(Cs)):e.Hc(Cs)&&(e.Mc(Cs),e.Fc(Zs)))}function Kx(n,e,t,i){var r,c,s,f;return n.a==null&&gje(n,e),s=e.b.j.c.length,c=t.d.p,f=i.d.p,r=f-1,r<0&&(r=s-1),c<=r?n.a[r]-n.a[c]:n.a[s-1]-n.a[c]+n.a[r]}function w7e(n){var e,t;if(!n.b)for(n.b=RM(u(n.f,27).kh().i),t=new ne(u(n.f,27).kh());t.e!=t.i.gc();)e=u(ce(t),135),nn(n.b,new pD(e));return n.b}function g7e(n){var e,t;if(!n.e)for(n.e=RM(mN(u(n.f,27)).i),t=new ne(mN(u(n.f,27)));t.e!=t.i.gc();)e=u(ce(t),123),nn(n.e,new Bkn(e));return n.e}function zRn(n){var e,t;if(!n.a)for(n.a=RM(AM(u(n.f,27)).i),t=new ne(AM(u(n.f,27)));t.e!=t.i.gc();)e=u(ce(t),27),nn(n.a,new ML(n,e));return n.a}function K0(n){var e;if(!n.C&&(n.D!=null||n.B!=null))if(e=iDe(n),e)n.hl(e);else try{n.hl(null)}catch(t){if(t=It(t),!O(t,63))throw M(t)}return n.C}function p7e(n){switch(n.q.g){case 5:gKn(n,(tn(),Xn)),gKn(n,ae);break;case 4:mGn(n,(tn(),Xn)),mGn(n,ae);break;default:y_n(n,(tn(),Xn)),y_n(n,ae)}}function m7e(n){switch(n.q.g){case 5:pKn(n,(tn(),Zn)),pKn(n,Wn);break;case 4:vGn(n,(tn(),Zn)),vGn(n,Wn);break;default:j_n(n,(tn(),Zn)),j_n(n,Wn)}}function Kg(n,e){var t,i,r;for(r=new Li,i=n.Kc();i.Ob();)t=u(i.Pb(),36),Sm(t,r.a,0),r.a+=t.f.a+e,r.b=y.Math.max(r.b,t.f.b);return r.b>0&&(r.b+=e),r}function hA(n,e){var t,i,r;for(r=new Li,i=n.Kc();i.Ob();)t=u(i.Pb(),36),Sm(t,0,r.b),r.b+=t.f.b+e,r.a=y.Math.max(r.a,t.f.a);return r.a>0&&(r.a+=e),r}function XRn(n){var e,t,i;for(i=et,t=new C(n.a);t.a>16==6?n.Cb.Th(n,5,jf,e):(i=br(u($n((t=u(Un(n,16),29),t||n.ii()),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function v7e(n){O4();var e=n.e;if(e&&e.stack){var t=e.stack,i=e+` +`;return t.substring(0,i.length)==i&&(t=t.substring(i.length)),t.split(` +`)}return[]}function k7e(n){var e;return e=(Q$n(),wQn),e[n>>>28]|e[n>>24&15]<<4|e[n>>20&15]<<8|e[n>>16&15]<<12|e[n>>12&15]<<16|e[n>>8&15]<<20|e[n>>4&15]<<24|e[n&15]<<28}function JRn(n){var e,t,i;n.b==n.c&&(i=n.a.length,t=QQ(y.Math.max(8,i))<<1,n.b!=0?(e=$s(n.a,t),axn(n,e,i),n.a=e,n.b=0):Pb(n.a,t),n.c=i)}function y7e(n,e){var t;return t=n.b,t.pf((qe(),oo))?t.ag()==(tn(),Wn)?-t.Mf().a-$(R(t.of(oo))):e+$(R(t.of(oo))):t.ag()==(tn(),Wn)?-t.Mf().a:e}function Gk(n){var e;return n.b.c.length!=0&&u(sn(n.b,0),72).a?u(sn(n.b,0),72).a:(e=vN(n),e??""+(n.c?qr(n.c.a,n,0):-1))}function lA(n){var e;return n.f.c.length!=0&&u(sn(n.f,0),72).a?u(sn(n.f,0),72).a:(e=vN(n),e??""+(n.i?qr(n.i.j,n,0):-1))}function j7e(n,e){var t,i;if(e<0||e>=n.gc())return null;for(t=e;t0?n.c:0),r=y.Math.max(r,e.d),++i;n.e=c,n.b=r}function C7e(n){var e,t;if(!n.b)for(n.b=RM(u(n.f,123).kh().i),t=new ne(u(n.f,123).kh());t.e!=t.i.gc();)e=u(ce(t),135),nn(n.b,new pD(e));return n.b}function M7e(n,e){var t,i,r;if(e.dc())return m4(),m4(),aE;for(t=new LAn(n,e.gc()),r=new ne(n);r.e!=r.i.gc();)i=ce(r),e.Hc(i)&&ve(t,i);return t}function yZ(n,e,t,i){return e==0?i?(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),n.o):(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),uk(n.o)):tA(n,e,t,i)}function Hx(n){var e,t;if(n.rb)for(e=0,t=n.rb.i;e>22),r+=i>>22,r<0)?!1:(n.l=t&ro,n.m=i&ro,n.h=r&Il,!0)}function qx(n,e,t,i,r,c,s){var f,h;return!(e.Te()&&(h=n.a.Ne(t,i),h<0||!r&&h==0)||e.Ue()&&(f=n.a.Ne(t,c),f>0||!s&&f==0))}function P7e(n,e){cm();var t;if(t=n.j.g-e.j.g,t!=0)return 0;switch(n.j.g){case 2:return fx(e,Csn)-fx(n,Csn);case 4:return fx(n,Esn)-fx(e,Esn)}return 0}function I7e(n){switch(n.g){case 0:return Z_;case 1:return nH;case 2:return eH;case 3:return tH;case 4:return JP;case 5:return iH;default:return null}}function $r(n,e,t){var i,r;return i=(r=new lD,ad(r,e),zc(r,t),ve((!n.c&&(n.c=new q(yb,n,12,10)),n.c),r),r),e1(i,0),Zb(i,1),u1(i,!0),c1(i,!0),i}function Jp(n,e){var t,i;if(e>=n.i)throw M(new aL(e,n.i));return++n.j,t=n.g[e],i=n.i-e-1,i>0&&Ic(n.g,e+1,n.g,e,i),$t(n.g,--n.i,null),n.Qi(e,t),n.Ni(),t}function QRn(n,e){var t,i;return n.Db>>16==17?n.Cb.Th(n,21,Ts,e):(i=br(u($n((t=u(Un(n,16),29),t||n.ii()),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function O7e(n){var e,t,i,r;for(Dn(),Yt(n.c,n.a),r=new C(n.c);r.at.a.c.length))throw M(new Gn("index must be >= 0 and <= layer node count"));n.c&&du(n.c.a,n),n.c=t,t&&b0(t.a,e,n)}function tKn(n,e){var t,i,r;for(i=new te(re(Cl(n).a.Kc(),new En));pe(i);)return t=u(fe(i),18),r=u(e.Kb(t),10),new TE(Se(r.n.b+r.o.b/2));return n6(),n6(),KK}function iKn(n,e){this.c=new de,this.a=n,this.b=e,this.d=u(v(n,(W(),j2)),312),x(v(n,(cn(),shn)))===x((hk(),QP))?this.e=new Yyn:this.e=new Qyn}function P5(n,e){var t,i;return i=null,n.pf((qe(),$3))&&(t=u(n.of($3),96),t.pf(e)&&(i=t.of(e))),i==null&&n.Tf()&&(i=n.Tf().of(e)),i==null&&(i=rn(e)),i}function Ux(n,e){var t,i;t=n.fd(e);try{return i=t.Pb(),t.Qb(),i}catch(r){throw r=It(r),O(r,112)?M(new Ir("Can't remove element "+e)):M(r)}}function R7e(n,e){var t,i,r;if(i=new JE,r=new nY(i.q.getFullYear()-fa,i.q.getMonth(),i.q.getDate()),t=JPe(n,e,r),t==0||t0?e:0),++t;return new V(i,r)}function TZ(n,e){var t,i;return n.Db>>16==6?n.Cb.Th(n,6,Vt,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),bO)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function AZ(n,e){var t,i;return n.Db>>16==7?n.Cb.Th(n,1,oE,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),Pdn)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function SZ(n,e){var t,i;return n.Db>>16==9?n.Cb.Th(n,9,Qe,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),Odn)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function uKn(n,e){var t,i;return n.Db>>16==5?n.Cb.Th(n,9,EO,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),S1)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function oKn(n,e){var t,i;return n.Db>>16==7?n.Cb.Th(n,6,jf,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),I1)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function PZ(n,e){var t,i;return n.Db>>16==3?n.Cb.Th(n,0,fE,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),A1)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function sKn(){this.a=new dvn,this.g=new oA,this.j=new oA,this.b=new de,this.d=new oA,this.i=new oA,this.k=new de,this.c=new de,this.e=new de,this.f=new de}function H7e(n,e,t){var i,r,c;for(t<0&&(t=0),c=n.i,r=t;rPB)return mm(n,i);if(i==n)return!0}}return!1}function U7e(n){switch(KC(),n.q.g){case 5:U_n(n,(tn(),Xn)),U_n(n,ae);break;case 4:GHn(n,(tn(),Xn)),GHn(n,ae);break;default:VGn(n,(tn(),Xn)),VGn(n,ae)}}function G7e(n){switch(KC(),n.q.g){case 5:fHn(n,(tn(),Zn)),fHn(n,Wn);break;case 4:bRn(n,(tn(),Zn)),bRn(n,Wn);break;default:WGn(n,(tn(),Zn)),WGn(n,Wn)}}function z7e(n){var e,t;e=u(v(n,(qs(),nZn)),17),e?(t=e.a,t==0?U(n,(J1(),jP),new dx):U(n,(J1(),jP),new qM(t))):U(n,(J1(),jP),new qM(1))}function X7e(n,e){var t;switch(t=n.i,e.g){case 1:return-(n.n.b+n.o.b);case 2:return n.n.a-t.o.a;case 3:return n.n.b-t.o.b;case 4:return-(n.n.a+n.o.a)}return 0}function V7e(n,e){switch(n.g){case 0:return e==(Yo(),ka)?HP:qP;case 1:return e==(Yo(),ka)?HP:wj;case 2:return e==(Yo(),ka)?wj:qP;default:return wj}}function Xk(n,e){var t,i,r;for(du(n.a,e),n.e-=e.r+(n.a.c.length==0?0:n.c),r=Frn,i=new C(n.a);i.a>16==3?n.Cb.Th(n,12,Qe,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),Sdn)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function OZ(n,e){var t,i;return n.Db>>16==11?n.Cb.Th(n,10,Qe,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),Idn)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function fKn(n,e){var t,i;return n.Db>>16==10?n.Cb.Th(n,11,Ts,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),P1)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function hKn(n,e){var t,i;return n.Db>>16==10?n.Cb.Th(n,12,As,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),ig)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function ws(n){var e;return!(n.Bb&1)&&n.r&&n.r.Vh()&&(e=u(n.r,54),n.r=u(na(n,e),142),n.r!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,8,e,n.r))),n.r}function Gx(n,e,t){var i;return i=S(T(Pi,1),Tr,28,15,[inn(n,(bf(),bc),e,t),inn(n,Wc,e,t),inn(n,wc,e,t)]),n.f&&(i[0]=y.Math.max(i[0],i[2]),i[2]=i[0]),i}function W7e(n,e){var t,i,r;if(r=v9e(n,e),r.c.length!=0)for(Yt(r,new Pgn),t=r.c.length,i=0;i>19,l=e.h>>19,h!=l?l-h:(r=n.h,f=e.h,r!=f?r-f:(i=n.m,s=e.m,i!=s?i-s:(t=n.l,c=e.l,t-c)))}function aA(){aA=F,Xun=(NA(),f_),zun=new Mn(Otn,Xun),Gun=(cT(),s_),Uun=new Mn(Dtn,Gun),qun=(YT(),o_),Hun=new Mn(Ltn,qun),_un=new Mn(Ntn,(_n(),!0))}function I5(n,e,t){var i,r;i=e*t,O(n.g,154)?(r=xp(n),r.f.d?r.f.a||(n.d.a+=i+Kf):(n.d.d-=i+Kf,n.d.a+=i+Kf)):O(n.g,10)&&(n.d.d-=i,n.d.a+=2*i)}function lKn(n,e,t){var i,r,c,s,f;for(r=n[t.g],f=new C(e.d);f.a0?n.b:0),++t;e.b=i,e.e=r}function aKn(n){var e,t,i;if(i=n.b,iCn(n.i,i.length)){for(t=i.length*2,n.b=K(UK,Cy,303,t,0,1),n.c=K(UK,Cy,303,t,0,1),n.f=t-1,n.i=0,e=n.a;e;e=e.c)ty(n,e,e);++n.g}}function tke(n,e,t,i){var r,c,s,f;for(r=0;rs&&(f=s/i),r>c&&(h=c/r),rh(n,y.Math.min(f,h)),n}function rke(){KA();var n,e;try{if(e=u(HZ((R1(),Ss),tv),2113),e)return e}catch(t){if(t=It(t),O(t,103))n=t,OW((Ie(),n));else throw M(t)}return new fvn}function cke(){KA();var n,e;try{if(e=u(HZ((R1(),Ss),vs),2040),e)return e}catch(t){if(t=It(t),O(t,103))n=t,OW((Ie(),n));else throw M(t)}return new $vn}function uke(){jNn();var n,e;try{if(e=u(HZ((R1(),Ss),Sd),2122),e)return e}catch(t){if(t=It(t),O(t,103))n=t,OW((Ie(),n));else throw M(t)}return new S6n}function oke(n,e,t){var i,r;return r=n.e,n.e=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,4,r,e),t?t.nj(i):t=i),r!=e&&(e?t=Nm(n,MA(n,e),t):t=Nm(n,n.a,t)),t}function dKn(){JE.call(this),this.e=-1,this.a=!1,this.p=Wi,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=Wi}function ske(n,e){var t,i,r;if(i=n.b.d.d,n.a||(i+=n.b.d.a),r=e.b.d.d,e.a||(r+=e.b.d.a),t=bt(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function fke(n,e){var t,i,r;if(i=n.b.b.d,n.a||(i+=n.b.b.a),r=e.b.b.d,e.a||(r+=e.b.b.a),t=bt(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function hke(n,e){var t,i,r;if(i=n.b.g.d,n.a||(i+=n.b.g.a),r=e.b.g.d,e.a||(r+=e.b.g.a),t=bt(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function LZ(){LZ=F,mZn=Pu(Re(Re(Re(new ii,(Vi(),Kc),(tr(),fsn)),Kc,hsn),zr,lsn),zr,Yon),kZn=Re(Re(new ii,Kc,Gon),Kc,Zon),vZn=Pu(new ii,zr,esn)}function lke(n){var e,t,i,r,c;for(e=u(v(n,(W(),H8)),85),c=n.n,i=e.Cc().Kc();i.Ob();)t=u(i.Pb(),314),r=t.i,r.c+=c.a,r.d+=c.b,t.c?Dqn(t):Lqn(t);U(n,H8,null)}function ake(n,e,t){var i,r;switch(r=n.b,i=r.d,e.g){case 1:return-i.d-t;case 2:return r.o.a+i.c+t;case 3:return r.o.b+i.a+t;case 4:return-i.b-t;default:return-1}}function dke(n,e,t){var i,r;for(t.Ug("Interactive node placement",1),n.a=u(v(e,(W(),j2)),312),r=new C(e.b);r.a0&&(s=(c&et)%n.d.length,r=xnn(n,s,c,e),r)?(f=r.nd(t),f):(i=n.ck(c,e,t),n.c.Fc(i),null)}function xZ(n,e){var t,i,r,c;switch(r1(n,e).Kl()){case 3:case 2:{for(t=Wg(e),r=0,c=t.i;r=0;i--)if(An(n[i].d,e)||An(n[i].d,t)){n.length>=i+1&&n.splice(0,i+1);break}return n}function Wk(n,e){var t;return Vr(n)&&Vr(e)&&(t=n/e,Ay0&&(n.b+=2,n.a+=i):(n.b+=1,n.a+=y.Math.min(i,r))}function kKn(n){var e;e=u(v(u(Zo(n.b,0),40),(lc(),Iln)),107),U(n,(pt(),Dv),new V(0,0)),lUn(new rk,n,e.b+e.c-$(R(v(n,rq))),e.d+e.a-$(R(v(n,cq))))}function yKn(n,e){var t,i;if(i=!1,Ai(e)&&(i=!0,Ip(n,new qb(Oe(e)))),i||O(e,242)&&(i=!0,Ip(n,(t=IV(u(e,242)),new AE(t)))),!i)throw M(new vD(Lcn))}function Ike(n,e,t,i){var r,c,s;return r=new ml(n.e,1,10,(s=e.c,O(s,90)?u(s,29):(On(),Ps)),(c=t.c,O(c,90)?u(c,29):(On(),Ps)),f1(n,e),!1),i?i.nj(r):i=r,i}function RZ(n){var e,t;switch(u(v(Hi(n),(cn(),ehn)),429).g){case 0:return e=n.n,t=n.o,new V(e.a+t.a/2,e.b+t.b/2);case 1:return new rr(n.n);default:return null}}function Jk(){Jk=F,YP=new m6(kh,0),Ksn=new m6("LEFTUP",1),Hsn=new m6("RIGHTUP",2),Rsn=new m6("LEFTDOWN",3),_sn=new m6("RIGHTDOWN",4),rH=new m6("BALANCED",5)}function Oke(n,e,t){var i,r,c;if(i=bt(n.a[e.p],n.a[t.p]),i==0){if(r=u(v(e,(W(),T3)),15),c=u(v(t,T3),15),r.Hc(t))return-1;if(c.Hc(e))return 1}return i}function Dke(n){switch(n.g){case 1:return new U4n;case 2:return new G4n;case 3:return new q4n;case 0:return null;default:throw M(new Gn(GR+(n.f!=null?n.f:""+n.g)))}}function KZ(n,e,t){switch(e){case 1:!n.n&&(n.n=new q(Ar,n,1,7)),me(n.n),!n.n&&(n.n=new q(Ar,n,1,7)),Bt(n.n,u(t,16));return;case 2:X4(n,Oe(t));return}uY(n,e,t)}function _Z(n,e,t){switch(e){case 3:P0(n,$(R(t)));return;case 4:I0(n,$(R(t)));return;case 5:eu(n,$(R(t)));return;case 6:tu(n,$(R(t)));return}KZ(n,e,t)}function dA(n,e,t){var i,r,c;c=(i=new lD,i),r=Ff(c,e,null),r&&r.oj(),zc(c,t),ve((!n.c&&(n.c=new q(yb,n,12,10)),n.c),c),e1(c,0),Zb(c,1),u1(c,!0),c1(c,!0)}function HZ(n,e){var t,i,r;return t=d6(n.i,e),O(t,241)?(r=u(t,241),r.zi()==null,r.wi()):O(t,507)?(i=u(t,2037),r=i.b,r):null}function Lke(n,e,t,i){var r,c;return Se(e),Se(t),c=u(x6(n.d,e),17),VNn(!!c,"Row %s not in %s",e,n.e),r=u(x6(n.b,t),17),VNn(!!r,"Column %s not in %s",t,n.c),cFn(n,c.a,r.a,i)}function jKn(n,e,t,i,r,c,s){var f,h,l,a,d;if(a=r[c],l=c==s-1,f=l?i:0,d=_Rn(f,a),i!=10&&S(T(n,s-c),e[c],t[c],f,d),!l)for(++c,h=0;h1||f==-1?(c=u(h,15),r.Wb(g8e(n,c))):r.Wb(IF(n,u(h,58)))))}function Kke(n,e,t,i){DEn();var r=RK;function c(){for(var s=0;s0)return!1;return!0}function qke(n){var e,t,i,r,c;for(i=new sd(new qa(n.b).a);i.b;)t=L0(i),e=u(t.ld(),10),c=u(u(t.md(),42).a,10),r=u(u(t.md(),42).b,8),tt(sf(e.n),tt(Ki(c.n),r))}function Uke(n){switch(u(v(n.b,(cn(),Vfn)),387).g){case 1:qt(_r(rc(new Tn(null,new In(n.d,16)),new ypn),new jpn),new Epn);break;case 2:RAe(n);break;case 0:pEe(n)}}function Gke(n,e,t){var i,r,c;for(i=t,!i&&(i=new up),i.Ug("Layout",n.a.c.length),c=new C(n.a);c.a_R)return t;r>-1e-6&&++t}return t}function UZ(n,e){var t;e!=n.b?(t=null,n.b&&(t=OM(n.b,n,-4,t)),e&&(t=Wp(e,n,-4,t)),t=YFn(n,e,t),t&&t.oj()):n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,3,e,e))}function MKn(n,e){var t;e!=n.f?(t=null,n.f&&(t=OM(n.f,n,-1,t)),e&&(t=Wp(e,n,-1,t)),t=QFn(n,e,t),t&&t.oj()):n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,0,e,e))}function Wke(n,e,t,i){var r,c,s,f;return fo(n.e)&&(r=e.Lk(),f=e.md(),c=t.md(),s=X1(n,1,r,f,c,r.Jk()?Om(n,r,c,O(r,102)&&(u(r,19).Bb&hr)!=0):-1,!0),i?i.nj(s):i=s),i}function TKn(n){var e,t,i;if(n==null)return null;if(t=u(n,15),t.dc())return"";for(i=new Hl,e=t.Kc();e.Ob();)Er(i,(at(),Oe(e.Pb()))),i.a+=" ";return bL(i,i.a.length-1)}function AKn(n){var e,t,i;if(n==null)return null;if(t=u(n,15),t.dc())return"";for(i=new Hl,e=t.Kc();e.Ob();)Er(i,(at(),Oe(e.Pb()))),i.a+=" ";return bL(i,i.a.length-1)}function Jke(n,e,t){var i,r;return i=n.c[e.c.p][e.p],r=n.c[t.c.p][t.p],i.a!=null&&r.a!=null?tN(i.a,r.a):i.a!=null?-1:r.a!=null?1:0}function Qke(n,e,t){return t.Ug("Tree layout",1),U7(n.b),ff(n.b,(Qp(),LI),LI),ff(n.b,c9,c9),ff(n.b,u9,u9),ff(n.b,o9,o9),n.a=gy(n.b,e),Gke(n,e,t.eh(1)),t.Vg(),e}function Yke(n,e){var t,i,r,c,s,f;if(e)for(c=e.a.length,t=new Ja(c),f=(t.b-t.a)*t.c<0?(K1(),$a):new q1(t);f.Ob();)s=u(f.Pb(),17),r=L4(e,s.a),i=new Vkn(n),uge(i.a,r)}function Zke(n,e){var t,i,r,c,s,f;if(e)for(c=e.a.length,t=new Ja(c),f=(t.b-t.a)*t.c<0?(K1(),$a):new q1(t);f.Ob();)s=u(f.Pb(),17),r=L4(e,s.a),i=new Rkn(n),cge(i.a,r)}function nye(n){var e;if(n!=null&&n.length>0&&Xi(n,n.length-1)==33)try{return e=$Hn(qo(n,0,n.length-1)),e.e==null}catch(t){if(t=It(t),!O(t,33))throw M(t)}return!1}function eye(n,e,t){var i,r,c;switch(i=Hi(e),r=KT(i),c=new Pc,ic(c,e),t.g){case 1:gi(c,Bk(zp(r)));break;case 2:gi(c,zp(r))}return U(c,(cn(),Kw),R(v(n,Kw))),c}function GZ(n){var e,t;return e=u(fe(new te(re(ji(n.a).a.Kc(),new En))),18),t=u(fe(new te(re(Qt(n.a).a.Kc(),new En))),18),on(un(v(e,(W(),Gf))))||on(un(v(t,Gf)))}function ow(){ow=F,gj=new h7("ONE_SIDE",0),zP=new h7("TWO_SIDES_CORNER",1),XP=new h7("TWO_SIDES_OPPOSING",2),GP=new h7("THREE_SIDES",3),UP=new h7("FOUR_SIDES",4)}function SKn(n,e){var t,i,r,c;for(c=new Z,r=0,i=e.Kc();i.Ob();){for(t=Y(u(i.Pb(),17).a+r);t.a=n.f)break;Bn(c.c,t)}return c}function tye(n,e){var t,i,r,c,s;for(c=new C(e.a);c.a0&&YRn(this,this.c-1,(tn(),Zn)),this.c0&&n[0].length>0&&(this.c=on(un(v(Hi(n[0][0]),(W(),ifn))))),this.a=K(jie,J,2117,n.length,0,2),this.b=K(Eie,J,2118,n.length,0,2),this.d=new zFn}function oye(n){return n.c.length==0?!1:(Ln(0,n.c.length),u(n.c[0],18)).c.i.k==(Vn(),Mi)?!0:Ig(_r(new Tn(null,new In(n,16)),new t3n),new i3n)}function OKn(n,e){var t,i,r,c,s,f,h;for(f=aw(e),c=e.f,h=e.g,s=y.Math.sqrt(c*c+h*h),r=0,i=new C(f);i.a=0?(t=Wk(n,QA),i=Kk(n,QA)):(e=U1(n,1),t=Wk(e,5e8),i=Kk(e,5e8),i=nr(Fs(i,1),vi(n,1))),hf(Fs(i,32),vi(t,mr))}function NKn(n,e,t){var i,r;switch(i=(oe(e.b!=0),u(Xo(e,e.a.a),8)),t.g){case 0:i.b=0;break;case 2:i.b=n.f;break;case 3:i.a=0;break;default:i.a=n.g}return r=ge(e,0),q7(r,i),e}function $Kn(n,e,t,i){var r,c,s,f,h;switch(h=n.b,c=e.d,s=c.j,f=sZ(s,h.d[s.g],t),r=tt(Ki(c.n),c.a),c.j.g){case 1:case 3:f.a+=r.a;break;case 2:case 4:f.b+=r.b}xt(i,f,i.c.b,i.c)}function vye(n,e,t){var i,r,c,s;for(s=qr(n.e,e,0),c=new QG,c.b=t,i=new xi(n.e,s);i.b1;e>>=1)e&1&&(i=Pg(i,t)),t.d==1?t=Pg(t,t):t=new QBn(pUn(t.a,t.d,K(ye,Ke,28,t.d<<1,15,1)));return i=Pg(i,t),i}function nnn(){nnn=F;var n,e,t,i;for(Lun=K(Pi,Tr,28,25,15,1),Nun=K(Pi,Tr,28,33,15,1),i=152587890625e-16,e=32;e>=0;e--)Nun[e]=i,i*=.5;for(t=1,n=24;n>=0;n--)Lun[n]=t,t*=.5}function Mye(n){var e,t;if(on(un(z(n,(cn(),Rw))))){for(t=new te(re(Al(n).a.Kc(),new En));pe(t);)if(e=u(fe(t),74),_0(e)&&on(un(z(e,Nd))))return!0}return!1}function xKn(n,e){var t,i,r;fi(n.f,e)&&(e.b=n,i=e.c,qr(n.j,i,0)!=-1||nn(n.j,i),r=e.d,qr(n.j,r,0)!=-1||nn(n.j,r),t=e.a.b,t.c.length!=0&&(!n.i&&(n.i=new iRn(n)),Ive(n.i,t)))}function Tye(n){var e,t,i,r,c;return t=n.c.d,i=t.j,r=n.d.d,c=r.j,i==c?t.p=0&&An(n.substr(e,3),"GMT")||e>=0&&An(n.substr(e,3),"UTC"))&&(t[0]=e+3),Len(n,t,i)}function Sye(n,e){var t,i,r,c,s;for(c=n.g.a,s=n.g.b,i=new C(n.d);i.at;c--)n[c]|=e[c-t-1]>>>s,n[c-1]=e[c-t-1]<0&&Ic(n.g,e,n.g,e+i,f),s=t.Kc(),n.i+=i,r=0;r>4&15,c=n[i]&15,s[r++]=Ddn[t],s[r++]=Ddn[c];return hh(s,0,s.length)}function wu(n){var e,t;return n>=hr?(e=Sy+(n-hr>>10&1023)&ui,t=56320+(n-hr&1023)&ui,String.fromCharCode(e)+(""+String.fromCharCode(t))):String.fromCharCode(n&ui)}function Rye(n,e){Bb();var t,i,r,c;return r=u(u(ot(n.r,e),21),87),r.gc()>=2?(i=u(r.Kc().Pb(),117),t=n.u.Hc((zu(),P9)),c=n.u.Hc(B3),!i.a&&!t&&(r.gc()==2||c)):!1}function RKn(n,e,t,i,r){var c,s,f;for(c=Cqn(n,e,t,i,r),f=!1;!c;)EA(n,r,!0),f=!0,c=Cqn(n,e,t,i,r);f&&EA(n,r,!1),s=B$(r),s.c.length!=0&&(n.d&&n.d.Gg(s),RKn(n,r,t,i,s))}function pA(){pA=F,dU=new j6(kh,0),tdn=new j6("DIRECTED",1),rdn=new j6("UNDIRECTED",2),ndn=new j6("ASSOCIATION",3),idn=new j6("GENERALIZATION",4),edn=new j6("DEPENDENCY",5)}function Kye(n,e){var t;if(!Af(n))throw M(new Or(eWn));switch(t=Af(n),e.g){case 1:return-(n.j+n.f);case 2:return n.i-t.g;case 3:return n.j-t.f;case 4:return-(n.i+n.g)}return 0}function _ye(n,e,t){var i,r,c;return i=e.Lk(),c=e.md(),r=i.Jk()?X1(n,4,i,c,null,Om(n,i,c,O(i,102)&&(u(i,19).Bb&hr)!=0),!0):X1(n,i.tk()?2:1,i,c,i.ik(),-1,!0),t?t.nj(r):t=r,t}function ym(n,e){var t,i;for(Jn(e),i=n.b.c.length,nn(n.b,e);i>0;){if(t=i,i=(i-1)/2|0,n.a.Ne(sn(n.b,i),e)<=0)return Go(n.b,t,e),!0;Go(n.b,t,sn(n.b,i))}return Go(n.b,i,e),!0}function inn(n,e,t,i){var r,c;if(r=0,t)r=$T(n.a[t.g][e.g],i);else for(c=0;c=f)}function KKn(n){switch(n.g){case 0:return new cmn;case 1:return new umn;default:throw M(new Gn("No implementation is available for the width approximator "+(n.f!=null?n.f:""+n.g)))}}function rnn(n,e,t,i){var r;if(r=!1,Ai(i)&&(r=!0,j4(e,t,Oe(i))),r||Nb(i)&&(r=!0,rnn(n,e,t,i)),r||O(i,242)&&(r=!0,nd(e,t,u(i,242))),!r)throw M(new vD(Lcn))}function qye(n,e){var t,i,r;if(t=e.qi(n.a),t&&(r=wf((!t.b&&(t.b=new lo((On(),ar),pc,t)),t.b),ms),r!=null)){for(i=1;i<(Du(),t0n).length;++i)if(An(t0n[i],r))return i}return 0}function Uye(n,e){var t,i,r;if(t=e.qi(n.a),t&&(r=wf((!t.b&&(t.b=new lo((On(),ar),pc,t)),t.b),ms),r!=null)){for(i=1;i<(Du(),i0n).length;++i)if(An(i0n[i],r))return i}return 0}function _Kn(n,e){var t,i,r,c;if(Jn(e),c=n.a.gc(),c0?1:0;c.a[r]!=t;)c=c.a[r],r=n.a.Ne(t.d,c.d)>0?1:0;c.a[r]=i,i.b=t.b,i.a[0]=t.a[0],i.a[1]=t.a[1],t.a[0]=null,t.a[1]=null}function Xye(n){var e,t,i,r;for(e=new Z,t=K(so,Xh,28,n.a.c.length,16,1),TW(t,t.length),r=new C(n.a);r.a0&&dUn((Ln(0,t.c.length),u(t.c[0],30)),n),t.c.length>1&&dUn(u(sn(t,t.c.length-1),30),n),e.Vg()}function Wye(n){zu();var e,t;return e=yt(Fl,S(T(oO,1),G,279,0,[Pa])),!(jk(LM(e,n))>1||(t=yt(P9,S(T(oO,1),G,279,0,[S9,B3])),jk(LM(t,n))>1))}function unn(n,e){var t;t=Nc((R1(),Ss),n),O(t,507)?Dr(Ss,n,new LMn(this,e)):Dr(Ss,n,this),tF(this,e),e==(o4(),Udn)?(this.wb=u(this,2038),u(e,2040)):this.wb=(G1(),Hn)}function Jye(n){var e,t,i;if(n==null)return null;for(e=null,t=0;t=d1?"error":i>=900?"warn":i>=800?"info":"log"),nIn(t,n.a),n.b&&sen(e,t,n.b,"Exception: ",!0))}function v(n,e){var t,i;return i=(!n.q&&(n.q=new de),ee(n.q,e)),i??(t=e.Sg(),O(t,4)&&(t==null?(!n.q&&(n.q=new de),Bp(n.q,e)):(!n.q&&(n.q=new de),Xe(n.q,e,t))),t)}function Vi(){Vi=F,Xs=new f7("P1_CYCLE_BREAKING",0),Jh=new f7("P2_LAYERING",1),Oc=new f7("P3_NODE_ORDERING",2),Kc=new f7("P4_NODE_PLACEMENT",3),zr=new f7("P5_EDGE_ROUTING",4)}function Qye(n,e){r5();var t;if(n.c==e.c){if(n.b==e.b||rve(n.b,e.b)){if(t=Ple(n.b)?1:-1,n.a&&!e.a)return t;if(!n.a&&e.a)return-t}return jc(n.b.g,e.b.g)}else return bt(n.c,e.c)}function zKn(n,e){var t,i,r;if(snn(n,e))return!0;for(i=new C(e);i.a=r||e<0)throw M(new Ir(vK+e+Td+r));if(t>=r||t<0)throw M(new Ir(kK+t+Td+r));return e!=t?i=(c=n.Cj(t),n.qj(e,c),c):i=n.xj(t),i}function WKn(n){var e,t,i;if(i=n,n)for(e=0,t=n.Eh();t;t=t.Eh()){if(++e>PB)return WKn(t);if(i=t,t==n)throw M(new Or("There is a cycle in the containment hierarchy of "+n))}return i}function ra(n){var e,t,i;for(i=new fd(ur,"[","]"),t=n.Kc();t.Ob();)e=t.Pb(),pl(i,x(e)===x(n)?"(this Collection)":e==null?gu:Jr(e));return i.a?i.e.length==0?i.a.a:i.a.a+(""+i.e):i.c}function snn(n,e){var t,i;if(i=!1,e.gc()<2)return!1;for(t=0;t1&&(n.j.b+=n.e)):(n.j.a+=t.a,n.j.b=y.Math.max(n.j.b,t.b),n.d.c.length>1&&(n.j.a+=n.e))}function ca(){ca=F,une=S(T(lr,1),Mc,64,0,[(tn(),Xn),Zn,ae]),cne=S(T(lr,1),Mc,64,0,[Zn,ae,Wn]),one=S(T(lr,1),Mc,64,0,[ae,Wn,Xn]),sne=S(T(lr,1),Mc,64,0,[Wn,Xn,Zn])}function Zye(n,e,t,i){var r,c,s,f,h,l,a;if(s=n.c.d,f=n.d.d,s.j!=f.j)for(a=n.b,r=s.j,h=null;r!=f.j;)h=e==0?RT(r):SY(r),c=sZ(r,a.d[r.g],t),l=sZ(h,a.d[h.g],t),xe(i,tt(c,l)),r=h}function nje(n,e,t,i){var r,c,s,f,h;return s=ZRn(n.a,e,t),f=u(s.a,17).a,c=u(s.b,17).a,i&&(h=u(v(e,(W(),Xu)),10),r=u(v(t,Xu),10),h&&r&&(KDn(n.b,h,r),f+=n.b.i,c+=n.b.e)),f>c}function QKn(n){var e,t,i,r,c,s,f,h,l;for(this.a=kRn(n),this.b=new Z,t=n,i=0,r=t.length;iOL(n.d).c?(n.i+=n.g.c,px(n.d)):OL(n.d).c>OL(n.g).c?(n.e+=n.d.c,px(n.g)):(n.i+=sPn(n.g),n.e+=sPn(n.d),px(n.g),px(n.d))}function rje(n,e,t){var i,r,c,s;for(c=e.q,s=e.r,new ed((lf(),ja),e,c,1),new ed(ja,c,s,1),r=new C(t);r.af&&(h=f/i),r>c&&(l=c/r),s=y.Math.min(h,l),n.a+=s*(e.a-n.a),n.b+=s*(e.b-n.b)}function sje(n,e,t,i,r){var c,s;for(s=!1,c=u(sn(t.b,0),27);FPe(n,e,c,i,r)&&(s=!0,Bke(t,c),t.b.c.length!=0);)c=u(sn(t.b,0),27);return t.b.c.length==0&&Xk(t.j,t),s&&fA(e.q),s}function fje(n,e){Xg();var t,i,r,c;if(e.b<2)return!1;for(c=ge(e,0),t=u(be(c),8),i=t;c.b!=c.d.c;){if(r=u(be(c),8),mF(n,i,r))return!0;i=r}return!!mF(n,i,t)}function hnn(n,e,t,i){var r,c;return t==0?(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),UC(n.o,e,i)):(c=u($n((r=u(Un(n,16),29),r||n.ii()),t),69),c.wk().Ak(n,iu(n),t-se(n.ii()),e,i))}function tF(n,e){var t;e!=n.sb?(t=null,n.sb&&(t=u(n.sb,54).Th(n,1,D9,t)),e&&(t=u(e,54).Rh(n,1,D9,t)),t=jY(n,e,t),t&&t.oj()):n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,4,e,e))}function hje(n,e){var t,i,r,c;if(e)r=yl(e,"x"),t=new Gkn(n),_4(t.a,(Jn(r),r)),c=yl(e,"y"),i=new zkn(n),q4(i.a,(Jn(c),c));else throw M(new nh("All edge sections need an end point."))}function lje(n,e){var t,i,r,c;if(e)r=yl(e,"x"),t=new Hkn(n),H4(t.a,(Jn(r),r)),c=yl(e,"y"),i=new qkn(n),U4(i.a,(Jn(c),c));else throw M(new nh("All edge sections need a start point."))}function aje(n,e){var t,i,r,c,s,f,h;for(i=AFn(n),c=0,f=i.length;c>22-e,r=n.h<>22-e):e<44?(t=0,i=n.l<>44-e):(t=0,i=0,r=n.l<n)throw M(new Gn("k must be smaller than n"));return e==0||e==n?1:n==0?0:FZ(n)/(FZ(e)*FZ(n-e))}function lnn(n,e){var t,i,r,c;for(t=new AX(n);t.g==null&&!t.c?cJ(t):t.g==null||t.i!=0&&u(t.g[t.i-1],51).Ob();)if(c=u(CA(t),58),O(c,167))for(i=u(c,167),r=0;r>4],e[t*2+1]=SO[c&15];return hh(e,0,e.length)}function Sje(n){yM();var e,t,i;switch(i=n.c.length,i){case 0:return rQn;case 1:return e=u(B_n(new C(n)),44),ybe(e.ld(),e.md());default:return t=u(xf(n,K(Pd,WA,44,n.c.length,0,1)),173),new hz(t)}}function Pje(n){var e,t,i,r,c,s;for(e=new Eg,t=new Eg,V1(e,n),V1(t,n);t.b!=t.c;)for(r=u(Sp(t),36),s=new C(r.a);s.a0&&hy(n,t,e),r):pCe(n,e,t)}function ua(){ua=F,fce=(qe(),N3),hce=qd,cce=Hd,uce=K2,oce=Ma,rce=R2,Jln=Wj,sce=Ww,kq=(Men(),Xre),yq=Vre,Yln=Yre,jq=ece,Zln=Zre,n1n=nce,Qln=Wre,_I=Jre,HI=Qre,Fj=tce,e1n=ice,Wln=zre}function c_n(n,e){var t,i,r,c,s;if(n.e<=e||Z2e(n,n.g,e))return n.g;for(c=n.r,i=n.g,s=n.r,r=(c-i)/2+i;i+11&&(n.e.b+=n.a)):(n.e.a+=t.a,n.e.b=y.Math.max(n.e.b,t.b),n.d.c.length>1&&(n.e.a+=n.a))}function Nje(n){var e,t,i,r;switch(r=n.i,e=r.b,i=r.j,t=r.g,r.a.g){case 0:t.a=(n.g.b.o.a-i.a)/2;break;case 1:t.a=e.d.n.a+e.d.a.a;break;case 2:t.a=e.d.n.a+e.d.a.a-i.a;break;case 3:t.b=e.d.n.b+e.d.a.b}}function $je(n,e,t){var i,r,c;for(r=new te(re(Cl(t).a.Kc(),new En));pe(r);)i=u(fe(r),18),!fr(i)&&!(!fr(i)&&i.c.i.c==i.d.i.c)&&(c=WHn(n,i,t,new Zyn),c.c.length>1&&Bn(e.c,c))}function o_n(n,e,t,i,r){if(ii&&(n.a=i),n.br&&(n.b=r),n}function xje(n){if(O(n,143))return dTe(u(n,143));if(O(n,233))return i8e(u(n,233));if(O(n,23))return bje(u(n,23));throw M(new Gn(Ncn+ra(new Ku(S(T(ki,1),Fn,1,5,[n])))))}function Fje(n,e,t,i,r){var c,s,f;for(c=!0,s=0;s>>r|t[s+i+1]<>>r,++s}return c}function wnn(n,e,t,i){var r,c,s;if(e.k==(Vn(),Mi)){for(c=new te(re(ji(e).a.Kc(),new En));pe(c);)if(r=u(fe(c),18),s=r.c.i.k,s==Mi&&n.c.a[r.c.i.c.p]==i&&n.c.a[e.c.p]==t)return!0}return!1}function Bje(n,e){var t,i,r,c;return e&=63,t=n.h&Il,e<22?(c=t>>>e,r=n.m>>e|t<<22-e,i=n.l>>e|n.m<<22-e):e<44?(c=0,r=t>>>e-22,i=n.m>>e-22|n.h<<44-e):(c=0,r=0,i=t>>>e-44),Yc(i&ro,r&ro,c&Il)}function s_n(n,e,t,i){var r;this.b=i,this.e=n==(O0(),t9),r=e[t],this.d=Va(so,[J,Xh],[183,28],16,[r.length,r.length],2),this.a=Va(ye,[J,Ke],[53,28],15,[r.length,r.length],2),this.c=new JZ(e,t)}function Rje(n){var e,t,i;for(n.k=new sJ((tn(),S(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])).length,n.j.c.length),i=new C(n.j);i.a=t)return Em(n,e,i.p),!0;return!1}function qg(n,e,t,i){var r,c,s,f,h,l;for(s=t.length,c=0,r=-1,l=e$n((zn(e,n.length+1),n.substr(e)),(xL(),Oun)),f=0;fc&&awe(l,e$n(t[f],Oun))&&(r=f,c=h);return r>=0&&(i[0]=e+c),r}function h_n(n){var e;return n.Db&64?iF(n):(e=new mo(Ecn),!n.a||Be(Be((e.a+=' "',e),n.a),'"'),Be(t0(Be(t0(Be(t0(Be(t0((e.a+=" (",e),n.i),","),n.j)," | "),n.g),","),n.f),")"),e.a)}function l_n(n,e,t){var i,r,c,s,f;for(f=ru(n.e.Dh(),e),r=u(n.g,124),i=0,s=0;st?Mnn(n,t,"start index"):e<0||e>t?Mnn(e,t,"end index"):H5("end index (%s) must not be less than start index (%s)",S(T(ki,1),Fn,1,5,[Y(e),Y(n)]))}function d_n(n,e){var t,i,r,c;for(i=0,r=n.length;i0&&b_n(n,c,t));e.p=0}function ln(n){var e;this.c=new Ct,this.f=n.e,this.e=n.d,this.i=n.g,this.d=n.c,this.b=n.b,this.k=n.j,this.a=n.a,n.i?this.j=n.i:this.j=(e=u(uf(Zh),9),new _o(e,u($s(e,e.length),9),0)),this.g=n.f}function Gje(n){var e,t,i,r;for(e=Ya(Be(new mo("Predicates."),"and"),40),t=!0,r=new Xv(n);r.b0?f[s-1]:K(Qh,b1,10,0,0,1),r=f[s],l=s=0?n.ki(r):Pnn(n,i);else throw M(new Gn(da+i.xe()+p8));else throw M(new Gn(aWn+e+dWn));else Wo(n,t,i)}function gnn(n){var e,t;if(t=null,e=!1,O(n,211)&&(e=!0,t=u(n,211).a),e||O(n,263)&&(e=!0,t=""+u(n,263).a),e||O(n,493)&&(e=!0,t=""+u(n,493).a),!e)throw M(new vD(Lcn));return t}function pnn(n,e,t){var i,r,c,s,f,h;for(h=ru(n.e.Dh(),e),i=0,f=n.i,r=u(n.g,124),s=0;s=n.d.b.c.length&&(e=new Lc(n.d),e.p=i.p-1,nn(n.d.b,e),t=new Lc(n.d),t.p=i.p,nn(n.d.b,t)),$i(i,u(sn(n.d.b,i.p),30))}function knn(n,e,t){var i,r,c;if(!n.b[e.g]){for(n.b[e.g]=!0,i=t,!i&&(i=new rk),xe(i.b,e),c=n.a[e.g].Kc();c.Ob();)r=u(c.Pb(),65),r.b!=e&&knn(n,r.b,i),r.c!=e&&knn(n,r.c,i),xe(i.a,r);return i}return null}function Wje(n){switch(n.g){case 0:case 1:case 2:return tn(),Xn;case 3:case 4:case 5:return tn(),ae;case 6:case 7:case 8:return tn(),Wn;case 9:case 10:case 11:return tn(),Zn;default:return tn(),sc}}function Jje(n,e){var t;return n.c.length==0?!1:(t=DBn((Ln(0,n.c.length),u(n.c[0],18)).c.i),ko(),t==(cw(),S2)||t==A2?!0:Ig(_r(new Tn(null,new In(n,16)),new r3n),new Y7n(e)))}function oF(n,e){if(O(e,207))return Ule(n,u(e,27));if(O(e,193))return Gle(n,u(e,123));if(O(e,452))return qle(n,u(e,166));throw M(new Gn(Ncn+ra(new Ku(S(T(ki,1),Fn,1,5,[e])))))}function k_n(n,e,t){var i,r;if(this.f=n,i=u(ee(n.b,e),260),r=i?i.a:0,BJ(t,r),t>=(r/2|0))for(this.e=i?i.c:null,this.d=r;t++0;)sQ(this);this.b=e,this.a=null}function Qje(n,e){var t,i;e.a?OTe(n,e):(t=u(ID(n.b,e.b),60),t&&t==n.a[e.b.f]&&t.a&&t.a!=e.b.a&&t.c.Fc(e.b),i=u(PD(n.b,e.b),60),i&&n.a[i.f]==e.b&&i.a&&i.a!=e.b.a&&e.b.c.Fc(i),EL(n.b,e.b))}function y_n(n,e){var t,i;if(t=u(Cr(n.b,e),127),u(u(ot(n.r,e),21),87).dc()){t.n.b=0,t.n.c=0;return}t.n.b=n.C.b,t.n.c=n.C.c,n.A.Hc((go(),Gd))&&Xqn(n,e),i=M9e(n,e),kF(n,e)==(Fg(),Aa)&&(i+=2*n.w),t.a.a=i}function j_n(n,e){var t,i;if(t=u(Cr(n.b,e),127),u(u(ot(n.r,e),21),87).dc()){t.n.d=0,t.n.a=0;return}t.n.d=n.C.d,t.n.a=n.C.a,n.A.Hc((go(),Gd))&&Vqn(n,e),i=C9e(n,e),kF(n,e)==(Fg(),Aa)&&(i+=2*n.w),t.a.b=i}function Yje(n,e){var t,i,r,c;for(c=new Z,i=new C(e);i.ai&&(zn(e-1,n.length),n.charCodeAt(e-1)<=32);)--e;return i>0||et.a&&(i.Hc((wd(),m9))?r=(e.a-t.a)/2:i.Hc(v9)&&(r=e.a-t.a)),e.b>t.b&&(i.Hc((wd(),y9))?c=(e.b-t.b)/2:i.Hc(k9)&&(c=e.b-t.b)),cnn(n,r,c)}function P_n(n,e,t,i,r,c,s,f,h,l,a,d,g){O(n.Cb,90)&&hw(Zu(u(n.Cb,90)),4),zc(n,t),n.f=s,hm(n,f),am(n,h),fm(n,l),lm(n,a),u1(n,d),dm(n,g),c1(n,!0),e1(n,r),n.Zk(c),ad(n,e),i!=null&&(n.i=null,kT(n,i))}function Mnn(n,e,t){if(n<0)return H5(Tzn,S(T(ki,1),Fn,1,5,[t,Y(n)]));if(e<0)throw M(new Gn(Azn+e));return H5("%s (%s) must not be greater than size (%s)",S(T(ki,1),Fn,1,5,[t,Y(n),Y(e)]))}function Tnn(n,e,t,i,r,c){var s,f,h,l;if(s=i-t,s<7){z5e(e,t,i,c);return}if(h=t+r,f=i+r,l=h+(f-h>>1),Tnn(e,n,h,l,-r,c),Tnn(e,n,l,f,-r,c),c.Ne(n[l-1],n[l])<=0){for(;t=0?n.bi(c,t):ten(n,r,t);else throw M(new Gn(da+r.xe()+p8));else throw M(new Gn(aWn+e+dWn));else Jo(n,i,r,t)}function I_n(n){var e,t;if(n.f){for(;n.n>0;){if(e=u(n.k.Xb(n.n-1),76),t=e.Lk(),O(t,102)&&u(t,19).Bb&kc&&(!n.e||t.pk()!=qv||t.Lj()!=0)&&e.md()!=null)return!0;--n.n}return!1}else return n.n>0}function O_n(n){var e,t,i,r;if(t=u(n,54)._h(),t)try{if(i=null,e=Mm((R1(),Ss),gUn(r8e(t))),e&&(r=e.ai(),r&&(i=r.Fl(che(t.e)))),i&&i!=n)return O_n(i)}catch(c){if(c=It(c),!O(c,63))throw M(c)}return n}function bEe(n,e,t){var i,r,c;t.Ug("Remove overlaps",1),t.dh(e,xrn),i=u(z(e,(Mg(),O2)),27),n.f=i,n.a=Ax(u(z(e,(ua(),Fj)),300)),r=R(z(e,(qe(),qd))),mG(n,(Jn(r),r)),c=aw(i),BGn(n,e,c,t),t.dh(e,DS)}function wEe(n){var e,t,i;if(on(un(z(n,(qe(),Xj))))){for(i=new Z,t=new te(re(Al(n).a.Kc(),new En));pe(t);)e=u(fe(t),74),_0(e)&&on(un(z(e,eU)))&&Bn(i.c,e);return i}else return Dn(),Dn(),sr}function D_n(n){if(!n)return Djn(),dQn;var e=n.valueOf?n.valueOf():n;if(e!==n){var t=WK[typeof e];return t?t(e):wY(typeof e)}else return n instanceof Array||n instanceof y.Array?new aG(n):new z9(n)}function L_n(n,e,t){var i,r,c;switch(c=n.o,i=u(Cr(n.p,t),252),r=i.i,r.b=$5(i),r.a=N5(i),r.b=y.Math.max(r.b,c.a),r.b>c.a&&!e&&(r.b=c.a),r.c=-(r.b-c.a)/2,t.g){case 1:r.d=-r.a;break;case 3:r.d=c.b}LF(i),NF(i)}function N_n(n,e,t){var i,r,c;switch(c=n.o,i=u(Cr(n.p,t),252),r=i.i,r.b=$5(i),r.a=N5(i),r.a=y.Math.max(r.a,c.b),r.a>c.b&&!e&&(r.a=c.b),r.d=-(r.a-c.b)/2,t.g){case 4:r.c=-r.b;break;case 2:r.c=c.a}LF(i),NF(i)}function gEe(n,e){var t,i,r,c,s;if(!e.dc()){if(r=u(e.Xb(0),131),e.gc()==1){lqn(n,r,r,1,0,e);return}for(t=1;t0)try{r=Ao(e,Wi,et)}catch(c){throw c=It(c),O(c,130)?(i=c,M(new eT(i))):M(c)}return t=(!n.a&&(n.a=new iD(n)),n.a),r=0?u(L(t,r),58):null}function kEe(n,e){if(n<0)return H5(Tzn,S(T(ki,1),Fn,1,5,["index",Y(n)]));if(e<0)throw M(new Gn(Azn+e));return H5("%s (%s) must be less than size (%s)",S(T(ki,1),Fn,1,5,["index",Y(n),Y(e)]))}function yEe(n){var e,t,i,r,c;if(n==null)return gu;for(c=new fd(ur,"[","]"),t=n,i=0,r=t.length;i=0?n.Lh(t,!0,!0):H0(n,r,!0),160)),u(i,220).Zl(e);else throw M(new Gn(da+e.xe()+p8))}function Inn(n){var e,t;return n>-0x800000000000&&n<0x800000000000?n==0?0:(e=n<0,e&&(n=-n),t=wi(y.Math.floor(y.Math.log(n)/.6931471805599453)),(!e||n!=y.Math.pow(2,t))&&++t,t):Qxn(vc(n))}function xEe(n){var e,t,i,r,c,s,f;for(c=new ih,t=new C(n);t.a2&&f.e.b+f.j.b<=2&&(r=f,i=s),c.a.zc(r,c),r.q=i);return c}function FEe(n,e,t){t.Ug("Eades radial",1),t.dh(e,DS),n.d=u(z(e,(Mg(),O2)),27),n.c=$(R(z(e,(ua(),HI)))),n.e=Ax(u(z(e,Fj),300)),n.a=a8e(u(z(e,e1n),434)),n.b=Dke(u(z(e,Qln),354)),bke(n),t.dh(e,DS)}function BEe(n,e){if(e.Ug("Target Width Setter",1),Df(n,(Bf(),Nq)))ht(n,(_h(),Xw),R(z(n,Nq)));else throw M(new _l("A target width has to be set if the TargetWidthWidthApproximator should be used."));e.Vg()}function R_n(n,e){var t,i,r;return i=new Tl(n),Ur(i,e),U(i,(W(),cI),e),U(i,(cn(),Kt),(Oi(),qc)),U(i,Th,(Rh(),nO)),_a(i,(Vn(),Zt)),t=new Pc,ic(t,i),gi(t,(tn(),Wn)),r=new Pc,ic(r,i),gi(r,Zn),i}function K_n(n){switch(n.g){case 0:return new gD((O0(),Oj));case 1:return new i8n;case 2:return new r8n;default:throw M(new Gn("No implementation is available for the crossing minimizer "+(n.f!=null?n.f:""+n.g)))}}function __n(n,e){var t,i,r,c,s;for(n.c[e.p]=!0,nn(n.a,e),s=new C(e.j);s.a=c)s.$b();else for(r=s.Kc(),i=0;i0?wz():s<0&&G_n(n,e,-s),!0):!1}function N5(n){var e,t,i,r,c,s,f;if(f=0,n.b==0){for(s=ARn(n,!0),e=0,i=s,r=0,c=i.length;r0&&(f+=t,++e);e>1&&(f+=n.c*(e-1))}else f=Ujn(I$(Ub(ut(CW(n.a),new fbn),new hbn)));return f>0?f+n.n.d+n.n.a:0}function $5(n){var e,t,i,r,c,s,f;if(f=0,n.b==0)f=Ujn(I$(Ub(ut(CW(n.a),new obn),new sbn)));else{for(s=SRn(n,!0),e=0,i=s,r=0,c=i.length;r0&&(f+=t,++e);e>1&&(f+=n.c*(e-1))}return f>0?f+n.n.b+n.n.c:0}function GEe(n){var e,t;if(n.c.length!=2)throw M(new Or("Order only allowed for two paths."));e=(Ln(0,n.c.length),u(n.c[0],18)),t=(Ln(1,n.c.length),u(n.c[1],18)),e.d.i!=t.c.i&&(n.c.length=0,Bn(n.c,t),Bn(n.c,e))}function z_n(n,e,t){var i;for(vg(t,e.g,e.f),Ro(t,e.i,e.j),i=0;i<(!e.a&&(e.a=new q(Qe,e,10,11)),e.a).i;i++)z_n(n,u(L((!e.a&&(e.a=new q(Qe,e,10,11)),e.a),i),27),u(L((!t.a&&(t.a=new q(Qe,t,10,11)),t.a),i),27))}function zEe(n,e){var t,i,r,c;for(c=u(Cr(n.b,e),127),t=c.a,r=u(u(ot(n.r,e),21),87).Kc();r.Ob();)i=u(r.Pb(),117),i.c&&(t.a=y.Math.max(t.a,eW(i.c)));if(t.a>0)switch(e.g){case 2:c.n.c=n.s;break;case 4:c.n.b=n.s}}function XEe(n,e){var t,i,r;return t=u(v(e,(qs(),k3)),17).a-u(v(n,k3),17).a,t==0?(i=mi(Ki(u(v(n,(J1(),lj)),8)),u(v(n,$8),8)),r=mi(Ki(u(v(e,lj),8)),u(v(e,$8),8)),bt(i.a*i.b,r.a*r.b)):t}function VEe(n,e){var t,i,r;return t=u(v(e,(lc(),FI)),17).a-u(v(n,FI),17).a,t==0?(i=mi(Ki(u(v(n,(pt(),Nj)),8)),u(v(n,Dv),8)),r=mi(Ki(u(v(e,Nj),8)),u(v(e,Dv),8)),bt(i.a*i.b,r.a*r.b)):t}function X_n(n){var e,t;return t=new x1,t.a+="e_",e=_ve(n),e!=null&&(t.a+=""+e),n.c&&n.d&&(Be((t.a+=" ",t),lA(n.c)),Be(Dc((t.a+="[",t),n.c.i),"]"),Be((t.a+=iR,t),lA(n.d)),Be(Dc((t.a+="[",t),n.d.i),"]")),t.a}function V_n(n){switch(n.g){case 0:return new d8n;case 1:return new b8n;case 2:return new l8n;case 3:return new h8n;default:throw M(new Gn("No implementation is available for the layout phase "+(n.f!=null?n.f:""+n.g)))}}function Lnn(n,e,t,i,r){var c;switch(c=0,r.g){case 1:c=y.Math.max(0,e.b+n.b-(t.b+i));break;case 3:c=y.Math.max(0,-n.b-i);break;case 2:c=y.Math.max(0,-n.a-i);break;case 4:c=y.Math.max(0,e.a+n.a-(t.a+i))}return c}function WEe(n,e,t){var i,r,c,s,f;if(t)for(r=t.a.length,i=new Ja(r),f=(i.b-i.a)*i.c<0?(K1(),$a):new q1(i);f.Ob();)s=u(f.Pb(),17),c=L4(t,s.a),Acn in c.a||pK in c.a?fSe(n,c,e):SLe(n,c,e),A1e(u(ee(n.b,wm(c)),74))}function Nnn(n){var e,t;switch(n.b){case-1:return!0;case 0:return t=n.t,t>1||t==-1?(n.b=-1,!0):(e=ws(n),e&&(dr(),e.lk()==bJn)?(n.b=-1,!0):(n.b=1,!1));default:case 1:return!1}}function $nn(n,e){var t,i,r,c;if(Ye(n),n.c!=0||n.a!=123)throw M(new Le($e((Ie(),xWn))));if(c=e==112,i=n.d,t=w4(n.i,125,i),t<0)throw M(new Le($e((Ie(),FWn))));return r=qo(n.i,i,t),n.d=t+1,mNn(r,c,(n.e&512)==512)}function W_n(n){var e,t,i,r,c,s,f;if(i=n.a.c.length,i>0)for(s=n.c.d,f=n.d.d,r=rh(mi(new V(f.a,f.b),s),1/(i+1)),c=new V(s.a,s.b),t=new C(n.a);t.a=0&&i=0?n.Lh(t,!0,!0):H0(n,r,!0),160)),u(i,220).Wl(e);throw M(new Gn(da+e.xe()+sK))}function ZEe(){Fz();var n;return Yoe?u(Mm((R1(),Ss),vs),2038):(Ue(Pd,new k6n),VOe(),n=u(O(Nc((R1(),Ss),vs),560)?Nc(Ss,vs):new aIn,560),Yoe=!0,WLe(n),tNe(n),Xe((xz(),qdn),n,new xvn),Dr(Ss,vs,n),n)}function nCe(n,e){var t,i,r,c;n.j=-1,fo(n.e)?(t=n.i,c=n.i!=0,ik(n,e),i=new ml(n.e,3,n.c,null,e,t,c),r=e.zl(n.e,n.c,null),r=PKn(n,e,r),r?(r.nj(i),r.oj()):it(n.e,i)):(ik(n,e),r=e.zl(n.e,n.c,null),r&&r.oj())}function yA(n,e){var t,i,r;if(r=0,i=e[0],i>=n.length)return-1;for(t=(zn(i,n.length),n.charCodeAt(i));t>=48&&t<=57&&(r=r*10+(t-48),++i,!(i>=n.length));)t=(zn(i,n.length),n.charCodeAt(i));return i>e[0]?e[0]=i:r=-1,r}function eCe(n){var e,t,i,r,c;return r=u(n.a,17).a,c=u(n.b,17).a,t=r,i=c,e=y.Math.max(y.Math.abs(r),y.Math.abs(c)),r<=0&&r==c?(t=0,i=c-1):r==-e&&c!=e?(t=c,i=r,c>=0&&++t):(t=-c,i=r),new bi(Y(t),Y(i))}function tCe(n,e,t,i){var r,c,s,f,h,l;for(r=0;r=0&&l>=0&&h=n.i)throw M(new Ir(vK+e+Td+n.i));if(t>=n.i)throw M(new Ir(kK+t+Td+n.i));return i=n.g[t],e!=t&&(e>16),e=i>>16&16,t=16-e,n=n>>e,i=n-256,e=i>>16&8,t+=e,n<<=e,i=n-vw,e=i>>16&4,t+=e,n<<=e,i=n-wh,e=i>>16&2,t+=e,n<<=e,i=n>>14,e=i&~(i>>1),t+2-e)}function rCe(n){Lp();var e,t,i,r;for(mP=new Z,m_=new de,p_=new Z,e=(!n.a&&(n.a=new q(Qe,n,10,11)),n.a),VDe(e),r=new ne(e);r.e!=r.i.gc();)i=u(ce(r),27),qr(mP,i,0)==-1&&(t=new Z,nn(p_,t),ZBn(i,t));return p_}function cCe(n,e,t){var i,r,c,s;n.a=t.b.d,O(e,326)?(r=zg(u(e,74),!1,!1),c=Zk(r),i=new F9n(n),qi(c,i),dy(c,r),e.of((qe(),kb))!=null&&qi(u(e.of(kb),75),i)):(s=u(e,422),s.rh(s.nh()+n.a.a),s.sh(s.oh()+n.a.b))}function uCe(n,e){var t,i,r;for(r=new Z,i=ge(e.a,0);i.b!=i.d.c;)t=u(be(i),65),t.c.g==n.g&&x(v(t.b,(lc(),Sh)))!==x(v(t.c,Sh))&&!Ig(new Tn(null,new In(r,16)),new hkn(t))&&Bn(r.c,t);return Yt(r,new U3n),r}function Q_n(n,e,t){var i,r,c,s;return O(e,153)&&O(t,153)?(c=u(e,153),s=u(t,153),n.a[c.a][s.a]+n.a[s.a][c.a]):O(e,250)&&O(t,250)&&(i=u(e,250),r=u(t,250),i.a==r.a)?u(v(r.a,(qs(),k3)),17).a:0}function Y_n(n,e){var t,i,r,c,s,f,h,l;for(l=$(R(v(e,(cn(),J8)))),h=n[0].n.a+n[0].o.a+n[0].d.c+l,f=1;f=0?t:(f=X6(mi(new V(s.c+s.b/2,s.d+s.a/2),new V(c.c+c.b/2,c.d+c.a/2))),-(CUn(c,s)-1)*f)}function sCe(n,e,t){var i;qt(new Tn(null,(!t.a&&(t.a=new q(Mt,t,6,6)),new In(t.a,16))),new dMn(n,e)),qt(new Tn(null,(!t.n&&(t.n=new q(Ar,t,1,7)),new In(t.n,16))),new bMn(n,e)),i=u(z(t,(qe(),kb)),75),i&&BQ(i,n,e)}function H0(n,e,t){var i,r,c;if(c=Jg((Du(),zi),n.Dh(),e),c)return dr(),u(c,69).xk()||(c=$p(Lr(zi,c))),r=(i=n.Ih(c),u(i>=0?n.Lh(i,!0,!0):H0(n,c,!0),160)),u(r,220).Sl(e,t);throw M(new Gn(da+e.xe()+sK))}function xnn(n,e,t,i){var r,c,s,f,h;if(r=n.d[e],r){if(c=r.g,h=r.i,i!=null){for(f=0;f=t&&(i=e,l=(h.c+h.a)/2,s=l-t,h.c<=l-t&&(r=new KL(h.c,s),b0(n,i++,r)),f=l+t,f<=h.a&&(c=new KL(f,h.a),zb(i,n.c.length),b6(n.c,i,c)))}function eHn(n,e,t){var i,r,c,s,f,h;if(!e.dc()){for(r=new Ct,h=e.Kc();h.Ob();)for(f=u(h.Pb(),40),Xe(n.a,Y(f.g),Y(t)),s=(i=ge(new sl(f).a.d,0),new sg(i));Z9(s.a);)c=u(be(s.a),65).c,xt(r,c,r.c.b,r.c);eHn(n,r,t+1)}}function Fnn(n){var e;if(!n.c&&n.g==null)n.d=n.bj(n.f),ve(n,n.d),e=n.d;else{if(n.g==null)return!0;if(n.i==0)return!1;e=u(n.g[n.i-1],51)}return e==n.b&&null.Vm>=null.Um()?(CA(n),Fnn(n)):e.Ob()}function tHn(n){if(this.a=n,n.c.i.k==(Vn(),Zt))this.c=n.c,this.d=u(v(n.c.i,(W(),gc)),64);else if(n.d.i.k==Zt)this.c=n.d,this.d=u(v(n.d.i,(W(),gc)),64);else throw M(new Gn("Edge "+n+" is not an external edge."))}function iHn(n,e){var t,i,r;r=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,3,r,n.b)),e?e!=n&&(zc(n,e.zb),v$(n,e.d),t=(i=e.c,i??e.zb),y$(n,t==null||An(t,e.zb)?null:t)):(zc(n,null),v$(n,0),y$(n,null))}function rHn(n,e){var t;this.e=(m0(),Se(n),m0(),QY(n)),this.c=(Se(e),QY(e)),KX(this.e.Rd().dc()==this.c.Rd().dc()),this.d=vBn(this.e),this.b=vBn(this.c),t=Va(ki,[J,Fn],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=t,Fme(this)}function cHn(n){!XK&&(XK=uLe());var e=n.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(t){return h2e(t)});return'"'+e+'"'}function Bnn(n,e,t,i,r,c){var s,f,h,l,a;if(r!=0)for(x(n)===x(t)&&(n=n.slice(e,e+r),e=0),h=t,f=e,l=e+r;f=s)throw M(new Kb(e,s));return r=t[e],s==1?i=null:(i=K(jU,MK,424,s-1,0,1),Ic(t,0,i,0,e),c=s-e-1,c>0&&Ic(t,e+1,i,e,c)),gm(n,i),S_n(n,e,r),r}function oHn(n){var e,t;if(n.f){for(;n.n0?c=zp(t):c=Bk(zp(t))),ht(e,Mv,c)}function wCe(n,e){var t;e.Ug("Partition preprocessing",1),t=u(Wr(ut(rc(ut(new Tn(null,new In(n.a,16)),new zgn),new Xgn),new Vgn),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),qt(t.Oc(),new Wgn),e.Vg()}function gCe(n,e){var t,i,r,c,s;for(s=n.j,e.a!=e.b&&Yt(s,new Mpn),r=s.c.length/2|0,i=0;i0&&hy(n,t,e),c):i.a!=null?(hy(n,e,t),-1):r.a!=null?(hy(n,t,e),1):0}function mCe(n,e){var t,i,r,c,s;for(r=e.b.b,n.a=K(rs,kw,15,r,0,1),n.b=K(so,Xh,28,r,16,1),s=ge(e.b,0);s.b!=s.d.c;)c=u(be(s),40),n.a[c.g]=new Ct;for(i=ge(e.a,0);i.b!=i.d.c;)t=u(be(i),65),n.a[t.b.g].Fc(t),n.a[t.c.g].Fc(t)}function lHn(n,e){var t,i,r,c;n.Pj()?(t=n.Ej(),c=n.Qj(),++n.j,n.qj(t,n.Zi(t,e)),i=n.Ij(3,null,e,t,c),n.Mj()?(r=n.Nj(e,null),r?(r.nj(i),r.oj()):n.Jj(i)):n.Jj(i)):(eIn(n,e),n.Mj()&&(r=n.Nj(e,null),r&&r.oj()))}function Rnn(n,e,t){var i,r,c;n.Pj()?(c=n.Qj(),Nk(n,e,t),i=n.Ij(3,null,t,e,c),n.Mj()?(r=n.Nj(t,null),n.Tj()&&(r=n.Uj(t,r)),r?(r.nj(i),r.oj()):n.Jj(i)):n.Jj(i)):(Nk(n,e,t),n.Mj()&&(r=n.Nj(t,null),r&&r.oj()))}function jA(n,e){var t,i,r,c,s;for(s=ru(n.e.Dh(),e),r=new EE,t=u(n.g,124),c=n.i;--c>=0;)i=t[c],s.am(i.Lk())&&ve(r,i);!uzn(n,r)&&fo(n.e)&&t4(n,e.Jk()?X1(n,6,e,(Dn(),sr),null,-1,!1):X1(n,e.tk()?2:1,e,null,null,-1,!1))}function vCe(n,e){var t,i,r,c,s;return n.a==(jm(),R8)?!0:(c=e.a.c,t=e.a.c+e.a.b,!(e.j&&(i=e.A,s=i.c.c.a-i.o.a/2,r=c-(i.n.a+i.o.a),r>s)||e.q&&(i=e.C,s=i.c.c.a-i.o.a/2,r=i.n.a-t,r>s)))}function aHn(n){NN();var e,t,i,r,c,s,f;for(t=new Ql,r=new C(n.e.b);r.a1?n.e*=$(n.a):n.f/=$(n.a),_6e(n),X8e(n),UAe(n),U(n.b,(M5(),pP),n.g)}function gHn(n,e,t){var i,r,c,s,f,h;for(i=0,h=t,e||(i=t*(n.c.length-1),h*=-1),c=new C(n);c.a=0?n.Ah(null):n.Ph().Th(n,-1-e,null,null)),n.Bh(u(r,54),t),i&&i.oj(),n.vh()&&n.wh()&&t>-1&&it(n,new Ci(n,9,t,c,r)),r):c}function Hnn(n,e){var t,i,r,c,s;for(c=n.b.Ce(e),i=(t=n.a.get(c),t??K(ki,Fn,1,0,5,1)),s=0;s>5,r>=n.d)return n.e<0;if(t=n.a[r],e=1<<(e&31),n.e<0){if(i=Ixn(n),r>16)),15).dd(c),f0&&(!(hl(n.a.c)&&e.n.d)&&!(mg(n.a.c)&&e.n.b)&&(e.g.d+=y.Math.max(0,i/2-.5)),!(hl(n.a.c)&&e.n.a)&&!(mg(n.a.c)&&e.n.c)&&(e.g.a-=i-1))}function MHn(n){var e,t,i,r,c;if(r=new Z,c=kUn(n,r),e=u(v(n,(W(),Xu)),10),e)for(i=new C(e.j);i.a>e,c=n.m>>e|t<<22-e,r=n.l>>e|n.m<<22-e):e<44?(s=i?Il:0,c=t>>e-22,r=n.m>>e-22|t<<44-e):(s=i?Il:0,c=i?ro:0,r=t>>e-44),Yc(r&ro,c&ro,s&Il)}function bF(n){var e,t,i,r,c,s;for(this.c=new Z,this.d=n,i=St,r=St,e=li,t=li,s=ge(n,0);s.b!=s.d.c;)c=u(be(s),8),i=y.Math.min(i,c.a),r=y.Math.min(r,c.b),e=y.Math.max(e,c.a),t=y.Math.max(t,c.b);this.a=new Ho(i,r,e-i,t-r)}function AHn(n,e){var t,i,r,c,s,f;for(c=new C(n.b);c.a0&&O(e,44)&&(n.a._j(),l=u(e,44),h=l.ld(),c=h==null?0:mt(h),s=dV(n.a,c),t=n.a.d[s],t)){for(i=u(t.g,379),a=t.i,f=0;f=2)for(t=r.Kc(),e=R(t.Pb());t.Ob();)c=e,e=R(t.Pb()),i=y.Math.min(i,(Jn(e),e-(Jn(c),c)));return i}function _Ce(n,e){var t,i,r;for(r=new Z,i=ge(e.a,0);i.b!=i.d.c;)t=u(be(i),65),t.b.g==n.g&&!An(t.b.c,IS)&&x(v(t.b,(lc(),Sh)))!==x(v(t.c,Sh))&&!Ig(new Tn(null,new In(r,16)),new lkn(t))&&Bn(r.c,t);return Yt(r,new V3n),r}function HCe(n,e){var t,i,r;if(x(e)===x(Se(n)))return!0;if(!O(e,15)||(i=u(e,15),r=n.gc(),r!=i.gc()))return!1;if(O(i,59)){for(t=0;t0&&(r=t),s=new C(n.f.e);s.a0?(e-=1,t-=1):i>=0&&r<0?(e+=1,t+=1):i>0&&r>=0?(e-=1,t+=1):(e+=1,t-=1),new bi(Y(e),Y(t))}function tMe(n,e){return n.ce.c?1:n.be.b?1:n.a!=e.a?mt(n.a)-mt(e.a):n.d==(n5(),r9)&&e.d==i9?-1:n.d==i9&&e.d==r9?1:0}function NHn(n,e){var t,i,r,c,s;return c=e.a,c.c.i==e.b?s=c.d:s=c.c,c.c.i==e.b?i=c.c:i=c.d,r=C8e(n.a,s,i),r>0&&r0):r<0&&-r0):!1}function iMe(n,e,t,i){var r,c,s,f,h,l,a,d;for(r=(e-n.d)/n.c.c.length,c=0,n.a+=t,n.d=e,d=new C(n.c);d.a>24;return s}function cMe(n){if(n.ze()){var e=n.c;e.Ae()?n.o="["+e.n:e.ze()?n.o="["+e.xe():n.o="[L"+e.xe()+";",n.b=e.we()+"[]",n.k=e.ye()+"[]";return}var t=n.j,i=n.d;i=i.split("/"),n.o=mx(".",[t,mx("$",i)]),n.b=mx(".",[t,mx(".",i)]),n.k=i[i.length-1]}function uMe(n,e){var t,i,r,c,s;for(s=null,c=new C(n.e.a);c.a=0;e-=2)for(t=0;t<=e;t+=2)(n.b[t]>n.b[t+2]||n.b[t]===n.b[t+2]&&n.b[t+1]>n.b[t+3])&&(i=n.b[t+2],n.b[t+2]=n.b[t],n.b[t]=i,i=n.b[t+3],n.b[t+3]=n.b[t+1],n.b[t+1]=i);n.c=!0}}function fMe(n,e){var t,i,r,c,s,f,h,l,a;for(l=-1,a=0,s=n,f=0,h=s.length;f0&&++a;++l}return a}function _s(n){var e,t;return t=new mo(za(n.Rm)),t.a+="@",Be(t,(e=mt(n)>>>0,e.toString(16))),n.Vh()?(t.a+=" (eProxyURI: ",Dc(t,n._h()),n.Kh()&&(t.a+=" eClass: ",Dc(t,n.Kh())),t.a+=")"):n.Kh()&&(t.a+=" (eClass: ",Dc(t,n.Kh()),t.a+=")"),t.a}function B5(n){var e,t,i,r;if(n.e)throw M(new Or((ll(u_),FB+u_.k+BB)));for(n.d==(ci(),Wf)&&UA(n,Br),t=new C(n.a.a);t.a>24}return t}function aMe(n,e,t){var i,r,c;if(r=u(Cr(n.i,e),314),!r)if(r=new k$n(n.d,e,t),Pp(n.i,e,r),tZ(e))g1e(n.a,e.c,e.b,r);else switch(c=Wje(e),i=u(Cr(n.p,c),252),c.g){case 1:case 3:r.j=!0,mD(i,e.b,r);break;case 4:case 2:r.k=!0,mD(i,e.c,r)}return r}function dMe(n,e){var t,i,r,c,s,f,h,l,a;for(h=Dh(n.c-n.b&n.a.length-1),l=null,a=null,c=new W6(n);c.a!=c.b;)r=u(xT(c),10),t=(f=u(v(r,(W(),kf)),12),f?f.i:null),i=(s=u(v(r,js),12),s?s.i:null),(l!=t||a!=i)&&(pHn(h,e),l=t,a=i),Bn(h.c,r);pHn(h,e)}function bMe(n,e,t,i){var r,c,s,f,h,l;if(f=new EE,h=ru(n.e.Dh(),e),r=u(n.g,124),dr(),u(e,69).xk())for(s=0;s=0)return r;for(c=1,f=new C(e.j);f.a=0)return r;for(c=1,f=new C(e.j);f.a0&&e.Ne((Ln(r-1,n.c.length),u(n.c[r-1],10)),c)>0;)Go(n,r,(Ln(r-1,n.c.length),u(n.c[r-1],10))),--r;Ln(r,n.c.length),n.c[r]=c}t.a=new de,t.b=new de}function wMe(n,e,t){var i,r,c,s,f,h,l,a;for(a=(i=u(e.e&&e.e(),9),new _o(i,u($s(i,i.length),9),0)),h=ww(t,"[\\[\\]\\s,]+"),c=h,s=0,f=c.length;s=0?(e||(e=new r6,i>0&&Er(e,(Fi(0,i,n.length),n.substr(0,i)))),e.a+="\\",T4(e,t&ui)):e&&T4(e,t&ui);return e?e.a:n}function pMe(n){var e,t,i;for(t=new C(n.a.a.b);t.a0&&(!(hl(n.a.c)&&e.n.d)&&!(mg(n.a.c)&&e.n.b)&&(e.g.d-=y.Math.max(0,i/2-.5)),!(hl(n.a.c)&&e.n.a)&&!(mg(n.a.c)&&e.n.c)&&(e.g.a+=y.Math.max(0,i-1)))}function qHn(n,e,t){var i,r;if((n.c-n.b&n.a.length-1)==2)e==(tn(),Xn)||e==Zn?(sT(u(a5(n),15),(To(),nl)),sT(u(a5(n),15),Ta)):(sT(u(a5(n),15),(To(),Ta)),sT(u(a5(n),15),nl));else for(r=new W6(n);r.a!=r.b;)i=u(xT(r),15),sT(i,t)}function mMe(n,e){var t,i,r,c,s,f,h;for(r=y4(new xG(n)),f=new xi(r,r.c.length),c=y4(new xG(e)),h=new xi(c,c.c.length),s=null;f.b>0&&h.b>0&&(t=(oe(f.b>0),u(f.a.Xb(f.c=--f.b),27)),i=(oe(h.b>0),u(h.a.Xb(h.c=--h.b),27)),t==i);)s=t;return s}function UHn(n,e,t){var i,r,c,s;GOn(n,e)>GOn(n,t)?(i=uc(t,(tn(),Zn)),n.d=i.dc()?0:zL(u(i.Xb(0),12)),s=uc(e,Wn),n.b=s.dc()?0:zL(u(s.Xb(0),12))):(r=uc(t,(tn(),Wn)),n.d=r.dc()?0:zL(u(r.Xb(0),12)),c=uc(e,Zn),n.b=c.dc()?0:zL(u(c.Xb(0),12)))}function GHn(n,e){var t,i,r,c;for(t=n.o.a,c=u(u(ot(n.r,e),21),87).Kc();c.Ob();)r=u(c.Pb(),117),r.e.a=t*$(R(r.b.of(bP))),r.e.b=(i=r.b,i.pf((qe(),oo))?i.ag()==(tn(),Xn)?-i.Mf().b-$(R(i.of(oo))):$(R(i.of(oo))):i.ag()==(tn(),Xn)?-i.Mf().b:0)}function vMe(n,e){var t,i,r,c;for(e.Ug("Self-Loop pre-processing",1),i=new C(n.a);i.an.c));s++)r.a>=n.s&&(c<0&&(c=s),f=s);return h=(n.s+n.c)/2,c>=0&&(i=oSe(n,e,c,f),h=cle((Ln(i,e.c.length),u(e.c[i],339))),aCe(e,i,t)),h}function Me(n,e,t){var i,r,c,s,f,h,l;for(s=(c=new tG,c),IQ(s,(Jn(e),e)),l=(!s.b&&(s.b=new lo((On(),ar),pc,s)),s.b),h=1;h0&&iOe(this,r)}function Znn(n,e,t,i,r,c){var s,f,h;if(!r[e.a]){for(r[e.a]=!0,s=i,!s&&(s=new zM),nn(s.e,e),h=c[e.a].Kc();h.Ob();)f=u(h.Pb(),290),!(f.d==t||f.c==t)&&(f.c!=e&&Znn(n,f.c,e,s,r,c),f.d!=e&&Znn(n,f.d,e,s,r,c),nn(s.c,f),hi(s.d,f.b));return s}return null}function jMe(n){var e,t,i,r,c,s,f;for(e=0,r=new C(n.e);r.a=2}function EMe(n,e,t,i,r){var c,s,f,h,l,a;for(c=n.c.d.j,s=u(Zo(t,0),8),a=1;a1||(e=yt(Js,S(T(yr,1),G,95,0,[xl,Qs])),jk(LM(e,n))>1)||(i=yt(Zs,S(T(yr,1),G,95,0,[el,Cs])),jk(LM(i,n))>1))}function nen(n,e,t){var i,r,c;for(c=new C(n.t);c.a0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&xe(e,i.b));for(r=new C(n.i);r.a0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&xe(t,i.a))}function CA(n){var e,t,i,r,c;if(n.g==null&&(n.d=n.bj(n.f),ve(n,n.d),n.c))return c=n.f,c;if(e=u(n.g[n.i-1],51),r=e.Pb(),n.e=e,t=n.bj(r),t.Ob())n.d=t,ve(n,t);else for(n.d=null;!e.Ob()&&($t(n.g,--n.i,null),n.i!=0);)i=u(n.g[n.i-1],51),e=i;return r}function MMe(n,e){var t,i,r,c,s,f;if(i=e,r=i.Lk(),Sl(n.e,r)){if(r.Si()&&_M(n,r,i.md()))return!1}else for(f=ru(n.e.Dh(),r),t=u(n.g,124),c=0;c1||t>1)return 2;return e+t==1?2:0}function to(n,e){var t,i,r,c,s,f;return c=n.a*LB+n.b*1502,f=n.b*LB+11,t=y.Math.floor(f*Iy),c+=t,f-=t*Ctn,c%=Ctn,n.a=c,n.b=f,e<=24?y.Math.floor(n.a*Lun[e]):(r=n.a*(1<=2147483648&&(i-=4294967296),i)}function JHn(n,e,t){var i,r,c,s,f,h,l;for(c=new Z,l=new Ct,s=new Ct,XPe(n,l,s,e),MOe(n,l,s,e,t),h=new C(n);h.ai.b.g&&Bn(c.c,i);return c}function OMe(n,e,t){var i,r,c,s,f,h;for(f=n.c,s=(t.q?t.q:(Dn(),Dn(),Wh)).vc().Kc();s.Ob();)c=u(s.Pb(),44),i=!s4(ut(new Tn(null,new In(f,16)),new Z3(new uMn(e,c)))).Bd((Xa(),v3)),i&&(h=c.md(),O(h,4)&&(r=cZ(h),r!=null&&(h=r)),e.qf(u(c.ld(),149),h))}function DMe(n,e,t){var i,r;if(U7(n.b),ff(n.b,(Fk(),XI),(f6(),Hj)),ff(n.b,VI,e.g),ff(n.b,WI,e.a),n.a=gy(n.b,e),t.Ug("Compaction by shrinking a tree",n.a.c.length),e.i.c.length>1)for(r=new C(n.a);r.a=0?n.Lh(i,!0,!0):H0(n,c,!0),160)),u(r,220).Xl(e,t)}else throw M(new Gn(da+e.xe()+p8))}function MA(n,e){var t,i,r,c,s;if(e){for(c=O(n.Cb,90)||O(n.Cb,102),s=!c&&O(n.Cb,331),i=new ne((!e.a&&(e.a=new R6(e,jr,e)),e.a));i.e!=i.i.gc();)if(t=u(ce(i),89),r=BA(t),c?O(r,90):s?O(r,156):r)return r;return c?(On(),Ps):(On(),Yf)}else return null}function LMe(n,e){var t,i,r,c;for(e.Ug("Resize child graph to fit parent.",1),i=new C(n.b);i.a=2*e&&nn(t,new KL(s[i-1]+e,s[i]-e));return t}function xMe(n,e,t){var i,r,c,s,f,h,l,a;if(t)for(c=t.a.length,i=new Ja(c),f=(i.b-i.a)*i.c<0?(K1(),$a):new q1(i);f.Ob();)s=u(f.Pb(),17),r=L4(t,s.a),r&&(h=a3e(n,(l=(B1(),a=new ez,a),e&&ien(l,e),l),r),X4(h,bl(r,Eh)),gA(r,h),Ann(r,h),_$(n,r,h))}function TA(n){var e,t,i,r,c,s;if(!n.j){if(s=new Cvn,e=x9,c=e.a.zc(n,e),c==null){for(i=new ne(Hr(n));i.e!=i.i.gc();)t=u(ce(i),29),r=TA(t),Bt(s,r),ve(s,t);e.a.Bc(n)!=null}ew(s),n.j=new gg((u(L(_((G1(),Hn).o),11),19),s.i),s.g),Zu(n).b&=-33}return n.j}function FMe(n){var e,t,i,r;if(n==null)return null;if(i=Fc(n,!0),r=nj.length,An(i.substr(i.length-r,r),nj)){if(t=i.length,t==4){if(e=(zn(0,i.length),i.charCodeAt(0)),e==43)return f0n;if(e==45)return vse}else if(t==3)return f0n}return new UG(i)}function BMe(n){var e,t,i;return t=n.l,t&t-1||(i=n.m,i&i-1)||(e=n.h,e&e-1)||e==0&&i==0&&t==0?-1:e==0&&i==0&&t!=0?kQ(t):e==0&&i!=0&&t==0?kQ(i)+22:e!=0&&i==0&&t==0?kQ(e)+44:-1}function Gg(n,e){var t,i,r,c,s;for(r=e.a&n.f,c=null,i=n.b[r];;i=i.b){if(i==e){c?c.b=e.b:n.b[r]=e.b;break}c=i}for(s=e.f&n.f,c=null,t=n.c[s];;t=t.d){if(t==e){c?c.d=e.d:n.c[s]=e.d;break}c=t}e.e?e.e.c=e.c:n.a=e.c,e.c?e.c.e=e.e:n.e=e.e,--n.i,++n.g}function RMe(n,e){var t;e.d?e.d.b=e.b:n.a=e.b,e.b?e.b.d=e.d:n.e=e.d,!e.e&&!e.c?(t=u(as(u(Bp(n.b,e.a),260)),260),t.a=0,++n.c):(t=u(as(u(ee(n.b,e.a),260)),260),--t.a,e.e?e.e.c=e.c:t.b=u(as(e.c),511),e.c?e.c.e=e.e:t.c=u(as(e.e),511)),--n.d}function KMe(n){var e,t,i,r,c,s,f,h,l,a;for(t=n.o,e=n.p,s=et,r=Wi,f=et,c=Wi,l=0;l0),c.a.Xb(c.c=--c.b),Rb(c,r),oe(c.b3&&Bh(n,0,e-3))}function HMe(n){var e,t,i,r;return x(v(n,(cn(),Bw)))===x((jl(),M1))?!n.e&&x(v(n,Cj))!==x((Z4(),mj)):(i=u(v(n,yH),299),r=on(un(v(n,jH)))||x(v(n,X8))===x((u5(),pj)),e=u(v(n,Hfn),17).a,t=n.a.c.length,!r&&i!=(Z4(),mj)&&(e==0||e>t))}function qMe(n){var e,t;for(t=0;t0);t++);if(t>0&&t0);e++);return e>0&&t>16!=6&&e){if(mm(n,e))throw M(new Gn(m8+dHn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?TZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=Wp(e,n,6,i)),i=hV(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,6,e,e))}function AA(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=3&&e){if(mm(n,e))throw M(new Gn(m8+nGn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?IZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=Wp(e,n,12,i)),i=lV(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,3,e,e))}function ien(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=9&&e){if(mm(n,e))throw M(new Gn(m8+Yqn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?SZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=Wp(e,n,9,i)),i=aV(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,9,e,e))}function Tm(n){var e,t,i,r,c;if(i=ws(n),c=n.j,c==null&&i)return n.Jk()?null:i.ik();if(O(i,156)){if(t=i.jk(),t&&(r=t.wi(),r!=n.i)){if(e=u(i,156),e.nk())try{n.g=r.ti(e,c)}catch(s){if(s=It(s),O(s,82))n.g=null;else throw M(s)}n.i=r}return n.g}return null}function nqn(n){var e;return e=new Z,nn(e,new bp(new V(n.c,n.d),new V(n.c+n.b,n.d))),nn(e,new bp(new V(n.c,n.d),new V(n.c,n.d+n.a))),nn(e,new bp(new V(n.c+n.b,n.d+n.a),new V(n.c+n.b,n.d))),nn(e,new bp(new V(n.c+n.b,n.d+n.a),new V(n.c,n.d+n.a))),e}function UMe(n){var e,t,i;if(n==null)return gu;try{return Jr(n)}catch(r){if(r=It(r),O(r,103))return e=r,i=za(wo(n))+"@"+(t=(fl(),rZ(n)>>>0),t.toString(16)),r9e(qve(),(a4(),"Exception during lenientFormat for "+i),e),"<"+i+" threw "+za(e.Rm)+">";throw M(r)}}function GMe(n,e,t){var i,r,c;for(c=e.a.ec().Kc();c.Ob();)r=u(c.Pb(),74),i=u(ee(n.b,r),272),!i&&(At(Kh(r))==At(ia(r))?DTe(n,r,t):Kh(r)==At(ia(r))?ee(n.c,r)==null&&ee(n.b,ia(r))!=null&&DGn(n,r,t,!1):ee(n.d,r)==null&&ee(n.b,Kh(r))!=null&&DGn(n,r,t,!0))}function zMe(n,e){var t,i,r,c,s,f,h;for(r=n.Kc();r.Ob();)for(i=u(r.Pb(),10),f=new Pc,ic(f,i),gi(f,(tn(),Zn)),U(f,(W(),uI),(_n(),!0)),s=e.Kc();s.Ob();)c=u(s.Pb(),10),h=new Pc,ic(h,c),gi(h,Wn),U(h,uI,!0),t=new E0,U(t,uI,!0),Zi(t,f),Ii(t,h)}function XMe(n,e,t,i){var r,c,s,f;r=BBn(n,e,t),c=BBn(n,t,e),s=u(ee(n.c,e),118),f=u(ee(n.c,t),118),r1)for(e=h0((t=new Ga,++n.b,t),n.d),f=ge(c,0);f.b!=f.d.c;)s=u(be(f),125),Hs(Ds(Os(Ls(Is(new hs,1),0),e),s))}function JMe(n,e,t){var i,r,c,s,f;for(t.Ug("Breaking Point Removing",1),n.a=u(v(e,(cn(),$l)),223),c=new C(e.b);c.a>16!=11&&e){if(mm(n,e))throw M(new Gn(m8+Een(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?OZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=Wp(e,n,10,i)),i=yV(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,11,e,e))}function QMe(n){var e,t,i,r;for(i=new sd(new qa(n.b).a);i.b;)t=L0(i),r=u(t.ld(),12),e=u(t.md(),10),U(e,(W(),st),r),U(r,Xu,e),U(r,yj,(_n(),!0)),gi(r,u(v(e,gc),64)),v(e,gc),U(r.i,(cn(),Kt),(Oi(),_v)),u(v(Hi(r.i),Hc),21).Fc((pr(),yv))}function YMe(n,e,t){var i,r,c,s,f,h;if(c=0,s=0,n.c)for(h=new C(n.d.i.j);h.ac.a?-1:r.ah){for(a=n.d,n.d=K(Ndn,qcn,66,2*h+4,0,1),c=0;c=9223372036854776e3?(R4(),hun):(r=!1,n<0&&(r=!0,n=-n),i=0,n>=vd&&(i=wi(n/vd),n-=i*vd),t=0,n>=o3&&(t=wi(n/o3),n-=t*o3),e=wi(n),c=Yc(e,t,i),r&&H$(c),c)}function fTe(n){var e,t,i,r,c;if(c=new Z,nu(n.b,new S9n(c)),n.b.c.length=0,c.c.length!=0){for(e=(Ln(0,c.c.length),u(c.c[0],82)),t=1,i=c.c.length;t=-e&&i==e?new bi(Y(t-1),Y(i)):new bi(Y(t),Y(i-1))}function iqn(){return tr(),S(T(yNe,1),G,81,0,[Qon,Von,d2,N_,gsn,IP,KP,Lw,bsn,csn,asn,Dw,wsn,tsn,psn,Hon,NP,$_,SP,FP,vsn,xP,qon,dsn,ksn,BP,msn,PP,Zon,hsn,fsn,_P,zon,AP,DP,Gon,hv,osn,isn,lsn,x8,Won,Xon,ssn,rsn,LP,RP,Uon,$P,usn,OP,nsn,Yon,bj,TP,esn,Jon])}function aTe(n,e,t){n.d=0,n.b=0,e.k==(Vn(),_c)&&t.k==_c&&u(v(e,(W(),st)),10)==u(v(t,st),10)&&(s$(e).j==(tn(),Xn)?UHn(n,e,t):UHn(n,t,e)),e.k==_c&&t.k==Mi?s$(e).j==(tn(),Xn)?n.d=1:n.b=1:t.k==_c&&e.k==Mi&&(s$(t).j==(tn(),Xn)?n.b=1:n.d=1),J9e(n,e,t)}function dTe(n){var e,t,i,r,c,s,f,h,l,a,d;return d=enn(n),e=n.a,h=e!=null,h&&j4(d,"category",n.a),r=e7(new Ha(n.d)),s=!r,s&&(l=new Ka,df(d,"knownOptions",l),t=new fyn(l),qi(new Ha(n.d),t)),c=e7(n.g),f=!c,f&&(a=new Ka,df(d,"supportedFeatures",a),i=new hyn(a),qi(n.g,i)),d}function bTe(n){var e,t,i,r,c,s,f,h,l;for(i=!1,e=336,t=0,c=new zAn(n.length),f=n,h=0,l=f.length;h>16!=7&&e){if(mm(n,e))throw M(new Gn(m8+h_n(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?AZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=u(e,54).Rh(n,1,oE,i)),i=bW(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,7,e,e))}function rqn(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=3&&e){if(mm(n,e))throw M(new Gn(m8+sBn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?PZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=u(e,54).Rh(n,0,fE,i)),i=wW(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,3,e,e))}function vF(n,e){Am();var t,i,r,c,s,f,h,l,a;return e.d>n.d&&(f=n,n=e,e=f),e.d<63?tAe(n,e):(s=(n.d&-2)<<4,l=NJ(n,s),a=NJ(e,s),i=RF(n,Fp(l,s)),r=RF(e,Fp(a,s)),h=vF(l,a),t=vF(i,r),c=vF(RF(l,i),RF(r,a)),c=zF(zF(c,h),t),c=Fp(c,s),h=Fp(h,s<<1),zF(zF(h,c),t))}function a1(){a1=F,xH=new ag(sVn,0),Shn=new ag("LONGEST_PATH",1),Phn=new ag("LONGEST_PATH_SOURCE",2),$H=new ag("COFFMAN_GRAHAM",3),Ahn=new ag(sR,4),Ihn=new ag("STRETCH_WIDTH",5),CI=new ag("MIN_WIDTH",6),Pv=new ag("BF_MODEL_ORDER",7),Iv=new ag("DF_MODEL_ORDER",8)}function gTe(n,e,t){var i,r,c,s,f;for(s=p5(n,t),f=K(Qh,b1,10,e.length,0,1),i=0,c=s.Kc();c.Ob();)r=u(c.Pb(),12),on(un(v(r,(W(),yj))))&&(f[i++]=u(v(r,Xu),10));if(i=0;c+=t?1:-1)s=s|e.c.lg(h,c,t,i&&!on(un(v(e.j,(W(),va))))&&!on(un(v(e.j,(W(),y2))))),s=s|e.q.ug(h,c,t),s=s|Gqn(n,h[c],t,i);return fi(n.c,e),s}function IA(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(a=CDn(n.j),d=0,g=a.length;d1&&(n.a=!0),Wbe(u(t.b,68),tt(Ki(u(e.b,68).c),rh(mi(Ki(u(t.b,68).a),u(e.b,68).a),r))),OOn(n,e),cqn(n,t)}function uqn(n){var e,t,i,r,c,s,f;for(c=new C(n.a.a);c.a0&&c>0?s.p=e++:i>0?s.p=t++:c>0?s.p=r++:s.p=t++}Dn(),Yt(n.j,new _gn)}function yTe(n){var e,t;t=null,e=u(sn(n.g,0),18);do{if(t=e.d.i,kt(t,(W(),js)))return u(v(t,js),12).i;if(t.k!=(Vn(),zt)&&pe(new te(re(Qt(t).a.Kc(),new En))))e=u(fe(new te(re(Qt(t).a.Kc(),new En))),18);else if(t.k!=zt)return null}while(t&&t.k!=(Vn(),zt));return t}function jTe(n,e){var t,i,r,c,s,f,h,l,a;for(f=e.j,s=e.g,h=u(sn(f,f.c.length-1),113),a=(Ln(0,f.c.length),u(f.c[0],113)),l=Kx(n,s,h,a),c=1;cl&&(h=t,a=r,l=i);e.a=a,e.c=h}function ETe(n,e,t){var i,r,c,s,f,h,l;for(l=new Ul(new X7n(n)),s=S(T(FZn,1),DXn,12,0,[e,t]),f=0,h=s.length;fh-n.b&&fh-n.a&&f0?c.a?(f=c.b.Mf().a,t>f&&(r=(t-f)/2,c.d.b=r,c.d.c=r)):c.d.c=n.s+t:_6(n.u)&&(i=tnn(c.b),i.c<0&&(c.d.b=-i.c),i.c+i.b>c.b.Mf().a&&(c.d.c=i.c+i.b-c.b.Mf().a))}function KTe(n,e){var t,i,r,c,s;s=new Z,t=e;do c=u(ee(n.b,t),131),c.B=t.c,c.D=t.d,Bn(s.c,c),t=u(ee(n.k,t),18);while(t);return i=(Ln(0,s.c.length),u(s.c[0],131)),i.j=!0,i.A=u(i.d.a.ec().Kc().Pb(),18).c.i,r=u(sn(s,s.c.length-1),131),r.q=!0,r.C=u(r.d.a.ec().Kc().Pb(),18).d.i,s}function _Te(n){var e,t;if(e=u(n.a,17).a,t=u(n.b,17).a,e>=0){if(e==t)return new bi(Y(-e-1),Y(-e-1));if(e==-t)return new bi(Y(-e),Y(t+1))}return y.Math.abs(e)>y.Math.abs(t)?e<0?new bi(Y(-e),Y(t)):new bi(Y(-e),Y(t+1)):new bi(Y(e+1),Y(t))}function HTe(n){var e,t;t=u(v(n,(cn(),ou)),171),e=u(v(n,(W(),Od)),311),t==(Yo(),ka)?(U(n,ou,Ej),U(n,Od,(vl(),v2))):t==xw?(U(n,ou,Ej),U(n,Od,(vl(),E3))):e==(vl(),v2)?(U(n,ou,ka),U(n,Od,vj)):e==E3&&(U(n,ou,xw),U(n,Od,vj))}function OA(){OA=F,Dj=new A3n,Jie=Re(new ii,(Vi(),Oc),(tr(),SP)),Zie=Pu(Re(new ii,Oc,xP),zr,$P),nre=ah(ah(l6(Pu(Re(new ii,Xs,KP),zr,RP),Kc),BP),_P),Qie=Pu(Re(Re(Re(new ii,Jh,IP),Kc,DP),Kc,hv),zr,OP),Yie=Pu(Re(Re(new ii,Kc,hv),Kc,AP),zr,TP)}function _5(){_5=F,ire=Re(Pu(new ii,(Vi(),zr),(tr(),nsn)),Oc,SP),ore=ah(ah(l6(Pu(Re(new ii,Xs,KP),zr,RP),Kc),BP),_P),rre=Pu(Re(Re(Re(new ii,Jh,IP),Kc,DP),Kc,hv),zr,OP),ure=Re(Re(new ii,Oc,xP),zr,$P),cre=Pu(Re(Re(new ii,Kc,hv),Kc,AP),zr,TP)}function qTe(n,e,t,i,r){var c,s;(!fr(e)&&e.c.i.c==e.d.i.c||!fxn(cc(S(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])),t))&&!fr(e)&&(e.c==r?g4(e.a,0,new rr(t)):xe(e.a,new rr(t)),i&&!of(n.a,t)&&(s=u(v(e,(cn(),Fr)),75),s||(s=new Mu,U(e,Fr,s)),c=new rr(t),xt(s,c,s.c.b,s.c),fi(n.a,c)))}function fqn(n,e){var t,i,r,c;for(c=Ae(er(Uh,xh(Ae(er(e==null?0:mt(e),Gh)),15))),t=c&n.b.length-1,r=null,i=n.b[t];i;r=i,i=i.a)if(i.d==c&&oh(i.i,e))return r?r.a=i.a:n.b[t]=i.a,Kjn(u(as(i.c),604),u(as(i.f),604)),J9(u(as(i.b),227),u(as(i.e),227)),--n.f,++n.e,!0;return!1}function UTe(n){var e,t;for(t=new te(re(ji(n).a.Kc(),new En));pe(t);)if(e=u(fe(t),18),e.c.i.k!=(Vn(),Ac))throw M(new _l(oR+Gk(n)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function GTe(n,e,t){var i,r,c,s,f,h,l;if(r=dBn(n.Db&254),r==0)n.Eb=t;else{if(r==1)f=K(ki,Fn,1,2,5,1),c=Rx(n,e),c==0?(f[0]=t,f[1]=n.Eb):(f[0]=n.Eb,f[1]=t);else for(f=K(ki,Fn,1,r+1,5,1),s=cd(n.Eb),i=2,h=0,l=0;i<=128;i<<=1)i==e?f[l++]=t:n.Db&i&&(f[l++]=s[h++]);n.Eb=f}n.Db|=e}function hqn(n,e,t){var i,r,c,s;for(this.b=new Z,r=0,i=0,s=new C(n);s.a0&&(c=u(sn(this.b,0),176),r+=c.o,i+=c.p),r*=2,i*=2,e>1?r=wi(y.Math.ceil(r*e)):i=wi(y.Math.ceil(i/e)),this.a=new VY(r,i)}function lqn(n,e,t,i,r,c){var s,f,h,l,a,d,g,p,m,k,j,A;for(a=i,e.j&&e.o?(p=u(ee(n.f,e.A),60),k=p.d.c+p.d.b,--a):k=e.a.c+e.a.b,d=r,t.q&&t.o?(p=u(ee(n.f,t.C),60),l=p.d.c,++d):l=t.a.c,j=l-k,h=y.Math.max(2,d-a),f=j/h,m=k+f,g=a;g=0;s+=r?1:-1){for(f=e[s],h=i==(tn(),Zn)?r?uc(f,i):Qo(uc(f,i)):r?Qo(uc(f,i)):uc(f,i),c&&(n.c[f.p]=h.gc()),d=h.Kc();d.Ob();)a=u(d.Pb(),12),n.d[a.p]=l++;hi(t,h)}}function dqn(n,e,t){var i,r,c,s,f,h,l,a;for(c=$(R(n.b.Kc().Pb())),l=$(R(Hve(e.b))),i=rh(Ki(n.a),l-t),r=rh(Ki(e.a),t-c),a=tt(i,r),rh(a,1/(l-c)),this.a=a,this.b=new Z,f=!0,s=n.b.Kc(),s.Pb();s.Ob();)h=$(R(s.Pb())),f&&h-t>_R&&(this.b.Fc(t),f=!1),this.b.Fc(h);f&&this.b.Fc(t)}function zTe(n){var e,t,i,r;if(hSe(n,n.n),n.d.c.length>0){for(t6(n.c);Gnn(n,u(E(new C(n.e.a)),125))>5,e&=31,i>=n.d)return n.e<0?(dh(),vQn):(dh(),O8);if(c=n.d-i,r=K(ye,Ke,28,c+1,15,1),Fje(r,c,n.a,i,e),n.e<0){for(t=0;t0&&n.a[t]<<32-e){for(t=0;t=0?!1:(t=Jg((Du(),zi),r,e),t?(i=t.Ik(),(i>1||i==-1)&&y0(Lr(zi,t))!=3):!0)):!1}function JTe(n,e,t,i){var r,c,s,f,h;return f=Gr(u(L((!e.b&&(e.b=new Nn(he,e,4,7)),e.b),0),84)),h=Gr(u(L((!e.c&&(e.c=new Nn(he,e,5,8)),e.c),0),84)),At(f)==At(h)||Yb(h,f)?null:(s=J7(e),s==t?i:(c=u(ee(n.a,s),10),c&&(r=c.e,r)?r:null))}function QTe(n,e,t){var i,r,c,s,f;for(t.Ug("Longest path to source layering",1),n.a=e,f=n.a.a,n.b=K(ye,Ke,28,f.c.length,15,1),i=0,s=new C(f);s.a0&&(t[0]+=n.d,s-=t[0]),t[2]>0&&(t[2]+=n.d,s-=t[2]),c=y.Math.max(0,s),t[1]=y.Math.max(t[1],s),xJ(n,Wc,r.c+i.b+t[0]-(t[1]-s)/2,t),e==Wc&&(n.c.b=c,n.c.c=r.c+i.b+(c-s)/2)}function Eqn(){this.c=K(Pi,Tr,28,(tn(),S(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])).length,15,1),this.b=K(Pi,Tr,28,S(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn]).length,15,1),this.a=K(Pi,Tr,28,S(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn]).length,15,1),Rz(this.c,St),Rz(this.b,li),Rz(this.a,li)}function xc(n,e,t){var i,r,c,s;if(e<=t?(r=e,c=t):(r=t,c=e),i=0,n.b==null)n.b=K(ye,Ke,28,2,15,1),n.b[0]=r,n.b[1]=c,n.c=!0;else{if(i=n.b.length,n.b[i-1]+1==r){n.b[i-1]=c;return}s=K(ye,Ke,28,i+2,15,1),Ic(n.b,0,s,0,i),n.b=s,n.b[i-1]>=r&&(n.c=!1,n.a=!1),n.b[i++]=r,n.b[i]=c,n.c||Ug(n)}}function iAe(n,e,t){var i,r,c,s,f,h,l;for(l=e.d,n.a=new Gc(l.c.length),n.c=new de,f=new C(l);f.a=0?n.Lh(l,!1,!0):H0(n,t,!1),61));n:for(c=d.Kc();c.Ob();){for(r=u(c.Pb(),58),a=0;a1;)dw(r,r.i-1);return i}function Mqn(n,e){var t,i,r,c,s,f,h;for(t=new Eg,c=new C(n.b);c.an.d[s.p]&&(t+=SJ(n.b,c),V1(n.a,Y(c)));for(;!i6(n.a);)oQ(n.b,u(Sp(n.a),17).a)}return t}function fAe(n){var e,t,i,r,c,s,f,h,l;for(n.a=new kV,l=0,r=0,i=new C(n.i.b);i.af.d&&(a=f.d+f.a+l));t.c.d=a,e.a.zc(t,e),h=y.Math.max(h,t.c.d+t.c.a)}return h}function pr(){pr=F,ZP=new Db("COMMENTS",0),cs=new Db("EXTERNAL_PORTS",1),K8=new Db("HYPEREDGES",2),nI=new Db("HYPERNODES",3),yv=new Db("NON_FREE_PORTS",4),m2=new Db("NORTH_SOUTH_PORTS",5),_8=new Db(JXn,6),vv=new Db("CENTER_LABELS",7),kv=new Db("END_LABELS",8),eI=new Db("PARTITIONS",9)}function lAe(n,e,t,i,r){return i<0?(i=qg(n,r,S(T(fn,1),J,2,6,[sB,fB,hB,lB,c3,aB,dB,bB,wB,gB,pB,mB]),e),i<0&&(i=qg(n,r,S(T(fn,1),J,2,6,["Jan","Feb","Mar","Apr",c3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),i<0?!1:(t.k=i,!0)):i>0?(t.k=i-1,!0):!1}function aAe(n,e,t,i,r){return i<0?(i=qg(n,r,S(T(fn,1),J,2,6,[sB,fB,hB,lB,c3,aB,dB,bB,wB,gB,pB,mB]),e),i<0&&(i=qg(n,r,S(T(fn,1),J,2,6,["Jan","Feb","Mar","Apr",c3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),i<0?!1:(t.k=i,!0)):i>0?(t.k=i-1,!0):!1}function dAe(n,e,t,i,r,c){var s,f,h,l;if(f=32,i<0){if(e[0]>=n.length||(f=Xi(n,e[0]),f!=43&&f!=45)||(++e[0],i=yA(n,e),i<0))return!1;f==45&&(i=-i)}return f==32&&e[0]-t==2&&r.b==2&&(h=new JE,l=h.q.getFullYear()-fa+fa-80,s=l%100,c.a=i==s,i+=(l/100|0)*100+(i=0?ta(n):G6(ta(n1(n)))),D8[e]=AC(Fs(n,e),0)?ta(Fs(n,e)):G6(ta(n1(Fs(n,e)))),n=er(n,5);for(;e=l&&(h=i);h&&(a=y.Math.max(a,h.a.o.a)),a>g&&(d=l,g=a)}return d}function vAe(n){var e,t,i,r,c,s,f;for(c=new Ul(u(Se(new kbn),50)),f=li,t=new C(n.d);t.ajVn?Yt(h,n.b):i<=jVn&&i>EVn?Yt(h,n.d):i<=EVn&&i>CVn?Yt(h,n.c):i<=CVn&&Yt(h,n.a),c=Iqn(n,h,c);return r}function Oqn(n,e,t,i){var r,c,s,f,h,l;for(r=(i.c+i.a)/2,vo(e.j),xe(e.j,r),vo(t.e),xe(t.e,r),l=new Zjn,f=new C(n.f);f.a1,f&&(i=new V(r,t.b),xe(e.a,i)),c5(e.a,S(T(Ei,1),J,8,0,[g,d]))}function ben(n,e,t){var i,r;for(e=48;t--)K9[t]=t-48<<24>>24;for(i=70;i>=65;i--)K9[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)K9[r]=r-97+10<<24>>24;for(c=0;c<10;c++)SO[c]=48+c&ui;for(n=10;n<=15;n++)SO[n]=65+n-10&ui}function EAe(n,e){e.Ug("Process graph bounds",1),U(n,(pt(),rq),b7(O$(Ub(new Tn(null,new In(n.b,16)),new r4n)))),U(n,cq,b7(O$(Ub(new Tn(null,new In(n.b,16)),new c4n)))),U(n,vln,b7(I$(Ub(new Tn(null,new In(n.b,16)),new u4n)))),U(n,kln,b7(I$(Ub(new Tn(null,new In(n.b,16)),new o4n)))),e.Vg()}function CAe(n){var e,t,i,r,c;r=u(v(n,(cn(),xd)),21),c=u(v(n,kI),21),t=new V(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),e=new rr(t),r.Hc((go(),Qw))&&(i=u(v(n,Ev),8),c.Hc((io(),Hv))&&(i.a<=0&&(i.a=20),i.b<=0&&(i.b=20)),e.a=y.Math.max(t.a,i.a),e.b=y.Math.max(t.b,i.b)),on(un(v(n,SH)))||nIe(n,t,e)}function MAe(n,e){var t,i,r,c;for(c=uc(e,(tn(),ae)).Kc();c.Ob();)i=u(c.Pb(),12),t=u(v(i,(W(),Xu)),10),t&&Hs(Ds(Os(Ls(Is(new hs,0),.1),n.i[e.p].d),n.i[t.p].a));for(r=uc(e,Xn).Kc();r.Ob();)i=u(r.Pb(),12),t=u(v(i,(W(),Xu)),10),t&&Hs(Ds(Os(Ls(Is(new hs,0),.1),n.i[t.p].d),n.i[e.p].a))}function yF(n){var e,t,i,r,c,s;if(!n.c){if(s=new kvn,e=x9,c=e.a.zc(n,e),c==null){for(i=new ne(Sc(n));i.e!=i.i.gc();)t=u(ce(i),89),r=BA(t),O(r,90)&&Bt(s,yF(u(r,29))),ve(s,t);e.a.Bc(n)!=null,e.a.gc()==0}k8e(s),ew(s),n.c=new gg((u(L(_((G1(),Hn).o),15),19),s.i),s.g),Zu(n).b&=-33}return n.c}function gen(n){var e;if(n.c!=10)throw M(new Le($e((Ie(),qS))));switch(e=n.a,e){case 110:e=10;break;case 114:e=13;break;case 116:e=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw M(new Le($e((Ie(),is))))}return e}function $qn(n){var e,t,i,r,c;if(n.l==0&&n.m==0&&n.h==0)return"0";if(n.h==Ty&&n.m==0&&n.l==0)return"-9223372036854775808";if(n.h>>19)return"-"+$qn(tm(n));for(t=n,i="";!(t.l==0&&t.m==0&&t.h==0);){if(r=QN(QA),t=Jen(t,r,!0),e=""+cEn(ba),!(t.l==0&&t.m==0&&t.h==0))for(c=9-e.length;c>0;c--)e="0"+e;i=e+i}return i}function TAe(n){var e,t,i,r,c,s,f;for(e=!1,t=0,r=new C(n.d.b);r.a=n.a||!YZ(e,t))return-1;if(N4(u(i.Kb(e),20)))return 1;for(r=0,s=u(i.Kb(e),20).Kc();s.Ob();)if(c=u(s.Pb(),18),h=c.c.i==e?c.d.i:c.c.i,f=pen(n,h,t,i),f==-1||(r=y.Math.max(r,f),r>n.c-1))return-1;return r+1}function xqn(n,e){var t,i,r,c,s,f;if(x(e)===x(n))return!0;if(!O(e,15)||(i=u(e,15),f=n.gc(),i.gc()!=f))return!1;if(s=i.Kc(),n.Yi()){for(t=0;t0){if(n._j(),e!=null){for(c=0;c>24;case 97:case 98:case 99:case 100:case 101:case 102:return n-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return n-65+10<<24>>24;default:throw M(new eh("Invalid hexadecimal"))}}function NA(){NA=F,eon=new lg("SPIRAL",0),Qun=new lg("LINE_BY_LINE",1),Yun=new lg("MANHATTAN",2),Jun=new lg("JITTER",3),f_=new lg("QUADRANTS_LINE_BY_LINE",4),non=new lg("QUADRANTS_MANHATTAN",5),Zun=new lg("QUADRANTS_JITTER",6),Wun=new lg("COMBINE_LINE_BY_LINE_MANHATTAN",7),Vun=new lg("COMBINE_JITTER_MANHATTAN",8)}function Bqn(n,e,t,i){var r,c,s,f,h,l;for(h=zx(n,t),l=zx(e,t),r=!1;h&&l&&(i||E7e(h,l,t));)s=zx(h,t),f=zx(l,t),lk(e),lk(n),c=h.c,XF(h,!1),XF(l,!1),t?(uw(e,l.p,c),e.p=l.p,uw(n,h.p+1,c),n.p=h.p):(uw(n,h.p,c),n.p=h.p,uw(e,l.p+1,c),e.p=l.p),$i(h,null),$i(l,null),h=s,l=f,r=!0;return r}function Rqn(n){switch(n.g){case 0:return new Y5n;case 1:return new J5n;case 3:return new dCn;case 4:return new Xpn;case 5:return new _An;case 6:return new Q5n;case 2:return new W5n;case 7:return new q5n;case 8:return new G5n;default:throw M(new Gn("No implementation is available for the layerer "+(n.f!=null?n.f:""+n.g)))}}function DAe(n,e,t,i){var r,c,s,f,h;for(r=!1,c=!1,f=new C(i.j);f.a=e.length)throw M(new Ir("Greedy SwitchDecider: Free layer not in graph."));this.c=e[n],this.e=new N7(i),T$(this.e,this.c,(tn(),Wn)),this.i=new N7(i),T$(this.i,this.c,Zn),this.f=new rPn(this.c),this.a=!c&&r.i&&!r.s&&this.c[0].k==(Vn(),Zt),this.a&&zje(this,n,e.length)}function _qn(n,e){var t,i,r,c,s,f;c=!n.B.Hc((io(),cE)),s=n.B.Hc(bU),n.a=new ABn(s,c,n.c),n.n&&WW(n.a.n,n.n),mD(n.g,(bf(),Wc),n.a),e||(i=new C5(1,c,n.c),i.n.a=n.k,Pp(n.p,(tn(),Xn),i),r=new C5(1,c,n.c),r.n.d=n.k,Pp(n.p,ae,r),f=new C5(0,c,n.c),f.n.c=n.k,Pp(n.p,Wn,f),t=new C5(0,c,n.c),t.n.b=n.k,Pp(n.p,Zn,t))}function NAe(n){var e,t,i;switch(e=u(v(n.d,(cn(),$l)),223),e.g){case 2:t=jLe(n);break;case 3:t=(i=new Z,qt(ut(_r(rc(rc(new Tn(null,new In(n.d.b,16)),new ipn),new rpn),new cpn),new U2n),new E7n(i)),i);break;default:throw M(new Or("Compaction not supported for "+e+" edges."))}UIe(n,t),qi(new Ha(n.g),new y7n(n))}function $Ae(n,e){var t,i,r,c,s,f,h;if(e.Ug("Process directions",1),t=u(v(n,(lc(),vb)),88),t!=(ci(),Vf))for(r=ge(n.b,0);r.b!=r.d.c;){switch(i=u(be(r),40),f=u(v(i,(pt(),$j)),17).a,h=u(v(i,xj),17).a,t.g){case 4:h*=-1;break;case 1:c=f,f=h,h=c;break;case 2:s=f,f=-h,h=s}U(i,$j,Y(f)),U(i,xj,Y(h))}e.Vg()}function xAe(n,e){var t;return t=new xO,e&&Ur(t,u(ee(n.a,oE),96)),O(e,422)&&Ur(t,u(ee(n.a,sE),96)),O(e,366)?(Ur(t,u(ee(n.a,Ar),96)),t):(O(e,84)&&Ur(t,u(ee(n.a,he),96)),O(e,207)?(Ur(t,u(ee(n.a,Qe),96)),t):O(e,193)?(Ur(t,u(ee(n.a,Qu),96)),t):(O(e,326)&&Ur(t,u(ee(n.a,Vt),96)),t))}function FAe(n){var e,t,i,r,c,s,f,h;for(h=new yLn,f=new C(n.a);f.a0&&e=0)return!1;if(e.p=t.b,nn(t.e,e),r==(Vn(),Mi)||r==_c){for(s=new C(e.j);s.an.d[f.p]&&(t+=SJ(n.b,c),V1(n.a,Y(c)))):++s;for(t+=n.b.d*s;!i6(n.a);)oQ(n.b,u(Sp(n.a),17).a)}return t}function Qqn(n){var e,t,i,r,c,s;return c=0,e=ws(n),e.kk()&&(c|=4),n.Bb&$u&&(c|=2),O(n,102)?(t=u(n,19),r=br(t),t.Bb&kc&&(c|=32),r&&(se(Gb(r)),c|=8,s=r.t,(s>1||s==-1)&&(c|=16),r.Bb&kc&&(c|=64)),t.Bb&hr&&(c|=Tw),c|=Us):O(e,469)?c|=512:(i=e.kk(),i&&i.i&1&&(c|=256)),n.Bb&512&&(c|=128),c}function WAe(n,e){var t;return n.f==AU?(t=y0(Lr((Du(),zi),e)),n.e?t==4&&e!=(n3(),_3)&&e!=(n3(),K3)&&e!=(n3(),SU)&&e!=(n3(),PU):t==2):n.d&&(n.d.Hc(e)||n.d.Hc($p(Lr((Du(),zi),e)))||n.d.Hc(Jg((Du(),zi),n.b,e)))?!0:n.f&&ren((Du(),n.f),G7(Lr(zi,e)))?(t=y0(Lr(zi,e)),n.e?t==4:t==2):!1}function JAe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p;for(g=-1,p=0,l=n,a=0,d=l.length;a0&&++p;++g}return p}function QAe(n,e,t,i){var r,c,s,f,h,l,a,d;return s=u(z(t,(qe(),N3)),8),h=s.a,a=s.b+n,r=y.Math.atan2(a,h),r<0&&(r+=Cd),r+=e,r>Cd&&(r-=Cd),f=u(z(i,N3),8),l=f.a,d=f.b+n,c=y.Math.atan2(d,l),c<0&&(c+=Cd),c+=e,c>Cd&&(c-=Cd),Mf(),Rs(1e-10),y.Math.abs(r-c)<=1e-10||r==c||isNaN(r)&&isNaN(c)?0:rc?1:s0(isNaN(r),isNaN(c))}function CF(n){var e,t,i,r,c,s,f;for(f=new de,i=new C(n.a.b);i.a=n.o)throw M(new YG);f=e>>5,s=e&31,c=Fs(1,Ae(Fs(s,1))),r?n.n[t][f]=hf(n.n[t][f],c):n.n[t][f]=vi(n.n[t][f],WV(c)),c=Fs(c,1),i?n.n[t][f]=hf(n.n[t][f],c):n.n[t][f]=vi(n.n[t][f],WV(c))}catch(h){throw h=It(h),O(h,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(h)}}function nSe(n,e,t,i){var r,c,s,f,h,l,a,d,g;for(g=new Ul(new z7n(n)),f=S(T(Qh,1),b1,10,0,[e,t]),h=0,l=f.length;h0&&(i=(!n.n&&(n.n=new q(Ar,n,1,7)),u(L(n.n,0),135)).a,!i||Be(Be((e.a+=' "',e),i),'"'))),Be(t0(Be(t0(Be(t0(Be(t0((e.a+=" (",e),n.i),","),n.j)," | "),n.g),","),n.f),")"),e.a)}function Yqn(n){var e,t,i;return n.Db&64?iF(n):(e=new mo(Mcn),t=n.k,t?Be(Be((e.a+=' "',e),t),'"'):(!n.n&&(n.n=new q(Ar,n,1,7)),n.n.i>0&&(i=(!n.n&&(n.n=new q(Ar,n,1,7)),u(L(n.n,0),135)).a,!i||Be(Be((e.a+=' "',e),i),'"'))),Be(t0(Be(t0(Be(t0(Be(t0((e.a+=" (",e),n.i),","),n.j)," | "),n.g),","),n.f),")"),e.a)}function iSe(n,e){var t,i,r,c,s;for(e==(d5(),XH)&&ny(u(ot(n.a,(ow(),gj)),15)),r=u(ot(n.a,(ow(),gj)),15).Kc();r.Ob();)switch(i=u(r.Pb(),105),t=u(sn(i.j,0),113).d.j,c=new _u(i.j),Yt(c,new apn),e.g){case 2:Qx(n,c,t,(D0(),ma),1);break;case 1:case 0:s=qMe(c),Qx(n,new Jl(c,0,s),t,(D0(),ma),0),Qx(n,new Jl(c,s,c.c.length),t,ma,1)}}function TF(n,e){var t,i,r,c,s,f,h;if(e==null||e.length==0)return null;if(r=u(Nc(n.a,e),143),!r){for(i=(f=new ol(n.b).a.vc().Kc(),new Sb(f));i.a.Ob();)if(t=(c=u(i.a.Pb(),44),u(c.md(),143)),s=t.c,h=e.length,An(s.substr(s.length-h,h),e)&&(e.length==s.length||Xi(s,s.length-e.length-1)==46)){if(r)return null;r=t}r&&Dr(n.a,e,r)}return r}function rSe(n,e){var t,i,r,c;return t=new Tbn,i=u(Wr(_r(new Tn(null,new In(n.f,16)),t),Wb(new Q2,new Y2,new Z2,new np,S(T(xr,1),G,108,0,[(Gu(),Aw),Yr]))),21),r=i.gc(),i=u(Wr(_r(new Tn(null,new In(e.f,16)),t),Wb(new Q2,new Y2,new Z2,new np,S(T(xr,1),G,108,0,[Aw,Yr]))),21),c=i.gc(),rr.p?(gi(c,ae),c.d&&(f=c.o.b,e=c.a.b,c.a.b=f-e)):c.j==ae&&r.p>n.p&&(gi(c,Xn),c.d&&(f=c.o.b,e=c.a.b,c.a.b=-(f-e)));break}return r}function fy(n,e,t,i,r){var c,s,f,h,l,a,d;if(!(O(e,207)||O(e,366)||O(e,193)))throw M(new Gn("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return s=n.a/2,h=e.i+i-s,a=e.j+r-s,l=h+e.g+n.a,d=a+e.f+n.a,c=new Mu,xe(c,new V(h,a)),xe(c,new V(h,d)),xe(c,new V(l,d)),xe(c,new V(l,a)),f=new bF(c),Ur(f,e),t&&Xe(n.b,e,f),f}function Sm(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(c=new V(e,t),a=new C(n.a);a.a1,f&&(i=new V(r,t.b),xe(e.a,i)),c5(e.a,S(T(Ei,1),J,8,0,[g,d]))}function gs(){gs=F,AI=new Lb(kh,0),Sj=new Lb("NIKOLOV",1),Pj=new Lb("NIKOLOV_PIXEL",2),Fhn=new Lb("NIKOLOV_IMPROVED",3),Bhn=new Lb("NIKOLOV_IMPROVED_PIXEL",4),xhn=new Lb("DUMMYNODE_PERCENTAGE",5),Rhn=new Lb("NODECOUNT_PERCENTAGE",6),SI=new Lb("NO_BOUNDARY",7),pb=new Lb("MODEL_ORDER_LEFT_TO_RIGHT",8),Uw=new Lb("MODEL_ORDER_RIGHT_TO_LEFT",9)}function bSe(n){var e,t,i,r,c;for(i=n.length,e=new r6,c=0;c=40,s&&wPe(n),EIe(n),zTe(n),t=pBn(n),i=0;t&&i0&&xe(n.f,c)):(n.c[s]-=l+1,n.c[s]<=0&&n.a[s]>0&&xe(n.e,c))))}function lUn(n,e,t,i){var r,c,s,f,h,l,a;for(h=new V(t,i),mi(h,u(v(e,(pt(),Dv)),8)),a=ge(e.b,0);a.b!=a.d.c;)l=u(be(a),40),tt(l.e,h),xe(n.b,l);for(f=u(Wr(uJ(new Tn(null,new In(e.a,16))),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[(Gu(),Yr)]))),15).Kc();f.Ob();){for(s=u(f.Pb(),65),c=ge(s.a,0);c.b!=c.d.c;)r=u(be(c),8),r.a+=h.a,r.b+=h.b;xe(n.a,s)}}function Den(n,e){var t,i,r,c;if(0<(O(n,16)?u(n,16).gc():wl(n.Kc()))){if(r=e,1=0&&hc*2?(a=new hT(d),l=Su(s)/ao(s),h=QF(a,e,new cp,t,i,r,l),tt(sf(a.e),h),d.c.length=0,c=0,Bn(d.c,a),Bn(d.c,s),c=Su(a)*ao(a)+Su(s)*ao(s)):(Bn(d.c,s),c+=Su(s)*ao(s));return d}function dUn(n,e){var t,i,r,c,s,f;if(f=u(v(e,(cn(),Kt)),101),f==(Oi(),tl)||f==qc)for(r=new V(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a).b,s=new C(n.a);s.at?e:t;l<=d;++l)l==t?f=i++:(c=r[l],a=m.am(c.Lk()),l==e&&(h=l==d&&!a?i-1:i),a&&++i);return g=u(y5(n,e,t),76),f!=h&&t4(n,new ok(n.e,7,s,Y(f),p.md(),h)),g}}else return u(lF(n,e,t),76);return u(y5(n,e,t),76)}function LSe(n,e){var t,i,r,c,s,f,h;for(e.Ug("Port order processing",1),h=u(v(n,(cn(),whn)),430),i=new C(n.b);i.a=0&&(f=S7e(n,s),!(f&&(l<22?h.l|=1<>>1,s.m=a>>>1|(d&1)<<21,s.l=g>>>1|(a&1)<<21,--l;return t&&H$(h),c&&(i?(ba=tm(n),r&&(ba=Yxn(ba,(R4(),lun)))):ba=Yc(n.l,n.m,n.h)),h}function xSe(n,e){var t,i,r,c,s,f,h,l,a,d;for(l=n.e[e.c.p][e.p]+1,h=e.c.a.c.length+1,f=new C(n.a);f.a0&&(zn(0,n.length),n.charCodeAt(0)==45||(zn(0,n.length),n.charCodeAt(0)==43))?1:0,i=s;it)throw M(new eh(V0+n+'"'));return f}function FSe(n){var e,t,i,r,c,s,f;for(s=new Ct,c=new C(n.a);c.a1)&&e==1&&u(n.a[n.b],10).k==(Vn(),Ac)?t3(u(n.a[n.b],10),(To(),nl)):i&&(!t||(n.c-n.b&n.a.length-1)>1)&&e==1&&u(n.a[n.c-1&n.a.length-1],10).k==(Vn(),Ac)?t3(u(n.a[n.c-1&n.a.length-1],10),(To(),Ta)):(n.c-n.b&n.a.length-1)==2?(t3(u(a5(n),10),(To(),nl)),t3(u(a5(n),10),Ta)):dMe(n,r),TJ(n)}function KSe(n,e,t){var i,r,c,s,f;for(c=0,r=new ne((!n.a&&(n.a=new q(Qe,n,10,11)),n.a));r.e!=r.i.gc();)i=u(ce(r),27),s="",(!i.n&&(i.n=new q(Ar,i,1,7)),i.n).i==0||(s=u(L((!i.n&&(i.n=new q(Ar,i,1,7)),i.n),0),135).a),f=new q$(c++,e,s),Ur(f,i),U(f,(pt(),f9),i),f.e.b=i.j+i.f/2,f.f.a=y.Math.max(i.g,1),f.e.a=i.i+i.g/2,f.f.b=y.Math.max(i.f,1),xe(e.b,f),Vc(t.f,i,f)}function _Se(n){var e,t,i,r,c;i=u(v(n,(W(),st)),27),c=u(z(i,(cn(),xd)),181).Hc((go(),Gd)),n.e||(r=u(v(n,Hc),21),e=new V(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),r.Hc((pr(),cs))?(ht(i,Kt,(Oi(),qc)),G0(i,e.a,e.b,!1,!0)):on(un(z(i,SH)))||G0(i,e.a,e.b,!0,!0)),c?ht(i,xd,yn(Gd)):ht(i,xd,(t=u(uf(I9),9),new _o(t,u($s(t,t.length),9),0)))}function Len(n,e,t){var i,r,c,s;if(e[0]>=n.length)return t.o=0,!0;switch(Xi(n,e[0])){case 43:r=1;break;case 45:r=-1;break;default:return t.o=0,!0}if(++e[0],c=e[0],s=yA(n,e),s==0&&e[0]==c)return!1;if(e[0]f&&(f=r,a.c.length=0),r==f&&nn(a,new bi(t.c.i,t)));Dn(),Yt(a,n.c),b0(n.b,h.p,a)}}function GSe(n,e){var t,i,r,c,s,f,h,l,a;for(s=new C(e.b);s.af&&(f=r,a.c.length=0),r==f&&nn(a,new bi(t.d.i,t)));Dn(),Yt(a,n.c),b0(n.f,h.p,a)}}function zSe(n,e){var t,i,r,c,s,f,h,l;if(l=un(v(e,(lc(),Ire))),l==null||(Jn(l),l)){for(mCe(n,e),r=new Z,h=ge(e.b,0);h.b!=h.d.c;)s=u(be(h),40),t=knn(n,s,null),t&&(Ur(t,e),Bn(r.c,t));if(n.a=null,n.b=null,r.c.length>1)for(i=new C(r);i.a=0&&f!=t&&(c=new Ci(n,1,f,s,null),i?i.nj(c):i=c),t>=0&&(c=new Ci(n,1,t,f==t?s:null,e),i?i.nj(c):i=c)),i}function gUn(n){var e,t,i;if(n.b==null){if(i=new Hl,n.i!=null&&(Er(i,n.i),i.a+=":"),n.f&256){for(n.f&256&&n.a!=null&&(lge(n.i)||(i.a+="//"),Er(i,n.a)),n.d!=null&&(i.a+="/",Er(i,n.d)),n.f&16&&(i.a+="/"),e=0,t=n.j.length;eg?!1:(d=(h=V5(i,g,!1),h.a),a+f+d<=e.b&&(sk(t,c-t.s),t.c=!0,sk(i,c-t.s),Uk(i,t.s,t.t+t.d+f),i.k=!0,_Q(t.q,i),p=!0,r&&(wT(e,i),i.j=e,n.c.length>s&&(Xk((Ln(s,n.c.length),u(n.c[s],186)),i),(Ln(s,n.c.length),u(n.c[s],186)).a.c.length==0&&Yl(n,s)))),p)}function ZSe(n,e){var t,i,r,c,s,f;if(e.Ug("Partition midprocessing",1),r=new C0,qt(ut(new Tn(null,new In(n.a,16)),new qgn),new h7n(r)),r.d!=0){for(f=u(Wr(fJ((c=r.i,new Tn(null,(c||(r.i=new Cg(r,r.c))).Nc()))),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),i=f.Kc(),t=u(i.Pb(),17);i.Ob();)s=u(i.Pb(),17),zMe(u(ot(r,t),21),u(ot(r,s),21)),t=s;e.Vg()}}function vUn(n,e,t){var i,r,c,s,f,h,l,a;if(e.p==0){for(e.p=1,s=t,s||(r=new Z,c=(i=u(uf(lr),9),new _o(i,u($s(i,i.length),9),0)),s=new bi(r,c)),u(s.a,15).Fc(e),e.k==(Vn(),Zt)&&u(s.b,21).Fc(u(v(e,(W(),gc)),64)),h=new C(e.j);h.a0){if(r=u(n.Ab.g,2033),e==null){for(c=0;ct.s&&fs)return tn(),Zn;break;case 4:case 3:if(a<0)return tn(),Xn;if(a+t>c)return tn(),ae}return h=(l+f/2)/s,i=(a+t/2)/c,h+i<=1&&h-i<=0?(tn(),Wn):h+i>=1&&h-i>=0?(tn(),Zn):i<.5?(tn(),Xn):(tn(),ae)}function rPe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(t=!1,a=$(R(v(e,(cn(),gb)))),m=sa*a,r=new C(e.b);r.ah+m&&(k=d.g+g.g,g.a=(g.g*g.a+d.g*d.a)/k,g.g=k,d.f=g,t=!0)),c=f,d=g;return t}function EUn(n,e,t,i,r,c,s){var f,h,l,a,d,g;for(g=new mp,l=e.Kc();l.Ob();)for(f=u(l.Pb(),853),d=new C(f.Rf());d.a0?f.a?(l=f.b.Mf().b,r>l&&(n.v||f.c.d.c.length==1?(s=(r-l)/2,f.d.d=s,f.d.a=s):(t=u(sn(f.c.d,0),187).Mf().b,i=(t-l)/2,f.d.d=y.Math.max(0,i),f.d.a=r-i-l))):f.d.a=n.t+r:_6(n.u)&&(c=tnn(f.b),c.d<0&&(f.d.d=-c.d),c.d+c.a>f.b.Mf().b&&(f.d.a=c.d+c.a-f.b.Mf().b))}function qs(){qs=F,k3=new Ni((qe(),Jj),Y(1)),yP=new Ni(qd,80),tZn=new Ni(Uan,5),zYn=new Ni($2,Gm),nZn=new Ni(fU,Y(1)),eZn=new Ni(hU,(_n(),!0)),mon=new f0(50),YYn=new Ni(C1,mon),won=Vj,von=j9,XYn=new Ni(Zq,!1),pon=Wj,JYn=Vw,QYn=Ma,WYn=Hd,VYn=R2,ZYn=Ww,gon=(ann(),RYn),y_=qYn,kP=BYn,k_=KYn,kon=HYn,cZn=Fv,uZn=cO,rZn=Qj,iZn=rO,yon=(Gp(),Yw),new Ni(x3,yon)}function oPe(n,e){var t;switch(gk(n)){case 6:return Ai(e);case 7:return $b(e);case 8:return Nb(e);case 3:return Array.isArray(e)&&(t=gk(e),!(t>=14&&t<=16));case 11:return e!=null&&typeof e===eB;case 12:return e!=null&&(typeof e===vy||typeof e==eB);case 0:return Tx(e,n.__elementTypeId$);case 2:return uN(e)&&e.Tm!==J2;case 1:return uN(e)&&e.Tm!==J2||Tx(e,n.__elementTypeId$);default:return!0}}function sPe(n){var e,t,i,r;i=n.o,Bb(),n.A.dc()||rt(n.A,ron)?r=i.a:(n.D?r=y.Math.max(i.a,$5(n.f)):r=$5(n.f),n.A.Hc((go(),iE))&&!n.B.Hc((io(),O9))&&(r=y.Math.max(r,$5(u(Cr(n.p,(tn(),Xn)),252))),r=y.Math.max(r,$5(u(Cr(n.p,ae),252)))),e=Bxn(n),e&&(r=y.Math.max(r,e.a))),on(un(n.e.Tf().of((qe(),Vw))))?i.a=y.Math.max(i.a,r):i.a=r,t=n.f.i,t.c=0,t.b=r,LF(n.f)}function CUn(n,e){var t,i,r,c;return i=y.Math.min(y.Math.abs(n.c-(e.c+e.b)),y.Math.abs(n.c+n.b-e.c)),c=y.Math.min(y.Math.abs(n.d-(e.d+e.a)),y.Math.abs(n.d+n.a-e.d)),t=y.Math.abs(n.c+n.b/2-(e.c+e.b/2)),t>n.b/2+e.b/2||(r=y.Math.abs(n.d+n.a/2-(e.d+e.a/2)),r>n.a/2+e.a/2)?1:t==0&&r==0?0:t==0?c/r+1:r==0?i/t+1:y.Math.min(i/t,c/r)+1}function fPe(n,e){var t,i,r,c,s,f,h;for(c=0,f=0,h=0,r=new C(n.f.e);r.a0&&n.d!=(i5(),C_)&&(f+=s*(i.d.a+n.a[e.a][i.a]*(e.d.a-i.d.a)/t)),t>0&&n.d!=(i5(),j_)&&(h+=s*(i.d.b+n.a[e.a][i.a]*(e.d.b-i.d.b)/t)));switch(n.d.g){case 1:return new V(f/c,e.d.b);case 2:return new V(e.d.a,h/c);default:return new V(f/c,h/c)}}function MUn(n){var e,t,i,r,c,s;for(t=(!n.a&&(n.a=new ti(xo,n,5)),n.a).i+2,s=new Gc(t),nn(s,new V(n.j,n.k)),qt(new Tn(null,(!n.a&&(n.a=new ti(xo,n,5)),new In(n.a,16))),new xkn(s)),nn(s,new V(n.b,n.c)),e=1;e0&&(Sk(h,!1,(ci(),Br)),Sk(h,!0,Xr)),nu(e.g,new RCn(n,t)),Xe(n.g,e,t)}function SUn(){SUn=F;var n;for(vun=S(T(ye,1),Ke,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),JK=K(ye,Ke,28,37,15,1),gQn=S(T(ye,1),Ke,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),kun=K(xa,SB,28,37,14,1),n=2;n<=36;n++)JK[n]=wi(y.Math.pow(n,vun[n])),kun[n]=Wk(Ey,JK[n])}function hPe(n){var e;if((!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i!=1)throw M(new Gn(tWn+(!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i));return e=new Mu,Tk(u(L((!n.b&&(n.b=new Nn(he,n,4,7)),n.b),0),84))&&Bi(e,gzn(n,Tk(u(L((!n.b&&(n.b=new Nn(he,n,4,7)),n.b),0),84)),!1)),Tk(u(L((!n.c&&(n.c=new Nn(he,n,5,8)),n.c),0),84))&&Bi(e,gzn(n,Tk(u(L((!n.c&&(n.c=new Nn(he,n,5,8)),n.c),0),84)),!0)),e}function PUn(n,e){var t,i,r,c,s;for(e.d?r=n.a.c==(sh(),mb)?ji(e.b):Qt(e.b):r=n.a.c==(sh(),y1)?ji(e.b):Qt(e.b),c=!1,i=new te(re(r.a.Kc(),new En));pe(i);)if(t=u(fe(i),18),s=on(n.a.f[n.a.g[e.b.p].p]),!(!s&&!fr(t)&&t.c.i.c==t.d.i.c)&&!(on(n.a.n[n.a.g[e.b.p].p])||on(n.a.n[n.a.g[e.b.p].p]))&&(c=!0,of(n.b,n.a.g[h7e(t,e.b).p])))return e.c=!0,e.a=t,e;return e.c=c,e.a=null,e}function $en(n,e,t){var i,r,c,s,f,h,l;if(i=t.gc(),i==0)return!1;if(n.Pj())if(h=n.Qj(),UY(n,e,t),s=i==1?n.Ij(3,null,t.Kc().Pb(),e,h):n.Ij(5,null,t,e,h),n.Mj()){for(f=i<100?null:new F1(i),c=e+i,r=e;r0){for(s=0;s>16==-15&&n.Cb.Yh()&&h$(new c$(n.Cb,9,13,t,n.c,f1(no(u(n.Cb,62)),n))):O(n.Cb,90)&&n.Db>>16==-23&&n.Cb.Yh()&&(e=n.c,O(e,90)||(e=(On(),Ps)),O(t,90)||(t=(On(),Ps)),h$(new c$(n.Cb,9,10,t,e,f1(Sc(u(n.Cb,29)),n)))))),n.c}function dPe(n,e,t){var i,r,c,s,f,h,l,a,d;for(t.Ug("Hyperedge merging",1),FCe(n,e),h=new xi(e.b,0);h.b0,f=HT(e,c),VX(t?f.b:f.g,e),$g(f).c.length==1&&xt(i,f,i.c.b,i.c),r=new bi(c,e),V1(n.o,r),du(n.e.a,c))}function xUn(n,e){var t,i,r,c,s,f,h;return i=y.Math.abs(gM(n.b).a-gM(e.b).a),f=y.Math.abs(gM(n.b).b-gM(e.b).b),r=0,h=0,t=1,s=1,i>n.b.b/2+e.b.b/2&&(r=y.Math.min(y.Math.abs(n.b.c-(e.b.c+e.b.b)),y.Math.abs(n.b.c+n.b.b-e.b.c)),t=1-r/i),f>n.b.a/2+e.b.a/2&&(h=y.Math.min(y.Math.abs(n.b.d-(e.b.d+e.b.a)),y.Math.abs(n.b.d+n.b.a-e.b.d)),s=1-h/f),c=y.Math.min(t,s),(1-c)*y.Math.sqrt(i*i+f*f)}function gPe(n){var e,t,i,r;for(JF(n,n.e,n.f,(M0(),Ea),!0,n.c,n.i),JF(n,n.e,n.f,Ea,!1,n.c,n.i),JF(n,n.e,n.f,P2,!0,n.c,n.i),JF(n,n.e,n.f,P2,!1,n.c,n.i),aPe(n,n.c,n.e,n.f,n.i),i=new xi(n.i,0);i.b=65;t--)Zf[t]=t-65<<24>>24;for(i=122;i>=97;i--)Zf[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)Zf[r]=r-48+52<<24>>24;for(Zf[43]=62,Zf[47]=63,c=0;c<=25;c++)O1[c]=65+c&ui;for(s=26,h=0;s<=51;++s,h++)O1[s]=97+h&ui;for(n=52,f=0;n<=61;++n,f++)O1[n]=48+f&ui;O1[62]=43,O1[63]=47}function FUn(n,e){var t,i,r,c,s,f;return r=xQ(n),f=xQ(e),r==f?n.e==e.e&&n.a<54&&e.a<54?n.fe.f?1:0:(i=n.e-e.e,t=(n.d>0?n.d:y.Math.floor((n.a-1)*Uzn)+1)-(e.d>0?e.d:y.Math.floor((e.a-1)*Uzn)+1),t>i+1?r:t0&&(s=Pg(s,VUn(i))),XBn(c,s))):rl&&(g=0,p+=h+e,h=0),Sm(s,g,p),t=y.Math.max(t,g+a.a),h=y.Math.max(h,a.b),g+=a.a+e;return new V(t+e,p+h+e)}function Ren(n,e){var t,i,r,c,s,f,h;if(!Af(n))throw M(new Or(eWn));if(i=Af(n),c=i.g,r=i.f,c<=0&&r<=0)return tn(),sc;switch(f=n.i,h=n.j,e.g){case 2:case 1:if(f<0)return tn(),Wn;if(f+n.g>c)return tn(),Zn;break;case 4:case 3:if(h<0)return tn(),Xn;if(h+n.f>r)return tn(),ae}return s=(f+n.g/2)/c,t=(h+n.f/2)/r,s+t<=1&&s-t<=0?(tn(),Wn):s+t>=1&&s-t>=0?(tn(),Zn):t<.5?(tn(),Xn):(tn(),ae)}function vPe(n,e,t,i,r){var c,s;if(c=nr(vi(e[0],mr),vi(i[0],mr)),n[0]=Ae(c),c=w0(c,32),t>=r){for(s=1;s0&&(r.b[s++]=0,r.b[s++]=c.b[0]-1),e=1;e0&&(JO(h,h.d-r.d),r.c==(lf(),ja)&&ife(h,h.a-r.d),h.d<=0&&h.i>0&&xt(e,h,e.c.b,e.c)));for(c=new C(n.f);c.a0&&(SE(f,f.i-r.d),r.c==(lf(),ja)&&rfe(f,f.b-r.d),f.i<=0&&f.d>0&&xt(t,f,t.c.b,t.c)))}function jPe(n,e,t,i,r){var c,s,f,h,l,a,d,g,p;for(Dn(),Yt(n,new Jmn),s=F7(n),p=new Z,g=new Z,f=null,h=0;s.b!=0;)c=u(s.b==0?null:(oe(s.b!=0),Xo(s,s.a.a)),163),!f||Su(f)*ao(f)/21&&(h>Su(f)*ao(f)/2||s.b==0)&&(d=new hT(g),a=Su(f)/ao(f),l=QF(d,e,new cp,t,i,r,a),tt(sf(d.e),l),f=d,Bn(p.c,d),h=0,g.c.length=0));return hi(p,g),p}function Ic(n,e,t,i,r){fl();var c,s,f,h,l,a,d;if(PW(n,"src"),PW(t,"dest"),d=wo(n),h=wo(t),VV((d.i&4)!=0,"srcType is not an array"),VV((h.i&4)!=0,"destType is not an array"),a=d.c,s=h.c,VV(a.i&1?a==s:(s.i&1)==0,"Array types don't match"),s6e(n,e,t,i,r),!(a.i&1)&&d!=h)if(l=cd(n),c=cd(t),x(n)===x(t)&&ei;)$t(c,f,l[--e]);else for(f=i+r;i0),i.a.Xb(i.c=--i.b),d>g+h&&bo(i);for(s=new C(p);s.a0),i.a.Xb(i.c=--i.b)}}function CPe(){nt();var n,e,t,i,r,c;if(OU)return OU;for(n=new yo(4),gw(n,oa(FK,!0)),Q5(n,oa("M",!0)),Q5(n,oa("C",!0)),c=new yo(4),i=0;i<11;i++)xc(c,i,i);return e=new yo(4),gw(e,oa("M",!0)),xc(e,4448,4607),xc(e,65438,65439),r=new P6(2),pd(r,n),pd(r,H9),t=new P6(2),t.Jm(uM(c,oa("L",!0))),t.Jm(e),t=new Xb(3,t),t=new SW(r,t),OU=t,OU}function ww(n,e){var t,i,r,c,s,f,h,l;for(t=new RegExp(e,"g"),h=K(fn,J,2,0,6,1),i=0,l=n,c=null;;)if(f=t.exec(l),f==null||l==""){h[i]=l;break}else s=f.index,h[i]=(Fi(0,s,l.length),l.substr(0,s)),l=qo(l,s+f[0].length,l.length),t.lastIndex=0,c==l&&(h[i]=(Fi(0,1,l.length),l.substr(0,1)),l=(zn(1,l.length+1),l.substr(1))),c=l,++i;if(n.length>0){for(r=h.length;r>0&&h[r-1]=="";)--r;r0&&(d-=i[0]+n.c,i[0]+=n.c),i[2]>0&&(d-=i[2]+n.c),i[1]=y.Math.max(i[1],d),hM(n.a[1],t.c+e.b+i[0]-(i[1]-d)/2,i[1]);for(c=n.a,f=0,l=c.length;f0?(n.n.c.length-1)*n.i:0,i=new C(n.n);i.a1)for(i=ge(r,0);i.b!=i.d.c;)for(t=u(be(i),235),c=0,h=new C(t.e);h.a0&&(e[0]+=n.c,d-=e[0]),e[2]>0&&(d-=e[2]+n.c),e[1]=y.Math.max(e[1],d),lM(n.a[1],i.d+t.d+e[0]-(e[1]-d)/2,e[1]);else for(m=i.d+t.d,p=i.a-t.d-t.a,s=n.a,h=0,a=s.length;h0||x0(r.b.d,n.b.d+n.b.a)==0&&i.b<0||x0(r.b.d+r.b.a,n.b.d)==0&&i.b>0){f=0;break}}else f=y.Math.min(f,x_n(n,r,i));f=y.Math.min(f,_Un(n,c,f,i))}return f}function dy(n,e){var t,i,r,c,s,f,h;if(n.b<2)throw M(new Gn("The vector chain must contain at least a source and a target point."));for(r=(oe(n.b!=0),u(n.a.a.c,8)),C7(e,r.a,r.b),h=new kp((!e.a&&(e.a=new ti(xo,e,5)),e.a)),s=ge(n,1);s.a=0&&c!=t))throw M(new Gn(Vy));for(r=0,h=0;h$(Tf(s.g,s.d[0]).a)?(oe(h.b>0),h.a.Xb(h.c=--h.b),Rb(h,s),r=!0):f.e&&f.e.gc()>0&&(c=(!f.e&&(f.e=new Z),f.e).Mc(e),l=(!f.e&&(f.e=new Z),f.e).Mc(t),(c||l)&&((!f.e&&(f.e=new Z),f.e).Fc(s),++s.c));r||Bn(i.c,s)}function OPe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A;return d=n.a.i+n.a.g/2,g=n.a.i+n.a.g/2,m=e.i+e.g/2,j=e.j+e.f/2,f=new V(m,j),l=u(z(e,(qe(),N3)),8),l.a=l.a+d,l.b=l.b+g,c=(f.b-l.b)/(f.a-l.a),i=f.b-c*f.a,k=t.i+t.g/2,A=t.j+t.f/2,h=new V(k,A),a=u(z(t,N3),8),a.a=a.a+d,a.b=a.b+g,s=(h.b-a.b)/(h.a-a.a),r=h.b-s*h.a,p=(i-r)/(s-c),l.a>>0,"0"+e.toString(16)),i="\\x"+qo(t,t.length-2,t.length)):n>=hr?(t=(e=n>>>0,"0"+e.toString(16)),i="\\v"+qo(t,t.length-6,t.length)):i=""+String.fromCharCode(n&ui)}return i}function GUn(n){var e,t,i;if(pg(u(v(n,(cn(),Kt)),101)))for(t=new C(n.j);t.a=e.o&&t.f<=e.f||e.a*.5<=t.f&&e.a*1.5>=t.f){if(s=u(sn(e.n,e.n.c.length-1),209),s.e+s.d+t.g+r<=i&&(c=u(sn(e.n,e.n.c.length-1),209),c.f-n.f+t.f<=n.b||n.a.c.length==1))return xY(e,t),!0;if(e.s+t.g<=i&&(e.t+e.d+t.f+r<=n.b||n.a.c.length==1))return nn(e.b,t),f=u(sn(e.n,e.n.c.length-1),209),nn(e.n,new NM(e.s,f.f+f.a+e.i,e.i)),gZ(u(sn(e.n,e.n.c.length-1),209),t),RUn(e,t),!0}return!1}function XUn(n,e,t){var i,r,c,s;return n.Pj()?(r=null,c=n.Qj(),i=n.Ij(1,s=d$(n,e,t),t,e,c),n.Mj()&&!(n.Yi()&&s!=null?rt(s,t):x(s)===x(t))?(s!=null&&(r=n.Oj(s,r)),r=n.Nj(t,r),n.Tj()&&(r=n.Wj(s,t,r)),r?(r.nj(i),r.oj()):n.Jj(i)):(n.Tj()&&(r=n.Wj(s,t,r)),r?(r.nj(i),r.oj()):n.Jj(i)),s):(s=d$(n,e,t),n.Mj()&&!(n.Yi()&&s!=null?rt(s,t):x(s)===x(t))&&(r=null,s!=null&&(r=n.Oj(s,null)),r=n.Nj(t,r),r&&r.oj()),s)}function BPe(n,e){var t,i,r,c,s;if(e.Ug("Path-Like Graph Wrapping",1),n.b.c.length==0){e.Vg();return}if(r=new znn(n),s=(r.i==null&&(r.i=FQ(r,new VU)),$(r.i)*r.f),t=s/(r.i==null&&(r.i=FQ(r,new VU)),$(r.i)),r.b>t){e.Vg();return}switch(u(v(n,(cn(),LH)),351).g){case 2:c=new JU;break;case 0:c=new XU;break;default:c=new QU}if(i=c.og(n,r),!c.pg())switch(u(v(n,jI),352).g){case 2:i=F_n(r,i);break;case 1:i=SKn(r,i)}LIe(n,r,i),e.Vg()}function G5(n,e){var t,i,r,c,s,f,h,l;e%=24,n.q.getHours()!=e&&(i=new y.Date(n.q.getTime()),i.setDate(i.getDate()+1),f=n.q.getTimezoneOffset()-i.getTimezoneOffset(),f>0&&(h=f/60|0,l=f%60,r=n.q.getDate(),t=n.q.getHours(),t+h>=24&&++r,c=new y.Date(n.q.getFullYear(),n.q.getMonth(),r,e+h,n.q.getMinutes()+l,n.q.getSeconds(),n.q.getMilliseconds()),n.q.setTime(c.getTime()))),s=n.q.getTime(),n.q.setTime(s+36e5),n.q.getHours()!=e&&n.q.setTime(s)}function RPe(n,e){var t,i,r,c;if(Y2e(n.d,n.e),n.c.a.$b(),$(R(v(e.j,(cn(),hI))))!=0||$(R(v(e.j,hI)))!=0)for(t=t2,x(v(e.j,Yh))!==x((lh(),k1))&&U(e.j,(W(),va),(_n(),!0)),c=u(v(e.j,Q8),17).a,r=0;rr&&++l,nn(s,(Ln(f+l,e.c.length),u(e.c[f+l],17))),h+=(Ln(f+l,e.c.length),u(e.c[f+l],17)).a-i,++t;t=j&&n.e[h.p]>m*n.b||D>=t*j)&&(Bn(g.c,f),f=new Z,Bi(s,c),c.a.$b(),l-=a,p=y.Math.max(p,l*n.b+k),l+=D,I=D,D=0,a=0,k=0);return new bi(p,g)}function $F(n){var e,t,i,r,c,s,f;if(!n.d){if(f=new jvn,e=x9,c=e.a.zc(n,e),c==null){for(i=new ne(Hr(n));i.e!=i.i.gc();)t=u(ce(i),29),Bt(f,$F(t));e.a.Bc(n)!=null,e.a.gc()==0}for(s=f.i,r=(!n.q&&(n.q=new q(As,n,11,10)),new ne(n.q));r.e!=r.i.gc();++s)u(ce(r),411);Bt(f,(!n.q&&(n.q=new q(As,n,11,10)),n.q)),ew(f),n.d=new gg((u(L(_((G1(),Hn).o),9),19),f.i),f.g),n.e=u(f.g,688),n.e==null&&(n.e=Joe),Zu(n).b&=-17}return n.d}function Om(n,e,t,i){var r,c,s,f,h,l;if(l=ru(n.e.Dh(),e),h=0,r=u(n.g,124),dr(),u(e,69).xk()){for(s=0;s1||m==-1)if(d=u(k,71),g=u(a,71),d.dc())g.$b();else for(s=!!br(e),c=0,f=n.a?d.Kc():d.Ii();f.Ob();)l=u(f.Pb(),58),r=u(Lf(n,l),58),r?(s?(h=g.dd(r),h==-1?g.Gi(c,r):c!=h&&g.Ui(c,r)):g.Gi(c,r),++c):n.b&&!s&&(g.Gi(c,l),++c);else k==null?a.Wb(null):(r=Lf(n,k),r==null?n.b&&!br(e)&&a.Wb(k):a.Wb(r))}function UPe(n,e){var t,i,r,c,s,f,h,l;for(t=new ogn,r=new te(re(ji(e).a.Kc(),new En));pe(r);)if(i=u(fe(r),18),!fr(i)&&(f=i.c.i,YZ(f,MP))){if(l=pen(n,f,MP,CP),l==-1)continue;t.b=y.Math.max(t.b,l),!t.a&&(t.a=new Z),nn(t.a,f)}for(s=new te(re(Qt(e).a.Kc(),new En));pe(s);)if(c=u(fe(s),18),!fr(c)&&(h=c.d.i,YZ(h,CP))){if(l=pen(n,h,CP,MP),l==-1)continue;t.d=y.Math.max(t.d,l),!t.c&&(t.c=new Z),nn(t.c,h)}return t}function GPe(n,e,t,i){var r,c,s,f,h,l,a;if(t.d.i!=e.i){for(r=new Tl(n),_a(r,(Vn(),Mi)),U(r,(W(),st),t),U(r,(cn(),Kt),(Oi(),qc)),Bn(i.c,r),s=new Pc,ic(s,r),gi(s,(tn(),Wn)),f=new Pc,ic(f,r),gi(f,Zn),a=t.d,Ii(t,s),c=new E0,Ur(c,t),U(c,Fr,null),Zi(c,f),Ii(c,a),l=new xi(t.b,0);l.b1e6)throw M(new _E("power of ten too big"));if(n<=et)return Fp(ry(m3[1],e),e);for(i=ry(m3[1],et),r=i,t=vc(n-et),e=wi(n%et);Ec(t,et)>0;)r=Pg(r,i),t=bs(t,et);for(r=Pg(r,ry(m3[1],e)),r=Fp(r,et),t=vc(n-et);Ec(t,et)>0;)r=Fp(r,et),t=bs(t,et);return r=Fp(r,e),r}function WUn(n){var e,t,i,r,c,s,f,h,l,a;for(h=new C(n.a);h.al&&i>l)a=f,l=$(e.p[f.p])+$(e.d[f.p])+f.o.b+f.d.a;else{r=!1,t._g()&&t.bh("bk node placement breaks on "+f+" which should have been after "+a);break}if(!r)break}return t._g()&&t.bh(e+" is feasible: "+r),r}function qen(n,e,t,i){var r,c,s,f,h,l,a,d,g;if(c=new Tl(n),_a(c,(Vn(),_c)),U(c,(cn(),Kt),(Oi(),qc)),r=0,e){for(s=new Pc,U(s,(W(),st),e),U(c,st,e.i),gi(s,(tn(),Wn)),ic(s,c),g=fh(e.e),l=g,a=0,d=l.length;a0){if(r<0&&a.a&&(r=h,c=l[0],i=0),r>=0){if(f=a.b,h==r&&(f-=i++,f==0))return 0;if(!ZGn(e,l,a,f,s)){h=r-1,l[0]=c;continue}}else if(r=-1,!ZGn(e,l,a,0,s))return 0}else{if(r=-1,Xi(a.c,0)==32){if(d=l[0],n$n(e,l),l[0]>d)continue}else if(Lge(e,a.c,l[0])){l[0]+=a.c.length;continue}return 0}return $De(s,t)?l[0]:0}function QPe(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(a=new dM(new B9n(t)),f=K(so,Xh,28,n.f.e.c.length,16,1),TW(f,f.length),t[e.a]=0,l=new C(n.f.e);l.a=0&&!Rg(n,a,d);)--d;r[a]=d}for(p=0;p=0&&!Rg(n,f,m);)--f;c[m]=f}for(h=0;he[g]&&gi[h]&&xA(n,h,g,!1,!0)}function Uen(n){var e,t,i,r,c,s,f,h;t=on(un(v(n,(qs(),XYn)))),c=n.a.c.d,f=n.a.d.d,t?(s=rh(mi(new V(f.a,f.b),c),.5),h=rh(Ki(n.e),.5),e=mi(tt(new V(c.a,c.b),s),h),ZX(n.d,e)):(r=$(R(v(n.a,tZn))),i=n.d,c.a>=f.a?c.b>=f.b?(i.a=f.a+(c.a-f.a)/2+r,i.b=f.b+(c.b-f.b)/2-r-n.e.b):(i.a=f.a+(c.a-f.a)/2+r,i.b=c.b+(f.b-c.b)/2+r):c.b>=f.b?(i.a=c.a+(f.a-c.a)/2+r,i.b=f.b+(c.b-f.b)/2+r):(i.a=c.a+(f.a-c.a)/2+r,i.b=c.b+(f.b-c.b)/2-r-n.e.b))}function X5(n){var e,t,i,r,c,s,f,h;if(!n.f){if(h=new iG,f=new iG,e=x9,s=e.a.zc(n,e),s==null){for(c=new ne(Hr(n));c.e!=c.i.gc();)r=u(ce(c),29),Bt(h,X5(r));e.a.Bc(n)!=null,e.a.gc()==0}for(i=(!n.s&&(n.s=new q(ku,n,21,17)),new ne(n.s));i.e!=i.i.gc();)t=u(ce(i),179),O(t,102)&&ve(f,u(t,19));ew(f),n.r=new _Sn(n,(u(L(_((G1(),Hn).o),6),19),f.i),f.g),Bt(h,n.r),ew(h),n.f=new gg((u(L(_(Hn.o),5),19),h.i),h.g),Zu(n).b&=-3}return n.f}function QUn(n){r0(n,new gd(e0(Yd(n0(Zd(new Ra,jd),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new Bbn))),Q(n,jd,WB,rn(aon)),Q(n,jd,JB,rn(g_)),Q(n,jd,l3,rn(DYn)),Q(n,jd,W0,rn(lon)),Q(n,jd,Dtn,rn(xYn)),Q(n,jd,Ltn,rn($Yn)),Q(n,jd,Otn,rn(FYn)),Q(n,jd,Ntn,rn(NYn)),Q(n,jd,_tn,rn(LYn)),Q(n,jd,Htn,rn(w_)),Q(n,jd,qtn,rn(hon)),Q(n,jd,Utn,rn(pP))}function KA(){KA=F,Ddn=S(T(fs,1),gh,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),Toe=new RegExp(`[ +\r\f]+`);try{L9=S(T(LNe,1),Fn,2114,0,[new W9((kX(),zT("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",D7((KE(),KE(),P8))))),new W9(zT("yyyy-MM-dd'T'HH:mm:ss'.'SSS",D7(P8))),new W9(zT("yyyy-MM-dd'T'HH:mm:ss",D7(P8))),new W9(zT("yyyy-MM-dd'T'HH:mm",D7(P8))),new W9(zT("yyyy-MM-dd",D7(P8)))])}catch(n){if(n=It(n),!O(n,82))throw M(n)}}function ZPe(n,e){var t,i,r,c;if(r=to(n.d,1)!=0,i=Cen(n,e),i==0&&on(un(v(e.j,(W(),va)))))return 0;!on(un(v(e.j,(W(),va))))&&!on(un(v(e.j,y2)))||x(v(e.j,(cn(),Yh)))===x((lh(),k1))?e.c.mg(e.e,r):r=on(un(v(e.j,va))),sy(n,e,r,!0),on(un(v(e.j,y2)))&&U(e.j,y2,(_n(),!1)),on(un(v(e.j,va)))&&(U(e.j,va,(_n(),!1)),U(e.j,y2,!0)),t=Cen(n,e);do{if($Q(n),t==0)return 0;r=!r,c=t,sy(n,e,r,!1),t=Cen(n,e)}while(c>t);return c}function YUn(n,e){var t,i,r,c;if(r=to(n.d,1)!=0,i=kA(n,e),i==0&&on(un(v(e.j,(W(),va)))))return 0;!on(un(v(e.j,(W(),va))))&&!on(un(v(e.j,y2)))||x(v(e.j,(cn(),Yh)))===x((lh(),k1))?e.c.mg(e.e,r):r=on(un(v(e.j,va))),sy(n,e,r,!0),on(un(v(e.j,y2)))&&U(e.j,y2,(_n(),!1)),on(un(v(e.j,va)))&&(U(e.j,va,(_n(),!1)),U(e.j,y2,!0)),t=kA(n,e);do{if($Q(n),t==0)return 0;r=!r,c=t,sy(n,e,r,!1),t=kA(n,e)}while(c>t);return c}function Gen(n,e,t,i){var r,c,s,f,h,l,a,d,g;return h=mi(new V(t.a,t.b),n),l=h.a*e.b-h.b*e.a,a=e.a*i.b-e.b*i.a,d=(h.a*i.b-h.b*i.a)/a,g=l/a,a==0?l==0?(r=tt(new V(t.a,t.b),rh(new V(i.a,i.b),.5)),c=W1(n,r),s=W1(tt(new V(n.a,n.b),e),r),f=y.Math.sqrt(i.a*i.a+i.b*i.b)*.5,c=0&&d<=1&&g>=0&&g<=1?tt(new V(n.a,n.b),rh(new V(e.a,e.b),d)):null}function nIe(n,e,t){var i,r,c,s,f;if(i=u(v(n,(cn(),kH)),21),t.a>e.a&&(i.Hc((wd(),m9))?n.c.a+=(t.a-e.a)/2:i.Hc(v9)&&(n.c.a+=t.a-e.a)),t.b>e.b&&(i.Hc((wd(),y9))?n.c.b+=(t.b-e.b)/2:i.Hc(k9)&&(n.c.b+=t.b-e.b)),u(v(n,(W(),Hc)),21).Hc((pr(),cs))&&(t.a>e.a||t.b>e.b))for(f=new C(n.a);f.ae.a&&(i.Hc((wd(),m9))?n.c.a+=(t.a-e.a)/2:i.Hc(v9)&&(n.c.a+=t.a-e.a)),t.b>e.b&&(i.Hc((wd(),y9))?n.c.b+=(t.b-e.b)/2:i.Hc(k9)&&(n.c.b+=t.b-e.b)),u(v(n,(W(),Hc)),21).Hc((pr(),cs))&&(t.a>e.a||t.b>e.b))for(s=new C(n.a);s.a0?n.i:0)>e&&h>0&&(c=0,s+=h+n.i,r=y.Math.max(r,g),i+=h+n.i,h=0,g=0,t&&(++d,nn(n.n,new NM(n.s,s,n.i))),f=0),g+=l.g+(f>0?n.i:0),h=y.Math.max(h,l.f),t&&gZ(u(sn(n.n,d),209),l),c+=l.g+(f>0?n.i:0),++f;return r=y.Math.max(r,g),i+=h,t&&(n.r=r,n.d=i,kZ(n.j)),new Ho(n.s,n.t,r,i)}function xF(n){var e,t,i,r,c,s,f,h,l,a,d,g;for(n.b=!1,d=St,h=li,g=St,l=li,i=n.e.a.ec().Kc();i.Ob();)for(t=u(i.Pb(),272),r=t.a,d=y.Math.min(d,r.c),h=y.Math.max(h,r.c+r.b),g=y.Math.min(g,r.d),l=y.Math.max(l,r.d+r.a),s=new C(t.c);s.an.o.a&&(a=(h-n.o.a)/2,f.b=y.Math.max(f.b,a),f.c=y.Math.max(f.c,a))}}function rIe(n){var e,t,i,r,c,s,f,h;for(c=new XOn,$le(c,(qp(),due)),i=(r=S$(n,K(fn,J,2,0,6,1)),new Xv(new Ku(new SD(n,r).b)));i.bf?1:-1:hY(n.a,e.a,c),r==-1)d=-h,a=s==h?ZN(e.a,f,n.a,c):e$(e.a,f,n.a,c);else if(d=s,s==h){if(r==0)return dh(),O8;a=ZN(n.a,c,e.a,f)}else a=e$(n.a,c,e.a,f);return l=new Qa(d,a.length,a),Q6(l),l}function cIe(n,e){var t,i,r,c;if(c=$Un(e),!e.c&&(e.c=new q(Qu,e,9,9)),qt(new Tn(null,(!e.c&&(e.c=new q(Qu,e,9,9)),new In(e.c,16))),new H9n(c)),r=u(v(c,(W(),Hc)),21),QOe(e,r),r.Hc((pr(),cs)))for(i=new ne((!e.c&&(e.c=new q(Qu,e,9,9)),e.c));i.e!=i.i.gc();)t=u(ce(i),123),TDe(n,e,c,t);return u(z(e,(cn(),xd)),181).gc()!=0&&Aqn(e,c),on(un(v(c,ahn)))&&r.Fc(eI),kt(c,Mj)&&xjn(new XY($(R(v(c,Mj)))),c),x(z(e,Bw))===x((jl(),M1))?JLe(n,e,c):NLe(n,e,c),c}function uIe(n){var e,t,i,r,c,s,f,h;for(r=new C(n.b);r.a0?qo(t.a,0,c-1):""):(Fi(0,c-1,n.length),n.substr(0,c-1)):t?t.a:n}function oIe(n,e){var t,i,r,c,s,f,h;for(e.Ug("Sort By Input Model "+v(n,(cn(),Yh)),1),r=0,i=new C(n.b);i.a=n.b.length?(c[r++]=s.b[i++],c[r++]=s.b[i++]):i>=s.b.length?(c[r++]=n.b[t++],c[r++]=n.b[t++]):s.b[i]0?n.i:0)),++e;for(IY(n.n,h),n.d=t,n.r=i,n.g=0,n.f=0,n.e=0,n.o=St,n.p=St,c=new C(n.b);c.a0&&(r=(!n.n&&(n.n=new q(Ar,n,1,7)),u(L(n.n,0),135)).a,!r||Be(Be((e.a+=' "',e),r),'"'))),t=(!n.b&&(n.b=new Nn(he,n,4,7)),!(n.b.i<=1&&(!n.c&&(n.c=new Nn(he,n,5,8)),n.c.i<=1))),t?e.a+=" [":e.a+=" ",Be(e,RX(new yD,new ne(n.b))),t&&(e.a+="]"),e.a+=iR,t&&(e.a+="["),Be(e,RX(new yD,new ne(n.c))),t&&(e.a+="]"),e.a)}function fIe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn;for(H=n.c,X=e.c,t=qr(H.a,n,0),i=qr(X.a,e,0),D=u(F0(n,(gr(),Vu)).Kc().Pb(),12),kn=u(F0(n,Jc).Kc().Pb(),12),N=u(F0(e,Vu).Kc().Pb(),12),Rn=u(F0(e,Jc).Kc().Pb(),12),A=fh(D.e),en=fh(kn.g),I=fh(N.e),jn=fh(Rn.g),uw(n,i,X),s=I,a=0,m=s.length;aa?new ed((lf(),zw),t,e,l-a):l>0&&a>0&&(new ed((lf(),zw),e,t,0),new ed(zw,t,e,0))),s)}function aIe(n,e,t){var i,r,c;for(n.a=new Z,c=ge(e.b,0);c.b!=c.d.c;){for(r=u(be(c),40);u(v(r,(lc(),Sh)),17).a>n.a.c.length-1;)nn(n.a,new bi(t2,Arn));i=u(v(r,Sh),17).a,t==(ci(),Br)||t==Xr?(r.e.a<$(R(u(sn(n.a,i),42).a))&&QO(u(sn(n.a,i),42),r.e.a),r.e.a+r.f.a>$(R(u(sn(n.a,i),42).b))&&YO(u(sn(n.a,i),42),r.e.a+r.f.a)):(r.e.b<$(R(u(sn(n.a,i),42).a))&&QO(u(sn(n.a,i),42),r.e.b),r.e.b+r.f.b>$(R(u(sn(n.a,i),42).b))&&YO(u(sn(n.a,i),42),r.e.b+r.f.b))}}function eGn(n,e,t,i){var r,c,s,f,h,l,a;if(c=KT(i),f=on(un(v(i,(cn(),uhn)))),(f||on(un(v(n,wI))))&&!pg(u(v(n,Kt),101)))r=zp(c),h=Nen(n,t,t==(gr(),Jc)?r:Bk(r));else switch(h=new Pc,ic(h,n),e?(a=h.n,a.a=e.a-n.n.a,a.b=e.b-n.n.b,o_n(a,0,0,n.o.a,n.o.b),gi(h,jUn(h,c))):(r=zp(c),gi(h,t==(gr(),Jc)?r:Bk(r))),s=u(v(i,(W(),Hc)),21),l=h.j,c.g){case 2:case 1:(l==(tn(),Xn)||l==ae)&&s.Fc((pr(),m2));break;case 4:case 3:(l==(tn(),Zn)||l==Wn)&&s.Fc((pr(),m2))}return h}function tGn(n,e){var t,i,r,c,s,f;for(s=new sd(new qa(n.f.b).a);s.b;){if(c=L0(s),r=u(c.ld(),602),e==1){if(r.Af()!=(ci(),us)&&r.Af()!=Vf)continue}else if(r.Af()!=(ci(),Br)&&r.Af()!=Xr)continue;switch(i=u(u(c.md(),42).b,86),f=u(u(c.md(),42).a,194),t=f.c,r.Af().g){case 2:i.g.c=n.e.a,i.g.b=y.Math.max(1,i.g.b+t);break;case 1:i.g.c=i.g.c+t,i.g.b=y.Math.max(1,i.g.b-t);break;case 4:i.g.d=n.e.b,i.g.a=y.Math.max(1,i.g.a+t);break;case 3:i.g.d=i.g.d+t,i.g.a=y.Math.max(1,i.g.a-t)}}}function dIe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(f=K(ye,Ke,28,e.b.c.length,15,1),l=K(D_,G,273,e.b.c.length,0,1),h=K(Qh,b1,10,e.b.c.length,0,1),d=n.a,g=0,p=d.length;g0&&h[i]&&(m=yg(n.b,h[i],r)),k=y.Math.max(k,r.c.c.b+m);for(c=new C(a.e);c.a1)throw M(new Gn(Zy));h||(c=Fh(e,i.Kc().Pb()),s.Fc(c))}return JQ(n,pnn(n,e,t),s)}function HA(n,e,t){var i,r,c,s,f,h,l,a;if(Sl(n.e,e))h=(dr(),u(e,69).xk()?new eM(e,n):new j7(e,n)),jA(h.c,h.b),I6(h,u(t,16));else{for(a=ru(n.e.Dh(),e),i=u(n.g,124),s=0;s"}h!=null&&(e.a+=""+h)}else n.e?(f=n.e.zb,f!=null&&(e.a+=""+f)):(e.a+="?",n.b?(e.a+=" super ",_F(n.b,e)):n.f&&(e.a+=" extends ",_F(n.f,e)))}function mIe(n){n.b=null,n.a=null,n.o=null,n.q=null,n.v=null,n.w=null,n.B=null,n.p=null,n.Q=null,n.R=null,n.S=null,n.T=null,n.U=null,n.V=null,n.W=null,n.bb=null,n.eb=null,n.ab=null,n.H=null,n.db=null,n.c=null,n.d=null,n.f=null,n.n=null,n.r=null,n.s=null,n.u=null,n.G=null,n.J=null,n.e=null,n.j=null,n.i=null,n.g=null,n.k=null,n.t=null,n.F=null,n.I=null,n.L=null,n.M=null,n.O=null,n.P=null,n.$=null,n.N=null,n.Z=null,n.cb=null,n.K=null,n.D=null,n.A=null,n.C=null,n._=null,n.fb=null,n.X=null,n.Y=null,n.gb=!1,n.hb=!1}function vIe(n){var e,t,i,r;if(i=ZF((!n.c&&(n.c=Y7(vc(n.f))),n.c),0),n.e==0||n.a==0&&n.f!=-1&&n.e<0)return i;if(e=xQ(n)<0?1:0,t=n.e,r=(i.length+1+y.Math.abs(wi(n.e)),new lp),e==1&&(r.a+="-"),n.e>0)if(t-=i.length-e,t>=0){for(r.a+="0.";t>Id.length;t-=Id.length)QSn(r,Id);$An(r,Id,wi(t)),Be(r,(zn(e,i.length+1),i.substr(e)))}else t=e-t,Be(r,qo(i,e,wi(t))),r.a+=".",Be(r,$W(i,wi(t)));else{for(Be(r,(zn(e,i.length+1),i.substr(e)));t<-Id.length;t+=Id.length)QSn(r,Id);$An(r,Id,wi(-t))}return r.a}function HF(n){var e,t,i,r,c,s,f,h,l;return!(n.k!=(Vn(),zt)||n.j.c.length<=1||(c=u(v(n,(cn(),Kt)),101),c==(Oi(),qc))||(r=(cw(),(n.q?n.q:(Dn(),Dn(),Wh))._b(db)?i=u(v(n,db),203):i=u(v(Hi(n),W8),203),i),r==TI)||!(r==S2||r==A2)&&(s=$(R(rw(n,J8))),e=u(v(n,Aj),140),!e&&(e=new mV(s,s,s,s)),l=uc(n,(tn(),Wn)),h=e.d+e.a+(l.gc()-1)*s,h>n.o.b||(t=uc(n,Zn),f=e.d+e.a+(t.gc()-1)*s,f>n.o.b)))}function kIe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;e.Ug("Orthogonal edge routing",1),l=$(R(v(n,(cn(),T2)))),t=$(R(v(n,C2))),i=$(R(v(n,Bd))),g=new lN(0,t),j=0,s=new xi(n.b,0),f=null,a=null,h=null,d=null;do a=s.b0?(p=(m-1)*t,f&&(p+=i),a&&(p+=i),pe||on(un(z(h,(Bf(),Kj)))))&&(r=0,c+=a.b+t,Bn(d.c,a),a=new dJ(c,t),i=new U$(0,a.f,a,t),wT(a,i),r=0),i.b.c.length==0||!on(un(z(At(h),(Bf(),Lq))))&&(h.f>=i.o&&h.f<=i.f||i.a*.5<=h.f&&i.a*1.5>=h.f)?xY(i,h):(s=new U$(i.s+i.r+t,a.f,a,t),wT(a,s),xY(s,h)),r=h.i+h.g;return Bn(d.c,a),d}function W5(n){var e,t,i,r;if(!(n.b==null||n.b.length<=2)&&!n.a){for(e=0,r=0;r=n.b[r+1])r+=2;else if(t0)for(i=new _u(u(ot(n.a,c),21)),Dn(),Yt(i,new LG(e)),r=new xi(c.b,0);r.b0&&i>=-6?i>=0?M7(c,t-wi(n.e),"."):(L$(c,e-1,e-1,"0."),M7(c,e+1,hh(Id,0,-wi(i)-1))):(t-e>=1&&(M7(c,e,"."),++t),M7(c,t,"E"),i>0&&M7(c,++t,"+"),M7(c,++t,""+H6(vc(i)))),n.g=c.a,n.g))}function IIe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en;i=$(R(v(e,(cn(),fhn)))),H=u(v(e,Q8),17).a,g=4,r=3,X=20/H,p=!1,h=0,s=et;do{for(c=h!=1,d=h!=0,en=0,j=n.a,I=0,N=j.length;IH)?(h=2,s=et):h==0?(h=1,s=en):(h=0,s=en)):(p=en>=s||s-en0?1:s0(isNaN(i),isNaN(0)))>=0^(Rs(jh),(y.Math.abs(f)<=jh||f==0||isNaN(f)&&isNaN(0)?0:f<0?-1:f>0?1:s0(isNaN(f),isNaN(0)))>=0)?y.Math.max(f,i):(Rs(jh),(y.Math.abs(i)<=jh||i==0||isNaN(i)&&isNaN(0)?0:i<0?-1:i>0?1:s0(isNaN(i),isNaN(0)))>0?y.Math.sqrt(f*f+i*i):-y.Math.sqrt(f*f+i*i))}function pd(n,e){var t,i,r,c,s,f;if(e){if(!n.a&&(n.a=new BE),n.e==2){FE(n.a,e);return}if(e.e==1){for(r=0;r=hr?Er(t,$Y(i)):T4(t,i&ui),s=new IN(10,null,0),wwe(n.a,s,f-1)):(t=(s.Mm().length+c,new r6),Er(t,s.Mm())),e.e==0?(i=e.Km(),i>=hr?Er(t,$Y(i)):T4(t,i&ui)):Er(t,e.Mm()),u(s,530).b=t.a}}function LIe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(!t.dc()){for(f=0,g=0,i=t.Kc(),m=u(i.Pb(),17).a;f1&&(h=l.Hg(h,n.a,f));return h.c.length==1?u(sn(h,h.c.length-1),238):h.c.length==2?jIe((Ln(0,h.c.length),u(h.c[0],238)),(Ln(1,h.c.length),u(h.c[1],238)),s,c):null}function BIe(n,e,t){var i,r,c,s,f,h,l;for(t.Ug("Find roots",1),n.a.c.length=0,r=ge(e.b,0);r.b!=r.d.c;)i=u(be(r),40),i.b.b==0&&(U(i,(pt(),Ca),(_n(),!0)),nn(n.a,i));switch(n.a.c.length){case 0:c=new q$(0,e,"DUMMY_ROOT"),U(c,(pt(),Ca),(_n(),!0)),U(c,tq,!0),xe(e.b,c);break;case 1:break;default:for(s=new q$(0,e,IS),h=new C(n.a);h.a=y.Math.abs(i.b)?(i.b=0,c.d+c.a>s.d&&c.ds.c&&c.c0){if(e=new gX(n.i,n.g),t=n.i,c=t<100?null:new F1(t),n.Tj())for(i=0;i0){for(f=n.g,l=n.i,t5(n),c=l<100?null:new F1(l),i=0;i>13|(n.m&15)<<9,r=n.m>>4&8191,c=n.m>>17|(n.h&255)<<5,s=(n.h&1048320)>>8,f=e.l&8191,h=e.l>>13|(e.m&15)<<9,l=e.m>>4&8191,a=e.m>>17|(e.h&255)<<5,d=(e.h&1048320)>>8,jn=t*f,kn=i*f,Rn=r*f,Kn=c*f,ue=s*f,h!=0&&(kn+=t*h,Rn+=i*h,Kn+=r*h,ue+=c*h),l!=0&&(Rn+=t*l,Kn+=i*l,ue+=r*l),a!=0&&(Kn+=t*a,ue+=i*a),d!=0&&(ue+=t*d),p=jn&ro,m=(kn&511)<<13,g=p+m,j=jn>>22,A=kn>>9,I=(Rn&262143)<<4,D=(Kn&31)<<17,k=j+A+I+D,H=Rn>>18,X=Kn>>5,en=(ue&4095)<<8,N=H+X+en,k+=g>>22,g&=ro,N+=k>>22,k&=ro,N&=Il,Yc(g,k,N)}function dGn(n){var e,t,i,r,c,s,f;if(f=u(sn(n.j,0),12),f.g.c.length!=0&&f.e.c.length!=0)throw M(new Or("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(f.g.c.length!=0){for(c=St,t=new C(f.g);t.a4)if(n.fk(e)){if(n.al()){if(r=u(e,54),i=r.Eh(),h=i==n.e&&(n.ml()?r.yh(r.Fh(),n.il())==n.jl():-1-r.Fh()==n.Lj()),n.nl()&&!h&&!i&&r.Jh()){for(c=0;c0&&b_n(n,f,d);for(r=new C(d);r.an.d[s.p]&&(t+=SJ(n.b,c)*u(h.b,17).a,V1(n.a,Y(c)));for(;!i6(n.a);)oQ(n.b,u(Sp(n.a),17).a)}return t}function qIe(n,e){var t,i,r,c,s,f,h,l,a,d;if(a=u(v(n,(W(),gc)),64),i=u(sn(n.j,0),12),a==(tn(),Xn)?gi(i,ae):a==ae&&gi(i,Xn),u(v(e,(cn(),xd)),181).Hc((go(),Gd))){if(h=$(R(v(n,Av))),l=$(R(v(n,Sv))),s=$(R(v(n,qw))),f=u(v(e,_w),21),f.Hc((zu(),Fl)))for(t=l,d=n.o.a/2-i.n.a,c=new C(i.f);c.a0&&(l=n.n.a/c);break;case 2:case 4:r=n.i.o.b,r>0&&(l=n.n.b/r)}U(n,(W(),fb),l)}if(h=n.o,s=n.a,i)s.a=i.a,s.b=i.b,n.d=!0;else if(e!=Jf&&e!=Sa&&f!=sc)switch(f.g){case 1:s.a=h.a/2;break;case 2:s.a=h.a,s.b=h.b/2;break;case 3:s.a=h.a/2,s.b=h.b;break;case 4:s.b=h.b/2}else s.a=h.a/2,s.b=h.b/2}function J5(n){var e,t,i,r,c,s,f,h,l,a;if(n.Pj())if(a=n.Ej(),h=n.Qj(),a>0)if(e=new KQ(n.pj()),t=a,c=t<100?null:new F1(t),I7(n,t,e.g),r=t==1?n.Ij(4,L(e,0),null,0,h):n.Ij(6,e,null,-1,h),n.Mj()){for(i=new ne(e);i.e!=i.i.gc();)c=n.Oj(ce(i),c);c?(c.nj(r),c.oj()):n.Jj(r)}else c?(c.nj(r),c.oj()):n.Jj(r);else I7(n,n.Ej(),n.Fj()),n.Jj(n.Ij(6,(Dn(),sr),null,-1,h));else if(n.Mj())if(a=n.Ej(),a>0){for(f=n.Fj(),l=a,I7(n,a,f),c=l<100?null:new F1(l),i=0;i1&&Su(s)*ao(s)/2>f[0]){for(c=0;cf[c];)++c;m=new Jl(k,0,c+1),d=new hT(m),a=Su(s)/ao(s),h=QF(d,e,new cp,t,i,r,a),tt(sf(d.e),h),Mp(ym(g,d),_m),p=new Jl(k,c+1,k.c.length),CZ(g,p),k.c.length=0,l=0,bPn(f,f.length,0)}else j=g.b.c.length==0?null:sn(g.b,0),j!=null&&M$(g,0),l>0&&(f[l]=f[l-1]),f[l]+=Su(s)*ao(s),++l,Bn(k.c,s);return k}function WIe(n,e){var t,i,r,c;t=e.b,c=new _u(t.j),r=0,i=t.j,i.c.length=0,g0(u(od(n.b,(tn(),Xn),(D0(),ub)),15),t),r=qk(c,r,new bpn,i),g0(u(od(n.b,Xn,ma),15),t),r=qk(c,r,new opn,i),g0(u(od(n.b,Xn,cb),15),t),g0(u(od(n.b,Zn,ub),15),t),g0(u(od(n.b,Zn,ma),15),t),r=qk(c,r,new wpn,i),g0(u(od(n.b,Zn,cb),15),t),g0(u(od(n.b,ae,ub),15),t),r=qk(c,r,new gpn,i),g0(u(od(n.b,ae,ma),15),t),r=qk(c,r,new ppn,i),g0(u(od(n.b,ae,cb),15),t),g0(u(od(n.b,Wn,ub),15),t),r=qk(c,r,new hpn,i),g0(u(od(n.b,Wn,ma),15),t),g0(u(od(n.b,Wn,cb),15),t)}function JIe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p;for(f=new C(e);f.a.5?A-=s*2*(m-.5):m<.5&&(A+=c*2*(.5-m)),r=f.d.b,Aj.a-k-a&&(A=j.a-k-a),f.n.a=e+A}}function nOe(n){var e,t,i,r,c;if(i=u(v(n,(cn(),ou)),171),i==(Yo(),ka)){for(t=new te(re(ji(n).a.Kc(),new En));pe(t);)if(e=u(fe(t),18),!SLn(e))throw M(new _l(oR+Gk(n)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(i==xw){for(c=new te(re(Qt(n).a.Kc(),new En));pe(c);)if(r=u(fe(c),18),!SLn(r))throw M(new _l(oR+Gk(n)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function gy(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m;if(n.e&&n.c.c>19&&(e=tm(e),h=!h),s=BMe(e),c=!1,r=!1,i=!1,n.h==Ty&&n.m==0&&n.l==0)if(r=!0,c=!0,s==-1)n=nTn((R4(),hun)),i=!0,h=!h;else return f=Xnn(n,s),h&&H$(f),t&&(ba=Yc(0,0,0)),f;else n.h>>19&&(c=!0,n=tm(n),i=!0,h=!h);return s!=-1?d6e(n,s,h,c,t):DZ(n,e)<0?(t&&(c?ba=tm(n):ba=Yc(n.l,n.m,n.h)),Yc(0,0,0)):$Se(i?n:Yc(n.l,n.m,n.h),e,h,c,r,t)}function zF(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m;if(s=n.e,h=e.e,s==0)return e;if(h==0)return n;if(c=n.d,f=e.d,c+f==2)return t=vi(n.a[0],mr),i=vi(e.a[0],mr),s==h?(a=nr(t,i),m=Ae(a),p=Ae(U1(a,32)),p==0?new gl(s,m):new Qa(s,2,S(T(ye,1),Ke,28,15,[m,p]))):(dh(),AC(s<0?bs(i,t):bs(t,i),0)?ta(s<0?bs(i,t):bs(t,i)):G6(ta(n1(s<0?bs(i,t):bs(t,i)))));if(s==h)g=s,d=c>=f?e$(n.a,c,e.a,f):e$(e.a,f,n.a,c);else{if(r=c!=f?c>f?1:-1:hY(n.a,e.a,c),r==0)return dh(),O8;r==1?(g=s,d=ZN(n.a,c,e.a,f)):(g=h,d=ZN(e.a,f,n.a,c))}return l=new Qa(g,d.length,d),Q6(l),l}function tOe(n,e){var t,i,r,c,s,f,h;if(!(n.g>e.f||e.g>n.f)){for(t=0,i=0,s=n.w.a.ec().Kc();s.Ob();)r=u(s.Pb(),12),nx(cc(S(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&++t;for(f=n.r.a.ec().Kc();f.Ob();)r=u(f.Pb(),12),nx(cc(S(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&--t;for(h=e.w.a.ec().Kc();h.Ob();)r=u(h.Pb(),12),nx(cc(S(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&++i;for(c=e.r.a.ec().Kc();c.Ob();)r=u(c.Pb(),12),nx(cc(S(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&--i;t=0)return t;switch(y0(Lr(n,t))){case 2:{if(An("",r1(n,t.qk()).xe())){if(h=G7(Lr(n,t)),f=P4(Lr(n,t)),a=Qnn(n,e,h,f),a)return a;for(r=Aen(n,e),s=0,d=r.gc();s1)throw M(new Gn(Zy));for(a=ru(n.e.Dh(),e),i=u(n.g,124),s=0;s1,l=new Of(g.b);tc(l.a)||tc(l.b);)h=u(tc(l.a)?E(l.a):E(l.b),18),d=h.c==g?h.d:h.c,y.Math.abs(cc(S(T(Ei,1),J,8,0,[d.i.n,d.n,d.a])).b-s.b)>1&&qTe(n,h,s,c,g)}}function sOe(n){var e,t,i,r,c,s;if(r=new xi(n.e,0),i=new xi(n.a,0),n.d)for(t=0;t_R;){for(c=e,s=0;y.Math.abs(e-c)<_R;)++s,e=$((oe(r.b0),r.a.Xb(r.c=--r.b),EPe(n,n.b-s,c,i,r),oe(r.b0),i.a.Xb(i.c=--i.b)}if(!n.d)for(t=0;t0?(n.f[a.p]=p/(a.e.c.length+a.g.c.length),n.c=y.Math.min(n.c,n.f[a.p]),n.b=y.Math.max(n.b,n.f[a.p])):f&&(n.f[a.p]=p)}}function hOe(n){n.b=null,n.bb=null,n.fb=null,n.qb=null,n.a=null,n.c=null,n.d=null,n.e=null,n.f=null,n.n=null,n.M=null,n.L=null,n.Q=null,n.R=null,n.K=null,n.db=null,n.eb=null,n.g=null,n.i=null,n.j=null,n.k=null,n.gb=null,n.o=null,n.p=null,n.q=null,n.r=null,n.$=null,n.ib=null,n.S=null,n.T=null,n.t=null,n.s=null,n.u=null,n.v=null,n.w=null,n.B=null,n.A=null,n.C=null,n.D=null,n.F=null,n.G=null,n.H=null,n.I=null,n.J=null,n.P=null,n.Z=null,n.U=null,n.V=null,n.W=null,n.X=null,n.Y=null,n._=null,n.ab=null,n.cb=null,n.hb=null,n.nb=null,n.lb=null,n.mb=null,n.ob=null,n.pb=null,n.jb=null,n.kb=null,n.N=!1,n.O=!1}function lOe(n,e,t){var i,r,c,s;for(t.Ug("Graph transformation ("+n.a+")",1),s=T0(e.a),c=new C(e.b);c.a=f.b.c)&&(f.b=e),(!f.c||e.c<=f.c.c)&&(f.d=f.c,f.c=e),(!f.e||e.d>=f.e.d)&&(f.e=e),(!f.f||e.d<=f.f.d)&&(f.f=e);return i=new eA((nm(),rb)),Z7(n,IZn,new Ku(S(T(aj,1),Fn,382,0,[i]))),s=new eA(Iw),Z7(n,PZn,new Ku(S(T(aj,1),Fn,382,0,[s]))),r=new eA(Pw),Z7(n,SZn,new Ku(S(T(aj,1),Fn,382,0,[r]))),c=new eA(a2),Z7(n,AZn,new Ku(S(T(aj,1),Fn,382,0,[c]))),pF(i.c,rb),pF(r.c,Pw),pF(c.c,a2),pF(s.c,Iw),f.a.c.length=0,hi(f.a,i.c),hi(f.a,Qo(r.c)),hi(f.a,c.c),hi(f.a,Qo(s.c)),f}function bOe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m;for(e.Ug(SVn,1),p=$(R(z(n,(_h(),Xw)))),s=$(R(z(n,(Bf(),b9)))),f=u(z(n,d9),107),NQ((!n.a&&(n.a=new q(Qe,n,10,11)),n.a)),a=fGn((!n.a&&(n.a=new q(Qe,n,10,11)),n.a),p,s),!n.a&&(n.a=new q(Qe,n,10,11)),l=new C(a);l.a0&&(n.a=h+(p-1)*c,e.c.b+=n.a,e.f.b+=n.a)),m.a.gc()!=0&&(g=new lN(1,c),p=ntn(g,e,m,k,e.f.b+h-e.c.b),p>0&&(e.f.b+=h+(p-1)*c))}function gGn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N;for(a=$(R(v(n,(cn(),wb)))),i=$(R(v(n,vhn))),g=new _O,U(g,wb,a+i),l=e,A=l.d,k=l.c.i,I=l.d.i,j=EX(k.c),D=EX(I.c),r=new Z,d=j;d<=D;d++)f=new Tl(n),_a(f,(Vn(),Mi)),U(f,(W(),st),l),U(f,Kt,(Oi(),qc)),U(f,yI,g),p=u(sn(n.b,d),30),d==j?uw(f,p.a.c.length-t,p):$i(f,p),N=$(R(v(l,m1))),N<0&&(N=0,U(l,m1,N)),f.o.b=N,m=y.Math.floor(N/2),s=new Pc,gi(s,(tn(),Wn)),ic(s,f),s.n.b=m,h=new Pc,gi(h,Zn),ic(h,f),h.n.b=m,Ii(l,s),c=new E0,Ur(c,l),U(c,Fr,null),Zi(c,h),Ii(c,A),ike(f,l,c),Bn(r.c,c),l=c;return r}function XF(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D;for(h=u(h1(n,(tn(),Wn)).Kc().Pb(),12).e,p=u(h1(n,Zn).Kc().Pb(),12).g,f=h.c.length,D=Pf(u(sn(n.j,0),12));f-- >0;){for(k=(Ln(0,h.c.length),u(h.c[0],18)),r=(Ln(0,p.c.length),u(p.c[0],18)),I=r.d.e,c=qr(I,r,0),Bpe(k,r.d,c),Zi(r,null),Ii(r,null),m=k.a,e&&xe(m,new rr(D)),i=ge(r.a,0);i.b!=i.d.c;)t=u(be(i),8),xe(m,new rr(t));for(A=k.b,g=new C(r.b);g.as)&&fi(n.b,u(j.b,18));++f}c=s}}}function Qen(n,e){var t;if(e==null||An(e,gu)||e.length==0&&n.k!=(l1(),L3))return null;switch(n.k.g){case 1:return JT(e,nv)?(_n(),ov):JT(e,cK)?(_n(),wa):null;case 2:try{return Y(Ao(e,Wi,et))}catch(i){if(i=It(i),O(i,130))return null;throw M(i)}case 4:try{return sw(e)}catch(i){if(i=It(i),O(i,130))return null;throw M(i)}case 3:return e;case 5:return FFn(n),J_n(n,e);case 6:return FFn(n),wMe(n,n.a,e);case 7:try{return t=TCe(n),t.cg(e),t}catch(i){if(i=It(i),O(i,33))return null;throw M(i)}default:throw M(new Or("Invalid type set for this layout option."))}}function Yen(n){var e;switch(n.d){case 1:{if(n.Sj())return n.o!=-2;break}case 2:{if(n.Sj())return n.o==-2;break}case 3:case 5:case 4:case 6:case 7:return n.o>-2;default:return!1}switch(e=n.Rj(),n.p){case 0:return e!=null&&on(un(e))!=M6(n.k,0);case 1:return e!=null&&u(e,222).a!=Ae(n.k)<<24>>24;case 2:return e!=null&&u(e,180).a!=(Ae(n.k)&ui);case 6:return e!=null&&M6(u(e,168).a,n.k);case 5:return e!=null&&u(e,17).a!=Ae(n.k);case 7:return e!=null&&u(e,191).a!=Ae(n.k)<<16>>16;case 3:return e!=null&&$(R(e))!=n.j;case 4:return e!=null&&u(e,161).a!=n.j;default:return e==null?n.n!=null:!rt(e,n.n)}}function py(n,e,t){var i,r,c,s;return n.ol()&&n.nl()&&(s=cN(n,u(t,58)),x(s)!==x(t))?(n.xj(e),n.Dj(e,kNn(n,e,s)),n.al()&&(c=(r=u(t,54),n.ml()?n.kl()?r.Th(n.b,br(u($n(au(n.b),n.Lj()),19)).n,u($n(au(n.b),n.Lj()).Hk(),29).kk(),null):r.Th(n.b,Ot(r.Dh(),br(u($n(au(n.b),n.Lj()),19))),null,null):r.Th(n.b,-1-n.Lj(),null,null)),!u(s,54).Ph()&&(c=(i=u(s,54),n.ml()?n.kl()?i.Rh(n.b,br(u($n(au(n.b),n.Lj()),19)).n,u($n(au(n.b),n.Lj()).Hk(),29).kk(),c):i.Rh(n.b,Ot(i.Dh(),br(u($n(au(n.b),n.Lj()),19))),null,c):i.Rh(n.b,-1-n.Lj(),null,c))),c&&c.oj()),fo(n.b)&&n.Jj(n.Ij(9,t,s,e,!1)),s):t}function pGn(n){var e,t,i,r,c,s,f,h,l,a;for(i=new Z,s=new C(n.e.a);s.a0&&(s=y.Math.max(s,jxn(n.C.b+i.d.b,r))),a=i,d=r,g=c;n.C&&n.C.c>0&&(p=g+n.C.c,l&&(p+=a.d.c),s=y.Math.max(s,(Mf(),Rs(Kf),y.Math.abs(d-1)<=Kf||d==1||isNaN(d)&&isNaN(1)?0:p/(1-d)))),t.n.b=0,t.a.a=s}function vGn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p;if(t=u(Cr(n.b,e),127),h=u(u(ot(n.r,e),21),87),h.dc()){t.n.d=0,t.n.a=0;return}for(l=n.u.Hc((zu(),Fl)),s=0,n.A.Hc((go(),Gd))&&Vqn(n,e),f=h.Kc(),a=null,g=0,d=0;f.Ob();)i=u(f.Pb(),117),c=$(R(i.b.of((KC(),bP)))),r=i.b.Mf().b,a?(p=d+a.d.a+n.w+i.d.d,s=y.Math.max(s,(Mf(),Rs(Kf),y.Math.abs(g-c)<=Kf||g==c||isNaN(g)&&isNaN(c)?0:p/(c-g)))):n.C&&n.C.d>0&&(s=y.Math.max(s,jxn(n.C.d+i.d.d,c))),a=i,g=c,d=r;n.C&&n.C.a>0&&(p=d+n.C.a,l&&(p+=a.d.a),s=y.Math.max(s,(Mf(),Rs(Kf),y.Math.abs(g-1)<=Kf||g==1||isNaN(g)&&isNaN(1)?0:p/(1-g)))),t.n.d=0,t.a.b=s}function pOe(n,e,t,i,r,c,s,f){var h,l,a,d,g,p,m,k,j,A;if(m=!1,l=cen(t.q,e.f+e.b-t.q.f),p=i.f>e.b&&f,A=r-(t.q.e+l-s),d=(h=V5(i,A,!1),h.a),p&&d>i.f)return!1;if(p){for(g=0,j=new C(e.d);j.a=(Ln(c,n.c.length),u(n.c[c],186)).e,!p&&d>e.b&&!a)?!1:((a||p||d<=e.b)&&(a&&d>e.b?(t.d=d,sk(t,c_n(t,d))):(EKn(t.q,l),t.c=!0),sk(i,r-(t.s+t.r)),Uk(i,t.q.e+t.q.d,e.f),wT(e,i),n.c.length>c&&(Xk((Ln(c,n.c.length),u(n.c[c],186)),i),(Ln(c,n.c.length),u(n.c[c],186)).a.c.length==0&&Yl(n,c)),m=!0),m)}function kGn(n,e,t){var i,r,c,s,f,h;for(this.g=n,f=e.d.length,h=t.d.length,this.d=K(Qh,b1,10,f+h,0,1),s=0;s0?m$(this,this.f/this.a):Tf(e.g,e.d[0]).a!=null&&Tf(t.g,t.d[0]).a!=null?m$(this,($(Tf(e.g,e.d[0]).a)+$(Tf(t.g,t.d[0]).a))/2):Tf(e.g,e.d[0]).a!=null?m$(this,Tf(e.g,e.d[0]).a):Tf(t.g,t.d[0]).a!=null&&m$(this,Tf(t.g,t.d[0]).a)}function mOe(n,e){var t,i,r,c,s,f,h,l,a,d;for(n.a=new ZPn(n6e(E9)),i=new C(e.a);i.a=1&&(j-s>0&&d>=0?(h.n.a+=k,h.n.b+=c*s):j-s<0&&a>=0&&(h.n.a+=k*j,h.n.b+=c));n.o.a=e.a,n.o.b=e.b,U(n,(cn(),xd),(go(),i=u(uf(I9),9),new _o(i,u($s(i,i.length),9),0)))}function yOe(n,e,t,i,r,c){var s;if(!(e==null||!lx(e,Kdn,_dn)))throw M(new Gn("invalid scheme: "+e));if(!n&&!(t!=null&&th(t,wu(35))==-1&&t.length>0&&(zn(0,t.length),t.charCodeAt(0)!=47)))throw M(new Gn("invalid opaquePart: "+t));if(n&&!(e!=null&&r7(jO,e.toLowerCase()))&&!(t==null||!lx(t,N9,$9)))throw M(new Gn(tJn+t));if(n&&e!=null&&r7(jO,e.toLowerCase())&&!nye(t))throw M(new Gn(tJn+t));if(!u8e(i))throw M(new Gn("invalid device: "+i));if(!U6e(r))throw s=r==null?"invalid segments: null":"invalid segment: "+K6e(r),M(new Gn(s));if(!(c==null||th(c,wu(35))==-1))throw M(new Gn("invalid query: "+c))}function jOe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A;if(t.Ug("Network simplex layering",1),n.b=e,A=u(v(e,(cn(),Q8)),17).a*4,j=n.b.a,j.c.length<1){t.Vg();return}for(c=vSe(n,j),k=null,r=ge(c,0);r.b!=r.d.c;){for(i=u(be(r),15),f=A*wi(y.Math.sqrt(i.gc())),s=NSe(i),PF(mz(jhe(vz(BL(s),f),k),!0),t.eh(1)),g=n.b.b,m=new C(s.a);m.a1)for(k=K(ye,Ke,28,n.b.b.c.length,15,1),d=0,l=new C(n.b.b);l.a0){QT(n,t,0),t.a+=String.fromCharCode(i),r=U8e(e,c),QT(n,t,r),c+=r-1;continue}i==39?c+10&&m.a<=0){h.c.length=0,Bn(h.c,m);break}p=m.i-m.d,p>=f&&(p>f&&(h.c.length=0,f=p),Bn(h.c,m))}h.c.length!=0&&(s=u(sn(h,cA(r,h.c.length)),118),D.a.Bc(s)!=null,s.g=a++,Ken(s,e,t,i),h.c.length=0)}for(j=n.c.length+1,g=new C(n);g.ali||e.o==Rd&&a=f&&r<=h)f<=r&&c<=h?(t[a++]=r,t[a++]=c,i+=2):f<=r?(t[a++]=r,t[a++]=h,n.b[i]=h+1,s+=2):c<=h?(t[a++]=f,t[a++]=c,i+=2):(t[a++]=f,t[a++]=h,n.b[i]=h+1);else if(hsa)&&f<10);yz(n.c,new Ybn),CGn(n),pwe(n.c),aOe(n.f)}function OOe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(t=u(v(n,(cn(),Kt)),101),s=n.f,c=n.d,f=s.a+c.b+c.c,h=0-c.d-n.c.b,a=s.b+c.d+c.a-n.c.b,l=new Z,d=new Z,r=new C(e);r.a=2){for(h=ge(t,0),s=u(be(h),8),f=u(be(h),8);f.a0&&Sk(l,!0,(ci(),Xr)),f.k==(Vn(),Zt)&&sIn(l),Xe(n.f,f,e)}}function NOe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N;for(r=u(v(n,(pt(),f9)),27),l=et,a=et,f=Wi,h=Wi,D=ge(n.b,0);D.b!=D.d.c;)A=u(be(D),40),p=A.e,m=A.f,l=y.Math.min(l,p.a-m.a/2),a=y.Math.min(a,p.b-m.b/2),f=y.Math.max(f,p.a+m.a/2),h=y.Math.max(h,p.b+m.b/2);for(g=u(z(r,(lc(),Iln)),107),I=ge(n.b,0);I.b!=I.d.c;)A=u(be(I),40),d=v(A,f9),O(d,207)&&(c=u(d,27),Ro(c,A.e.a,A.e.b),uy(c,A));for(j=ge(n.a,0);j.b!=j.d.c;)k=u(be(j),65),i=u(v(k,f9),74),i&&(e=k.a,t=zg(i,!0,!0),dy(e,t));N=f-l+(g.b+g.c),s=h-a+(g.d+g.a),on(un(z(r,(qe(),Vw))))||G0(r,N,s,!1,!1),ht(r,F2,N-(g.b+g.c)),ht(r,x2,s-(g.d+g.a))}function TGn(n,e){var t,i,r,c,s,f,h,l,a,d;for(h=!0,r=0,l=n.g[e.p],a=e.o.b+n.o,t=n.d[e.p][2],Go(n.b,l,Y(u(sn(n.b,l),17).a-1+t)),Go(n.c,l,$(R(sn(n.c,l)))-a+t*n.f),++l,l>=n.j?(++n.j,nn(n.b,Y(1)),nn(n.c,a)):(i=n.d[e.p][1],Go(n.b,l,Y(u(sn(n.b,l),17).a+1-i)),Go(n.c,l,$(R(sn(n.c,l)))+a-i*n.f)),(n.r==(gs(),Sj)&&(u(sn(n.b,l),17).a>n.k||u(sn(n.b,l-1),17).a>n.k)||n.r==Pj&&($(R(sn(n.c,l)))>n.n||$(R(sn(n.c,l-1)))>n.n))&&(h=!1),s=new te(re(ji(e).a.Kc(),new En));pe(s);)c=u(fe(s),18),f=c.c.i,n.g[f.p]==l&&(d=TGn(n,f),r=r+u(d.a,17).a,h=h&&on(un(d.b)));return n.g[e.p]=l,r=r+n.d[e.p][0],new bi(Y(r),(_n(),!!h))}function AGn(n,e){var t,i,r,c,s;t=$(R(v(e,(cn(),Vs)))),t<2&&U(e,Vs,2),i=u(v(e,Do),88),i==(ci(),Wf)&&U(e,Do,KT(e)),r=u(v(e,Ute),17),r.a==0?U(e,(W(),S3),new dx):U(e,(W(),S3),new qM(r.a)),c=un(v(e,V8)),c==null&&U(e,V8,(_n(),x(v(e,$l))===x((El(),Kv)))),qt(new Tn(null,new In(e.a,16)),new OG(n)),qt(rc(new Tn(null,new In(e.b,16)),new HU),new DG(n)),s=new yGn(e),U(e,(W(),j2),s),U7(n.a),ff(n.a,(Vi(),Xs),u(v(e,Ld),188)),ff(n.a,Jh,u(v(e,$d),188)),ff(n.a,Oc,u(v(e,X8),188)),ff(n.a,Kc,u(v(e,vI),188)),ff(n.a,zr,Nve(u(v(e,$l),223))),MX(n.a,PLe(e)),U(e,wH,gy(n.a,e))}function ntn(n,e,t,i,r){var c,s,f,h,l,a,d,g,p,m,k,j,A;for(d=new de,s=new Z,T_n(n,t,n.d.Ag(),s,d),T_n(n,i,n.d.Bg(),s,d),n.b=.2*(k=OHn(rc(new Tn(null,new In(s,16)),new F3n)),j=OHn(rc(new Tn(null,new In(s,16)),new B3n)),y.Math.min(k,j)),c=0,f=0;f=2&&(A=JHn(s,!0,g),!n.e&&(n.e=new okn(n)),K8e(n.e,A,s,n.b)),LKn(s,g),KOe(s),p=-1,a=new C(s);a.af)}function SGn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I;for(l=St,a=St,f=li,h=li,g=new C(e.i);g.a-1){for(r=ge(f,0);r.b!=r.d.c;)i=u(be(r),131),i.v=s;for(;f.b!=0;)for(i=u(Ux(f,0),131),t=new C(i.i);t.a-1){for(c=new C(f);c.a0)&&(pG(h,y.Math.min(h.o,r.o-1)),SE(h,h.i-1),h.i==0&&Bn(f.c,h))}}function IGn(n,e,t,i,r){var c,s,f,h;return h=St,s=!1,f=Gen(n,mi(new V(e.a,e.b),n),tt(new V(t.a,t.b),r),mi(new V(i.a,i.b),t)),c=!!f&&!(y.Math.abs(f.a-n.a)<=Y0&&y.Math.abs(f.b-n.b)<=Y0||y.Math.abs(f.a-e.a)<=Y0&&y.Math.abs(f.b-e.b)<=Y0),f=Gen(n,mi(new V(e.a,e.b),n),t,r),f&&((y.Math.abs(f.a-n.a)<=Y0&&y.Math.abs(f.b-n.b)<=Y0)==(y.Math.abs(f.a-e.a)<=Y0&&y.Math.abs(f.b-e.b)<=Y0)||c?h=y.Math.min(h,X6(mi(f,t))):s=!0),f=Gen(n,mi(new V(e.a,e.b),n),i,r),f&&(s||(y.Math.abs(f.a-n.a)<=Y0&&y.Math.abs(f.b-n.b)<=Y0)==(y.Math.abs(f.a-e.a)<=Y0&&y.Math.abs(f.b-e.b)<=Y0)||c)&&(h=y.Math.min(h,X6(mi(f,i)))),h}function OGn(n){r0(n,new gd(UE(e0(Yd(n0(Zd(new Ra,ha),SXn),"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."),new Xbn),cu))),Q(n,ha,u8,rn(Ton)),Q(n,ha,oS,(_n(),!0)),Q(n,ha,i2,rn(dZn)),Q(n,ha,d3,rn(bZn)),Q(n,ha,a3,rn(wZn)),Q(n,ha,Xm,rn(aZn)),Q(n,ha,o8,rn(Son)),Q(n,ha,Vm,rn(gZn)),Q(n,ha,Qtn,rn(Mon)),Q(n,ha,Ztn,rn(Eon)),Q(n,ha,nin,rn(Con)),Q(n,ha,ein,rn(Aon)),Q(n,ha,Ytn,rn(EP))}function _Oe(n){var e,t,i,r,c,s,f,h;for(e=null,i=new C(n);i.a0&&t.c==0&&(!e&&(e=new Z),Bn(e.c,t));if(e)for(;e.c.length!=0;){if(t=u(Yl(e,0),239),t.b&&t.b.c.length>0){for(c=(!t.b&&(t.b=new Z),new C(t.b));c.aqr(n,t,0))return new bi(r,t)}else if($(Tf(r.g,r.d[0]).a)>$(Tf(t.g,t.d[0]).a))return new bi(r,t)}for(f=(!t.e&&(t.e=new Z),t.e).Kc();f.Ob();)s=u(f.Pb(),239),h=(!s.b&&(s.b=new Z),s.b),zb(0,h.c.length),b6(h.c,0,t),s.c==h.c.length&&Bn(e.c,s)}return null}function HOe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A;for(e.Ug("Interactive crossing minimization",1),s=0,c=new C(n.b);c.a0&&(t+=h.n.a+h.o.a/2,++d),m=new C(h.j);m.a0&&(t/=d),A=K(Pi,Tr,28,i.a.c.length,15,1),f=0,l=new C(i.a);l.a=f&&r<=h)f<=r&&c<=h?i+=2:f<=r?(n.b[i]=h+1,s+=2):c<=h?(t[a++]=r,t[a++]=f-1,i+=2):(t[a++]=r,t[a++]=f-1,n.b[i]=h+1,s+=2);else if(h2?(a=new Z,hi(a,new Jl(A,1,A.b)),c=mzn(a,D+n.a),I=new bF(c),Ur(I,e),Bn(t.c,I)):i?I=u(ee(n.b,Kh(e)),272):I=u(ee(n.b,ia(e)),272),h=Kh(e),i&&(h=ia(e)),s=_je(j,h),l=D+n.a,s.a?(l+=y.Math.abs(j.b-d.b),k=new V(d.a,(d.b+j.b)/2)):(l+=y.Math.abs(j.a-d.a),k=new V((d.a+j.a)/2,d.b)),i?Xe(n.d,e,new mZ(I,s,k,l)):Xe(n.c,e,new mZ(I,s,k,l)),Xe(n.b,e,I),m=(!e.n&&(e.n=new q(Ar,e,1,7)),e.n),p=new ne(m);p.e!=p.i.gc();)g=u(ce(p),135),r=fy(n,g,!0,0,0),Bn(t.c,r)}function qOe(n){var e,t,i,r,c,s,f;if(!n.A.dc()){if(n.A.Hc((go(),rE))&&(u(Cr(n.b,(tn(),Xn)),127).k=!0,u(Cr(n.b,ae),127).k=!0,e=n.q!=(Oi(),tl)&&n.q!=qc,bG(u(Cr(n.b,Zn),127),e),bG(u(Cr(n.b,Wn),127),e),bG(n.g,e),n.A.Hc(Gd)&&(u(Cr(n.b,Xn),127).j=!0,u(Cr(n.b,ae),127).j=!0,u(Cr(n.b,Zn),127).k=!0,u(Cr(n.b,Wn),127).k=!0,n.g.k=!0)),n.A.Hc(iE))for(n.a.j=!0,n.a.k=!0,n.g.j=!0,n.g.k=!0,f=n.B.Hc((io(),O9)),r=jx(),c=0,s=r.length;c0),u(a.a.Xb(a.c=--a.b),18));c!=i&&a.b>0;)n.a[c.p]=!0,n.a[i.p]=!0,c=(oe(a.b>0),u(a.a.Xb(a.c=--a.b),18));a.b>0&&bo(a)}}function LGn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p;if(!n.b)return!1;for(s=null,g=null,h=new r$(null,null),r=1,h.a[1]=n.b,d=h;d.a[r];)l=r,f=g,g=d,d=d.a[r],i=n.a.Ne(e,d.d),r=i<0?0:1,i==0&&(!t.c||mc(d.e,t.d))&&(s=d),!(d&&d.b)&&!Ib(d.a[r])&&(Ib(d.a[1-r])?g=g.a[l]=jT(d,r):Ib(d.a[1-r])||(p=g.a[1-l],p&&(!Ib(p.a[1-l])&&!Ib(p.a[l])?(g.b=!1,p.b=!0,d.b=!0):(c=f.a[1]==g?1:0,Ib(p.a[l])?f.a[c]=fDn(g,l):Ib(p.a[1-l])&&(f.a[c]=jT(g,l)),d.b=f.a[c].b=!0,f.a[c].a[0].b=!1,f.a[c].a[1].b=!1))));return s&&(t.b=!0,t.d=s.e,d!=s&&(a=new r$(d.d,d.e),zye(n,h,s,a),g==s&&(g=a)),g.a[g.a[1]==d?1:0]=d.a[d.a[0]?0:1],--n.c),n.b=h.a[1],n.b&&(n.b.b=!1),t.b}function zOe(n){var e,t,i,r,c,s,f,h,l,a,d,g;for(r=new C(n.a.a.b);r.a0?r-=864e5:r+=864e5,h=new fV(nr(vc(e.q.getTime()),r))),a=new lp,l=n.a.length,c=0;c=97&&i<=122||i>=65&&i<=90){for(s=c+1;s=l)throw M(new Gn("Missing trailing '"));s+1=14&&a<=16))?e.a._b(i)?(t.a?Be(t.a,t.b):t.a=new mo(t.d),A6(t.a,"[...]")):(f=cd(i),l=new B6(e),pl(t,$Gn(f,l))):O(i,183)?pl(t,CEe(u(i,183))):O(i,195)?pl(t,fye(u(i,195))):O(i,201)?pl(t,vje(u(i,201))):O(i,2111)?pl(t,hye(u(i,2111))):O(i,53)?pl(t,EEe(u(i,53))):O(i,376)?pl(t,_Ee(u(i,376))):O(i,846)?pl(t,jEe(u(i,846))):O(i,109)&&pl(t,yEe(u(i,109))):pl(t,i==null?gu:Jr(i));return t.a?t.e.length==0?t.a.a:t.a.a+(""+t.e):t.c}function Lm(n,e){var t,i,r,c;c=n.F,e==null?(n.F=null,um(n,null)):(n.F=(Jn(e),e),i=th(e,wu(60)),i!=-1?(r=(Fi(0,i,e.length),e.substr(0,i)),th(e,wu(46))==-1&&!An(r,i3)&&!An(r,y8)&&!An(r,GS)&&!An(r,j8)&&!An(r,E8)&&!An(r,C8)&&!An(r,M8)&&!An(r,T8)&&(r=wJn),t=FC(e,wu(62)),t!=-1&&(r+=""+(zn(t+1,e.length+1),e.substr(t+1))),um(n,r)):(r=e,th(e,wu(46))==-1&&(i=th(e,wu(91)),i!=-1&&(r=(Fi(0,i,e.length),e.substr(0,i))),!An(r,i3)&&!An(r,y8)&&!An(r,GS)&&!An(r,j8)&&!An(r,E8)&&!An(r,C8)&&!An(r,M8)&&!An(r,T8)?(r=wJn,i!=-1&&(r+=""+(zn(i,e.length+1),e.substr(i)))):r=e),um(n,r),r==e&&(n.F=n.D))),n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,5,c,e))}function xGn(n,e){var t,i,r,c,s,f,h,l,a,d;if(h=e.length-1,f=(zn(h,e.length),e.charCodeAt(h)),f==93){if(s=th(e,wu(91)),s>=0)return r=Q5e(n,(Fi(1,s,e.length),e.substr(1,s-1))),a=(Fi(s+1,h,e.length),e.substr(s+1,h-(s+1))),ELe(n,a,r)}else{if(t=-1,wun==null&&(wun=new RegExp("\\d")),wun.test(String.fromCharCode(f))&&(t=AV(e,wu(46),h-1),t>=0)){i=u(YN(n,C$n(n,(Fi(1,t,e.length),e.substr(1,t-1))),!1),61),l=0;try{l=Ao((zn(t+1,e.length+1),e.substr(t+1)),Wi,et)}catch(g){throw g=It(g),O(g,130)?(c=g,M(new eT(c))):M(g)}if(l>16==-10?t=u(n.Cb,292).Yk(e,t):n.Db>>16==-15&&(!e&&(e=(On(),Yf)),!l&&(l=(On(),Yf)),n.Cb.Yh()&&(h=new ml(n.Cb,1,13,l,e,f1(no(u(n.Cb,62)),n),!1),t?t.nj(h):t=h));else if(O(n.Cb,90))n.Db>>16==-23&&(O(e,90)||(e=(On(),Ps)),O(l,90)||(l=(On(),Ps)),n.Cb.Yh()&&(h=new ml(n.Cb,1,10,l,e,f1(Sc(u(n.Cb,29)),n),!1),t?t.nj(h):t=h));else if(O(n.Cb,457))for(f=u(n.Cb,850),s=(!f.b&&(f.b=new NE(new aD)),f.b),c=(i=new sd(new qa(s.a).a),new $E(i));c.a.b;)r=u(L0(c.a).ld(),89),t=Nm(r,MA(r,f),t)}return t}function QOe(n,e){var t,i,r,c,s,f,h,l,a,d,g;for(s=on(un(z(n,(cn(),Rw)))),g=u(z(n,_w),21),h=!1,l=!1,d=new ne((!n.c&&(n.c=new q(Qu,n,9,9)),n.c));d.e!=d.i.gc()&&(!h||!l);){for(c=u(ce(d),123),f=0,r=$h(Eo(S(T(Oo,1),Fn,20,0,[(!c.d&&(c.d=new Nn(Vt,c,8,5)),c.d),(!c.e&&(c.e=new Nn(Vt,c,7,4)),c.e)])));pe(r)&&(i=u(fe(r),74),a=s&&_0(i)&&on(un(z(i,Nd))),t=bGn((!i.b&&(i.b=new Nn(he,i,4,7)),i.b),c)?n==At(Gr(u(L((!i.c&&(i.c=new Nn(he,i,5,8)),i.c),0),84))):n==At(Gr(u(L((!i.b&&(i.b=new Nn(he,i,4,7)),i.b),0),84))),!((a||t)&&(++f,f>1))););(f>0||g.Hc((zu(),Fl))&&(!c.n&&(c.n=new q(Ar,c,1,7)),c.n).i>0)&&(h=!0),f>1&&(l=!0)}h&&e.Fc((pr(),cs)),l&&e.Fc((pr(),K8))}function FGn(n){var e,t,i,r,c,s,f,h,l,a,d,g;if(g=u(z(n,(qe(),Hd)),21),g.dc())return null;if(f=0,s=0,g.Hc((go(),rE))){for(a=u(z(n,j9),101),i=2,t=2,r=2,c=2,e=At(n)?u(z(At(n),_d),88):u(z(n,_d),88),l=new ne((!n.c&&(n.c=new q(Qu,n,9,9)),n.c));l.e!=l.i.gc();)if(h=u(ce(l),123),d=u(z(h,_2),64),d==(tn(),sc)&&(d=Ren(h,e),ht(h,_2,d)),a==(Oi(),qc))switch(d.g){case 1:i=y.Math.max(i,h.i+h.g);break;case 2:t=y.Math.max(t,h.j+h.f);break;case 3:r=y.Math.max(r,h.i+h.g);break;case 4:c=y.Math.max(c,h.j+h.f)}else switch(d.g){case 1:i+=h.g+2;break;case 2:t+=h.f+2;break;case 3:r+=h.g+2;break;case 4:c+=h.f+2}f=y.Math.max(i,r),s=y.Math.max(t,c)}return G0(n,f,s,!0,!0)}function VF(n,e,t,i,r){var c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N;for(I=u(Wr(fT(ut(new Tn(null,new In(e.d,16)),new A7n(t)),new S7n(t)),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),d=et,a=Wi,h=new C(e.b.j);h.a0,l?l&&(g=A.p,s?++g:--g,d=u(sn(A.c.a,g),10),i=oFn(d),p=!(mF(i,X,t[0])||OPn(i,X,t[0]))):p=!0),m=!1,H=e.D.i,H&&H.c&&f.e&&(a=s&&H.p>0||!s&&H.p=0){for(h=null,f=new xi(a.a,l+1);f.bs?1:s0(isNaN(0),isNaN(s)))<0&&(Rs(jh),(y.Math.abs(s-1)<=jh||s==1||isNaN(s)&&isNaN(1)?0:s<1?-1:s>1?1:s0(isNaN(s),isNaN(1)))<0)&&(Rs(jh),(y.Math.abs(0-f)<=jh||f==0||isNaN(0)&&isNaN(f)?0:0f?1:s0(isNaN(0),isNaN(f)))<0)&&(Rs(jh),(y.Math.abs(f-1)<=jh||f==1||isNaN(f)&&isNaN(1)?0:f<1?-1:f>1?1:s0(isNaN(f),isNaN(1)))<0)),c)}function iDe(n){var e,t,i,r;if(t=n.D!=null?n.D:n.B,e=th(t,wu(91)),e!=-1){i=(Fi(0,e,t.length),t.substr(0,e)),r=new Hl;do r.a+="[";while((e=w4(t,91,++e))!=-1);An(i,i3)?r.a+="Z":An(i,y8)?r.a+="B":An(i,GS)?r.a+="C":An(i,j8)?r.a+="D":An(i,E8)?r.a+="F":An(i,C8)?r.a+="I":An(i,M8)?r.a+="J":An(i,T8)?r.a+="S":(r.a+="L",r.a+=""+i,r.a+=";");try{return null}catch(c){if(c=It(c),!O(c,63))throw M(c)}}else if(th(t,wu(46))==-1){if(An(t,i3))return so;if(An(t,y8))return Fu;if(An(t,GS))return fs;if(An(t,j8))return Pi;if(An(t,E8))return cg;if(An(t,C8))return ye;if(An(t,M8))return xa;if(An(t,T8))return X2}return null}function rDe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en;for(n.e=e,f=rCe(e),X=new Z,i=new C(f);i.a=0&&k=l.c.c.length?a=MJ((Vn(),zt),Mi):a=MJ((Vn(),Mi),Mi),a*=2,c=t.a.g,t.a.g=y.Math.max(c,c+(a-c)),s=t.b.g,t.b.g=y.Math.max(s,s+(a-s)),r=e}}function sDe(n){var e,t,i,r;for(qt(ut(new Tn(null,new In(n.a.b,16)),new X2n),new V2n),qke(n),qt(ut(new Tn(null,new In(n.a.b,16)),new W2n),new J2n),n.c==(El(),F3)&&(qt(ut(rc(new Tn(null,new In(new Ha(n.f),1)),new Q2n),new Y2n),new k7n(n)),qt(ut(_r(rc(rc(new Tn(null,new In(n.d.b,16)),new Z2n),new npn),new epn),new tpn),new j7n(n))),r=new V(St,St),e=new V(li,li),i=new C(n.a.b);i.a0&&(e.a+=ur),GA(u(ce(f),167),e);for(e.a+=iR,h=new kp((!i.c&&(i.c=new Nn(he,i,5,8)),i.c));h.e!=h.i.gc();)h.e>0&&(e.a+=ur),GA(u(ce(h),167),e);e.a+=")"}}function fDe(n,e,t){var i,r,c,s,f,h,l,a;for(h=new ne((!n.a&&(n.a=new q(Qe,n,10,11)),n.a));h.e!=h.i.gc();)for(f=u(ce(h),27),r=new te(re(Al(f).a.Kc(),new En));pe(r);){if(i=u(fe(r),74),!i.b&&(i.b=new Nn(he,i,4,7)),!(i.b.i<=1&&(!i.c&&(i.c=new Nn(he,i,5,8)),i.c.i<=1)))throw M(new fp("Graph must not contain hyperedges."));if(!F5(i)&&f!=Gr(u(L((!i.c&&(i.c=new Nn(he,i,5,8)),i.c),0),84)))for(l=new RAn,Ur(l,i),U(l,(J1(),y3),i),Jse(l,u(Kr(wr(t.f,f)),153)),Zse(l,u(ee(t,Gr(u(L((!i.c&&(i.c=new Nn(he,i,5,8)),i.c),0),84))),153)),nn(e.c,l),s=new ne((!i.n&&(i.n=new q(Ar,i,1,7)),i.n));s.e!=s.i.gc();)c=u(ce(s),135),a=new _Dn(l,c.a),Ur(a,c),U(a,y3,c),a.e.a=y.Math.max(c.g,1),a.e.b=y.Math.max(c.f,1),Uen(a),nn(e.d,a)}}function hDe(n,e,t){var i,r,c,s,f,h,l,a,d,g;switch(t.Ug("Node promotion heuristic",1),n.i=e,n.r=u(v(e,(cn(),ya)),243),n.r!=(gs(),pb)&&n.r!=Uw?FDe(n):fAe(n),a=u(v(n.i,chn),17).a,c=new Bgn,n.r.g){case 2:case 1:Dm(n,c);break;case 3:for(n.r=SI,Dm(n,c),h=0,f=new C(n.b);f.an.k&&(n.r=Sj,Dm(n,c));break;case 4:for(n.r=SI,Dm(n,c),l=0,r=new C(n.c);r.an.n&&(n.r=Pj,Dm(n,c));break;case 6:g=wi(y.Math.ceil(n.g.length*a/100)),Dm(n,new s7n(g));break;case 5:d=wi(y.Math.ceil(n.e*a/100)),Dm(n,new f7n(d));break;case 8:yzn(n,!0);break;case 9:yzn(n,!1);break;default:Dm(n,c)}n.r!=pb&&n.r!=Uw?LTe(n,e):ZAe(n,e),t.Vg()}function lDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D;for(d=n.b,a=new xi(d,0),Rb(a,new Lc(n)),I=!1,s=1;a.b0&&(g.d+=a.n.d,g.d+=a.d),g.a>0&&(g.a+=a.n.a,g.a+=a.d),g.b>0&&(g.b+=a.n.b,g.b+=a.d),g.c>0&&(g.c+=a.n.c,g.c+=a.d),g}function RGn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m;for(g=t.d,d=t.c,c=new V(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),s=c.b,l=new C(n.a);l.a0&&(n.c[e.c.p][e.p].d+=to(n.i,24)*Iy*.07000000029802322-.03500000014901161,n.c[e.c.p][e.p].a=n.c[e.c.p][e.p].d/n.c[e.c.p][e.p].b)}}function bDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;for(m=new C(n);m.ai.d,i.d=y.Math.max(i.d,e),f&&t&&(i.d=y.Math.max(i.d,i.a),i.a=i.d+r);break;case 3:t=e>i.a,i.a=y.Math.max(i.a,e),f&&t&&(i.a=y.Math.max(i.a,i.d),i.d=i.a+r);break;case 2:t=e>i.c,i.c=y.Math.max(i.c,e),f&&t&&(i.c=y.Math.max(i.b,i.c),i.b=i.c+r);break;case 4:t=e>i.b,i.b=y.Math.max(i.b,e),f&&t&&(i.b=y.Math.max(i.b,i.c),i.c=i.b+r)}}}function _Gn(n,e){var t,i,r,c,s,f,h,l,a;return l="",e.length==0?n.ne(ktn,uB,-1,-1):(a=fw(e),An(a.substr(0,3),"at ")&&(a=(zn(3,a.length+1),a.substr(3))),a=a.replace(/\[.*?\]/g,""),s=a.indexOf("("),s==-1?(s=a.indexOf("@"),s==-1?(l=a,a=""):(l=fw((zn(s+1,a.length+1),a.substr(s+1))),a=fw((Fi(0,s,a.length),a.substr(0,s))))):(t=a.indexOf(")",s),l=(Fi(s+1,t,a.length),a.substr(s+1,t-(s+1))),a=fw((Fi(0,s,a.length),a.substr(0,s)))),s=th(a,wu(46)),s!=-1&&(a=(zn(s+1,a.length+1),a.substr(s+1))),(a.length==0||An(a,"Anonymous function"))&&(a=uB),f=FC(l,wu(58)),r=AV(l,wu(58),f-1),h=-1,i=-1,c=ktn,f!=-1&&r!=-1&&(c=(Fi(0,r,l.length),l.substr(0,r)),h=rAn((Fi(r+1,f,l.length),l.substr(r+1,f-(r+1)))),i=rAn((zn(f+1,l.length+1),l.substr(f+1)))),n.ne(c,a,h,i))}function pDe(n){var e,t,i,r,c,s,f,h,l,a,d;for(l=new C(n);l.a0||a.j==Wn&&a.e.c.length-a.g.c.length<0)){e=!1;break}for(r=new C(a.g);r.a=l&&H>=j&&(g+=m.n.b+k.n.b+k.a.b-N,++f));if(t)for(s=new C(I.e);s.a=l&&H>=j&&(g+=m.n.b+k.n.b+k.a.b-N,++f))}f>0&&(X+=g/f,++p)}p>0?(e.a=r*X/p,e.g=p):(e.a=0,e.g=0)}function vDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en;for(c=n.f.b,g=c.a,a=c.b,m=n.e.g,p=n.e.f,vg(n.e,c.a,c.b),X=g/m,en=a/p,l=new ne(jM(n.e));l.e!=l.i.gc();)h=u(ce(l),135),eu(h,h.i*X),tu(h,h.j*en);for(I=new ne(mN(n.e));I.e!=I.i.gc();)A=u(ce(I),123),N=A.i,H=A.j,N>0&&eu(A,N*X),H>0&&tu(A,H*en);for(h5(n.b,new Ubn),e=new Z,f=new sd(new qa(n.c).a);f.b;)s=L0(f),i=u(s.ld(),74),t=u(s.md(),407).a,r=zg(i,!1,!1),d=NKn(Kh(i),Zk(r),t),dy(d,r),D=XKn(i),D&&qr(e,D,0)==-1&&(Bn(e.c,D),jIn(D,(oe(d.b!=0),u(d.a.a.c,8)),t));for(j=new sd(new qa(n.d).a);j.b;)k=L0(j),i=u(k.ld(),74),t=u(k.md(),407).a,r=zg(i,!1,!1),d=NKn(ia(i),Ik(Zk(r)),t),d=Ik(d),dy(d,r),D=VKn(i),D&&qr(e,D,0)==-1&&(Bn(e.c,D),jIn(D,(oe(d.b!=0),u(d.c.b.c,8)),t))}function HGn(n,e,t,i){var r,c,s,f,h;return f=new rtn(e),hTe(f,i),r=!0,n&&n.pf((qe(),_d))&&(c=u(n.of((qe(),_d)),88),r=c==(ci(),Wf)||c==Br||c==Xr),_qn(f,!1),nu(f.e.Rf(),new NV(f,!1,r)),ON(f,f.f,(bf(),bc),(tn(),Xn)),ON(f,f.f,wc,ae),ON(f,f.g,bc,Wn),ON(f,f.g,wc,Zn),gRn(f,Xn),gRn(f,ae),vIn(f,Zn),vIn(f,Wn),Bb(),s=f.A.Hc((go(),Qw))&&f.B.Hc((io(),uE))?NBn(f):null,s&&vhe(f.a,s),gDe(f),p7e(f),m7e(f),qOe(f),sPe(f),U7e(f),kx(f,Xn),kx(f,ae),VAe(f),xIe(f),t&&(Y5e(f),G7e(f),kx(f,Zn),kx(f,Wn),h=f.B.Hc((io(),O9)),L_n(f,h,Xn),L_n(f,h,ae),N_n(f,h,Zn),N_n(f,h,Wn),qt(new Tn(null,new In(new ol(f.i),0)),new dbn),qt(ut(new Tn(null,DW(f.r).a.oc()),new bbn),new wbn),cye(f),f.e.Pf(f.o),qt(new Tn(null,DW(f.r).a.oc()),new gbn)),f.o}function kDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(l=St,i=new C(n.a.b);i.a1)for(p=new Ven(m,D,i),qi(D,new YCn(n,p)),Bn(s.c,p),d=D.a.ec().Kc();d.Ob();)a=u(d.Pb(),42),du(c,a.b);if(f.a.gc()>1)for(p=new Ven(m,f,i),qi(f,new ZCn(n,p)),Bn(s.c,p),d=f.a.ec().Kc();d.Ob();)a=u(d.Pb(),42),du(c,a.b)}}function CDe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A;if(k=n.n,j=n.o,g=n.d,d=$(R(rw(n,(cn(),PH)))),e){for(a=d*(e.gc()-1),p=0,h=e.Kc();h.Ob();)s=u(h.Pb(),10),a+=s.o.a,p=y.Math.max(p,s.o.b);for(A=k.a-(a-j.a)/2,c=k.b-g.d+p,i=j.a/(e.gc()+1),r=i,f=e.Kc();f.Ob();)s=u(f.Pb(),10),s.n.a=A,s.n.b=c-s.o.b,A+=s.o.a+d,l=QHn(s),l.n.a=s.o.a/2-l.a.a,l.n.b=s.o.b,m=u(v(s,(W(),tI)),12),m.e.c.length+m.g.c.length==1&&(m.n.a=r-m.a.a,m.n.b=0,ic(m,n)),r+=i}if(t){for(a=d*(t.gc()-1),p=0,h=t.Kc();h.Ob();)s=u(h.Pb(),10),a+=s.o.a,p=y.Math.max(p,s.o.b);for(A=k.a-(a-j.a)/2,c=k.b+j.b+g.a-p,i=j.a/(t.gc()+1),r=i,f=t.Kc();f.Ob();)s=u(f.Pb(),10),s.n.a=A,s.n.b=c,A+=s.o.a+d,l=QHn(s),l.n.a=s.o.a/2-l.a.a,l.n.b=0,m=u(v(s,(W(),tI)),12),m.e.c.length+m.g.c.length==1&&(m.n.a=r-m.a.a,m.n.b=j.b,ic(m,n)),r+=i}}function MDe(n,e){var t,i,r,c,s,f;if(u(v(e,(W(),Hc)),21).Hc((pr(),cs))){for(f=new C(e.a);f.a=0&&s0&&(u(Cr(n.b,e),127).a.b=t)}function IDe(n,e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k;if(g=$(R(v(n,(cn(),Av)))),p=$(R(v(n,Sv))),d=$(R(v(n,qw))),f=n.o,c=u(sn(n.j,0),12),s=c.n,k=Xje(c,d),!!k){if(e.Hc((zu(),Fl)))switch(u(v(n,(W(),gc)),64).g){case 1:k.c=(f.a-k.b)/2-s.a,k.d=p;break;case 3:k.c=(f.a-k.b)/2-s.a,k.d=-p-k.a;break;case 2:t&&c.e.c.length==0&&c.g.c.length==0?(a=i?k.a:u(sn(c.f,0),72).o.b,k.d=(f.b-a)/2-s.b):k.d=f.b+p-s.b,k.c=-g-k.b;break;case 4:t&&c.e.c.length==0&&c.g.c.length==0?(a=i?k.a:u(sn(c.f,0),72).o.b,k.d=(f.b-a)/2-s.b):k.d=f.b+p-s.b,k.c=g}else if(e.Hc(Pa))switch(u(v(n,(W(),gc)),64).g){case 1:case 3:k.c=s.a+g;break;case 2:case 4:t&&!c.c?(a=i?k.a:u(sn(c.f,0),72).o.b,k.d=(f.b-a)/2-s.b):k.d=s.b+p}for(r=k.d,l=new C(c.f);l.a=e.length)return{done:!0};var r=e[i++];return{value:[r,t.get(r)],done:!1}}}},AAe()||(n.prototype.createObject=function(){return{}},n.prototype.get=function(e){return this.obj[":"+e]},n.prototype.set=function(e,t){this.obj[":"+e]=t},n.prototype[DB]=function(e){delete this.obj[":"+e]},n.prototype.keys=function(){var e=[];for(var t in this.obj)t.charCodeAt(0)==58&&e.push(t.substring(1));return e}),n}function pt(){pt=F,f9=new lt(Jtn),new Dt("DEPTH",Y(0)),iq=new Dt("FAN",Y(0)),mln=new Dt(bVn,Y(0)),Ca=new Dt("ROOT",(_n(),!1)),uq=new Dt("LEFTNEIGHBOR",null),dre=new Dt("RIGHTNEIGHBOR",null),$I=new Dt("LEFTSIBLING",null),oq=new Dt("RIGHTSIBLING",null),tq=new Dt("DUMMY",!1),new Dt("LEVEL",Y(0)),yln=new Dt("REMOVABLE_EDGES",new Ct),$j=new Dt("XCOOR",Y(0)),xj=new Dt("YCOOR",Y(0)),xI=new Dt("LEVELHEIGHT",0),yf=new Dt("LEVELMIN",0),Ws=new Dt("LEVELMAX",0),rq=new Dt("GRAPH_XMIN",0),cq=new Dt("GRAPH_YMIN",0),vln=new Dt("GRAPH_XMAX",0),kln=new Dt("GRAPH_YMAX",0),pln=new Dt("COMPACT_LEVEL_ASCENSION",!1),eq=new Dt("COMPACT_CONSTRAINTS",new Z),s9=new Dt("ID",""),h9=new Dt("POSITION",Y(0)),j1=new Dt("PRELIM",0),Lv=new Dt("MODIFIER",0),Dv=new lt(TXn),Nj=new lt(AXn)}function NDe(n){Ben();var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(n==null)return null;if(d=n.length*8,d==0)return"";for(f=d%24,p=d/24|0,g=f!=0?p+1:p,c=null,c=K(fs,gh,28,g*4,15,1),l=0,a=0,e=0,t=0,i=0,s=0,r=0,h=0;h>24,l=(e&3)<<24>>24,m=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,k=t&-128?(t>>4^240)<<24>>24:t>>4<<24>>24,j=i&-128?(i>>6^252)<<24>>24:i>>6<<24>>24,c[s++]=O1[m],c[s++]=O1[k|l<<4],c[s++]=O1[a<<2|j],c[s++]=O1[i&63];return f==8?(e=n[r],l=(e&3)<<24>>24,m=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,c[s++]=O1[m],c[s++]=O1[l<<4],c[s++]=61,c[s++]=61):f==16&&(e=n[r],t=n[r+1],a=(t&15)<<24>>24,l=(e&3)<<24>>24,m=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,k=t&-128?(t>>4^240)<<24>>24:t>>4<<24>>24,c[s++]=O1[m],c[s++]=O1[k|l<<4],c[s++]=O1[a<<2],c[s++]=61),hh(c,0,c.length)}function $De(n,e){var t,i,r,c,s,f,h;if(n.e==0&&n.p>0&&(n.p=-(n.p-1)),n.p>Wi&&CJ(e,n.p-fa),s=e.q.getDate(),Q7(e,1),n.k>=0&&E2e(e,n.k),n.c>=0?Q7(e,n.c):n.k>=0?(h=new nY(e.q.getFullYear()-fa,e.q.getMonth(),35),i=35-h.q.getDate(),Q7(e,y.Math.min(i,s))):Q7(e,s),n.f<0&&(n.f=e.q.getHours()),n.b>0&&n.f<12&&(n.f+=12),b1e(e,n.f==24&&n.g?0:n.f),n.j>=0&&c4e(e,n.j),n.n>=0&&p4e(e,n.n),n.i>=0&&QMn(e,nr(er(Wk(vc(e.q.getTime()),d1),d1),n.i)),n.a&&(r=new JE,CJ(r,r.q.getFullYear()-fa-80),ND(vc(e.q.getTime()),vc(r.q.getTime()))&&CJ(e,r.q.getFullYear()-fa+100)),n.d>=0){if(n.c==-1)t=(7+n.d-e.q.getDay())%7,t>3&&(t-=7),f=e.q.getMonth(),Q7(e,e.q.getDate()+t),e.q.getMonth()!=f&&Q7(e,e.q.getDate()+(t>0?-7:7));else if(e.q.getDay()!=n.d)return!1}return n.o>Wi&&(c=e.q.getTimezoneOffset(),QMn(e,nr(vc(e.q.getTime()),(n.o-c)*60*d1))),!0}function XGn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N;if(r=v(e,(W(),st)),!!O(r,207)){for(m=u(r,27),k=e.e,g=new rr(e.c),c=e.d,g.a+=c.b,g.b+=c.d,N=u(z(m,(cn(),kI)),181),Au(N,(io(),sO))&&(p=u(z(m,hhn),107),Use(p,c.a),Yse(p,c.d),Gse(p,c.b),Qse(p,c.c)),t=new Z,a=new C(e.a);a.ai.c.length-1;)nn(i,new bi(t2,Arn));t=u(v(r,Sh),17).a,hl(u(v(n,vb),88))?(r.e.a<$(R((Ln(t,i.c.length),u(i.c[t],42)).a))&&QO((Ln(t,i.c.length),u(i.c[t],42)),r.e.a),r.e.a+r.f.a>$(R((Ln(t,i.c.length),u(i.c[t],42)).b))&&YO((Ln(t,i.c.length),u(i.c[t],42)),r.e.a+r.f.a)):(r.e.b<$(R((Ln(t,i.c.length),u(i.c[t],42)).a))&&QO((Ln(t,i.c.length),u(i.c[t],42)),r.e.b),r.e.b+r.f.b>$(R((Ln(t,i.c.length),u(i.c[t],42)).b))&&YO((Ln(t,i.c.length),u(i.c[t],42)),r.e.b+r.f.b))}for(c=ge(n.b,0);c.b!=c.d.c;)r=u(be(c),40),t=u(v(r,(lc(),Sh)),17).a,U(r,(pt(),yf),R((Ln(t,i.c.length),u(i.c[t],42)).a)),U(r,Ws,R((Ln(t,i.c.length),u(i.c[t],42)).b));e.Vg()}function FDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(n.o=$(R(v(n.i,(cn(),gb)))),n.f=$(R(v(n.i,Bd))),n.j=n.i.b.c.length,f=n.j-1,g=0,n.k=0,n.n=0,n.b=If(K(Gi,J,17,n.j,0,1)),n.c=If(K(si,J,345,n.j,7,1)),s=new C(n.i.b);s.a0&&nn(n.q,a),nn(n.p,a);e-=i,p=h+e,l+=e*n.f,Go(n.b,f,Y(p)),Go(n.c,f,l),n.k=y.Math.max(n.k,p),n.n=y.Math.max(n.n,l),n.e+=e,e+=k}}function tn(){tn=F;var n;sc=new y7(i8,0),Xn=new y7(eS,1),Zn=new y7(HB,2),ae=new y7(qB,3),Wn=new y7(UB,4),Qf=(Dn(),new r4((n=u(uf(lr),9),new _o(n,u($s(n,n.length),9),0)))),nf=i1(yt(Xn,S(T(lr,1),Mc,64,0,[]))),os=i1(yt(Zn,S(T(lr,1),Mc,64,0,[]))),No=i1(yt(ae,S(T(lr,1),Mc,64,0,[]))),Ms=i1(yt(Wn,S(T(lr,1),Mc,64,0,[]))),mu=i1(yt(Xn,S(T(lr,1),Mc,64,0,[ae]))),su=i1(yt(Zn,S(T(lr,1),Mc,64,0,[Wn]))),ef=i1(yt(Xn,S(T(lr,1),Mc,64,0,[Wn]))),Wu=i1(yt(Xn,S(T(lr,1),Mc,64,0,[Zn]))),$o=i1(yt(ae,S(T(lr,1),Mc,64,0,[Wn]))),ss=i1(yt(Zn,S(T(lr,1),Mc,64,0,[ae]))),Ju=i1(yt(Xn,S(T(lr,1),Mc,64,0,[Zn,Wn]))),pu=i1(yt(Zn,S(T(lr,1),Mc,64,0,[ae,Wn]))),vu=i1(yt(Xn,S(T(lr,1),Mc,64,0,[ae,Wn]))),xu=i1(yt(Xn,S(T(lr,1),Mc,64,0,[Zn,ae]))),Uc=i1(yt(Xn,S(T(lr,1),Mc,64,0,[Zn,ae,Wn])))}function BDe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en;for(e.Ug(XXn,1),k=new Z,X=new Z,l=new C(n.b);l.a0&&(D-=p),Wen(s,D),a=0,g=new C(s.a);g.a0),f.a.Xb(f.c=--f.b)),h=.4*i*a,!c&&f.b0&&(h=(zn(0,e.length),e.charCodeAt(0)),h!=64)){if(h==37&&(d=e.lastIndexOf("%"),l=!1,d!=0&&(d==g-1||(l=(zn(d+1,e.length),e.charCodeAt(d+1)==46))))){if(s=(Fi(1,d,e.length),e.substr(1,d-1)),D=An("%",s)?null:utn(s),i=0,l)try{i=Ao((zn(d+2,e.length+1),e.substr(d+2)),Wi,et)}catch(N){throw N=It(N),O(N,130)?(f=N,M(new eT(f))):M(N)}for(j=LQ(n.Gh());j.Ob();)if(m=PT(j),O(m,519)&&(r=u(m,598),I=r.d,(D==null?I==null:An(D,I))&&i--==0))return r;return null}if(a=e.lastIndexOf("."),p=a==-1?e:(Fi(0,a,e.length),e.substr(0,a)),t=0,a!=-1)try{t=Ao((zn(a+1,e.length+1),e.substr(a+1)),Wi,et)}catch(N){if(N=It(N),O(N,130))p=e;else throw M(N)}for(p=An("%",p)?null:utn(p),k=LQ(n.Gh());k.Ob();)if(m=PT(k),O(m,197)&&(c=u(m,197),A=c.xe(),(p==null?A==null:An(p,A))&&t--==0))return c;return null}return xGn(n,e)}function zDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I;for(a=new de,h=new C0,i=new C(n.a.a.b);i.ae.d.c){if(p=n.c[e.a.d],j=n.c[d.a.d],p==j)continue;Hs(Ds(Os(Ls(Is(new hs,1),100),p),j))}}}}}function XDe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X;if(g=u(u(ot(n.r,e),21),87),e==(tn(),Zn)||e==Wn){UGn(n,e);return}for(c=e==Xn?(N0(),ij):(N0(),rj),N=e==Xn?(bu(),vf):(bu(),zs),t=u(Cr(n.b,e),127),i=t.i,r=i.c+Og(S(T(Pi,1),Tr,28,15,[t.n.b,n.C.b,n.k])),A=i.c+i.b-Og(S(T(Pi,1),Tr,28,15,[t.n.c,n.C.c,n.k])),s=kz(xV(c),n.t),I=e==Xn?li:St,d=g.Kc();d.Ob();)l=u(d.Pb(),117),!(!l.c||l.c.d.c.length<=0)&&(j=l.b.Mf(),k=l.e,p=l.c,m=p.i,m.b=(h=p.n,p.e.a+h.b+h.c),m.a=(f=p.n,p.e.b+f.d+f.a),X7(N,xtn),p.f=N,af(p,(Uu(),Gs)),m.c=k.a-(m.b-j.a)/2,H=y.Math.min(r,k.a),X=y.Math.max(A,k.a+j.a),m.cX&&(m.c=X-m.b),nn(s.d,new ZL(m,AY(s,m))),I=e==Xn?y.Math.max(I,k.b+l.b.Mf().b):y.Math.min(I,k.b));for(I+=e==Xn?n.t:-n.t,D=zY((s.e=I,s)),D>0&&(u(Cr(n.b,e),127).a.b=D),a=g.Kc();a.Ob();)l=u(a.Pb(),117),!(!l.c||l.c.d.c.length<=0)&&(m=l.c.i,m.c-=l.e.a,m.d-=l.e.b)}function VDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p;for(e=new de,h=new ne(n);h.e!=h.i.gc();){for(f=u(ce(h),27),t=new ni,Xe(m_,f,t),p=new Rbn,r=u(Wr(new Tn(null,new p0(new te(re(cy(f).a.Kc(),new En)))),dPn(p,qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[(Gu(),Yr)])))),85),X$n(t,u(r.xc((_n(),!0)),16),new Kbn),i=u(Wr(ut(u(r.xc(!1),15).Lc(),new _bn),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[Yr]))),15),s=i.Kc();s.Ob();)c=u(s.Pb(),74),g=XKn(c),g&&(l=u(Kr(wr(e.f,g)),21),l||(l=gqn(g),Vc(e.f,g,l)),Bi(t,l));for(r=u(Wr(new Tn(null,new p0(new te(re(Al(f).a.Kc(),new En)))),dPn(p,qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[Yr])))),85),X$n(t,u(r.xc(!0),16),new Hbn),i=u(Wr(ut(u(r.xc(!1),15).Lc(),new qbn),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[Yr]))),15),d=i.Kc();d.Ob();)a=u(d.Pb(),74),g=VKn(a),g&&(l=u(Kr(wr(e.f,g)),21),l||(l=gqn(g),Vc(e.f,g,l)),Bi(t,l))}}function WDe(n,e){BF();var t,i,r,c,s,f,h,l,a,d,g,p,m,k;if(h=Ec(n,0)<0,h&&(n=n1(n)),Ec(n,0)==0)switch(e){case 0:return"0";case 1:return Km;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return p=new x1,e<0?p.a+="0E+":p.a+="0E",p.a+=e==Wi?"2147483648":""+-e,p.a}a=18,d=K(fs,gh,28,a+1,15,1),t=a,k=n;do l=k,k=Wk(k,10),d[--t]=Ae(nr(48,bs(l,er(k,10))))&ui;while(Ec(k,0)!=0);if(r=bs(bs(bs(a,t),e),1),e==0)return h&&(d[--t]=45),hh(d,t,a-t);if(e>0&&Ec(r,-6)>=0){if(Ec(r,0)>=0){for(c=t+Ae(r),f=a-1;f>=c;f--)d[f+1]=d[f];return d[++c]=46,h&&(d[--t]=45),hh(d,t,a-t+1)}for(s=2;ND(s,nr(n1(r),1));s++)d[--t]=48;return d[--t]=46,d[--t]=48,h&&(d[--t]=45),hh(d,t,a-t)}return m=t+1,i=a,g=new lp,h&&(g.a+="-"),i-m>=1?(Ya(g,d[t]),g.a+=".",g.a+=hh(d,t+1,a-t-1)):g.a+=hh(d,t,a-t),g.a+="E",Ec(r,0)>0&&(g.a+="+"),g.a+=""+H6(r),g.a}function G0(n,e,t,i,r){var c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X;if(j=new V(n.g,n.f),k=jnn(n),k.a=y.Math.max(k.a,e),k.b=y.Math.max(k.b,t),X=k.a/j.a,a=k.b/j.b,N=k.a-j.a,h=k.b-j.b,i)for(s=At(n)?u(z(At(n),(qe(),_d)),88):u(z(n,(qe(),_d)),88),f=x(z(n,(qe(),j9)))===x((Oi(),qc)),I=new ne((!n.c&&(n.c=new q(Qu,n,9,9)),n.c));I.e!=I.i.gc();)switch(A=u(ce(I),123),D=u(z(A,_2),64),D==(tn(),sc)&&(D=Ren(A,s),ht(A,_2,D)),D.g){case 1:f||eu(A,A.i*X);break;case 2:eu(A,A.i+N),f||tu(A,A.j*a);break;case 3:f||eu(A,A.i*X),tu(A,A.j+h);break;case 4:f||tu(A,A.j*a)}if(vg(n,k.a,k.b),r)for(g=new ne((!n.n&&(n.n=new q(Ar,n,1,7)),n.n));g.e!=g.i.gc();)d=u(ce(g),135),p=d.i+d.g/2,m=d.j+d.f/2,H=p/j.a,l=m/j.b,H+l>=1&&(H-l>0&&m>=0?(eu(d,d.i+N),tu(d,d.j+h*l)):H-l<0&&p>=0&&(eu(d,d.i+N*H),tu(d,d.j+h)));return ht(n,(qe(),Hd),(go(),c=u(uf(I9),9),new _o(c,u($s(c,c.length),9),0))),new V(X,a)}function QGn(n){r0(n,new gd(UE(e0(Yd(n0(Zd(new Ra,es),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new V4n),es))),Q(n,es,TS,rn(fce)),Q(n,es,yw,rn(hce)),Q(n,es,i2,rn(cce)),Q(n,es,d3,rn(uce)),Q(n,es,a3,rn(oce)),Q(n,es,Xm,rn(rce)),Q(n,es,o8,rn(Jln)),Q(n,es,Vm,rn(sce)),Q(n,es,XR,rn(kq)),Q(n,es,zR,rn(yq)),Q(n,es,LS,rn(Yln)),Q(n,es,VR,rn(jq)),Q(n,es,WR,rn(Zln)),Q(n,es,zrn,rn(n1n)),Q(n,es,Grn,rn(Qln)),Q(n,es,_rn,rn(_I)),Q(n,es,Hrn,rn(HI)),Q(n,es,qrn,rn(Fj)),Q(n,es,Urn,rn(e1n)),Q(n,es,Krn,rn(Wln))}function zA(n){var e,t,i,r,c,s,f,h,l,a,d;if(n==null)throw M(new eh(gu));if(l=n,c=n.length,h=!1,c>0&&(e=(zn(0,n.length),n.charCodeAt(0)),(e==45||e==43)&&(n=(zn(1,n.length+1),n.substr(1)),--c,h=e==45)),c==0)throw M(new eh(V0+l+'"'));for(;n.length>0&&(zn(0,n.length),n.charCodeAt(0)==48);)n=(zn(1,n.length+1),n.substr(1)),--c;if(c>(SUn(),gQn)[10])throw M(new eh(V0+l+'"'));for(r=0;r0&&(d=-parseInt((Fi(0,i,n.length),n.substr(0,i)),10),n=(zn(i,n.length+1),n.substr(i)),c-=i,t=!1);c>=s;){if(i=parseInt((Fi(0,s,n.length),n.substr(0,s)),10),n=(zn(s,n.length+1),n.substr(s)),c-=s,t)t=!1;else{if(Ec(d,f)<0)throw M(new eh(V0+l+'"'));d=er(d,a)}d=bs(d,i)}if(Ec(d,0)>0)throw M(new eh(V0+l+'"'));if(!h&&(d=n1(d),Ec(d,0)<0))throw M(new eh(V0+l+'"'));return d}function utn(n){UF();var e,t,i,r,c,s,f,h;if(n==null)return null;if(r=th(n,wu(37)),r<0)return n;for(h=new mo((Fi(0,r,n.length),n.substr(0,r))),e=K(Fu,o2,28,4,15,1),f=0,i=0,s=n.length;rr+2&&R$((zn(r+1,n.length),n.charCodeAt(r+1)),Bdn,Rdn)&&R$((zn(r+2,n.length),n.charCodeAt(r+2)),Bdn,Rdn))if(t=gbe((zn(r+1,n.length),n.charCodeAt(r+1)),(zn(r+2,n.length),n.charCodeAt(r+2))),r+=2,i>0?(t&192)==128?e[f++]=t<<24>>24:i=0:t>=128&&((t&224)==192?(e[f++]=t<<24>>24,i=2):(t&240)==224?(e[f++]=t<<24>>24,i=3):(t&248)==240&&(e[f++]=t<<24>>24,i=4)),i>0){if(f==i){switch(f){case 2:{Ya(h,((e[0]&31)<<6|e[1]&63)&ui);break}case 3:{Ya(h,((e[0]&15)<<12|(e[1]&63)<<6|e[2]&63)&ui);break}}f=0,i=0}}else{for(c=0;c=2){if((!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i==0)t=(B1(),r=new jE,r),ve((!n.a&&(n.a=new q(Mt,n,6,6)),n.a),t);else if((!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i>1)for(g=new kp((!n.a&&(n.a=new q(Mt,n,6,6)),n.a));g.e!=g.i.gc();)D5(g);dy(e,u(L((!n.a&&(n.a=new q(Mt,n,6,6)),n.a),0),166))}if(d)for(i=new ne((!n.a&&(n.a=new q(Mt,n,6,6)),n.a));i.e!=i.i.gc();)for(t=u(ce(i),166),l=new ne((!t.a&&(t.a=new ti(xo,t,5)),t.a));l.e!=l.i.gc();)h=u(ce(l),377),f.a=y.Math.max(f.a,h.a),f.b=y.Math.max(f.b,h.b);for(s=new ne((!n.n&&(n.n=new q(Ar,n,1,7)),n.n));s.e!=s.i.gc();)c=u(ce(s),135),a=u(z(c,C9),8),a&&Ro(c,a.a,a.b),d&&(f.a=y.Math.max(f.a,c.i+c.g),f.b=y.Math.max(f.b,c.j+c.f));return f}function ZGn(n,e,t,i,r){var c,s,f;if(n$n(n,e),s=e[0],c=Xi(t.c,0),f=-1,iY(t))if(i>0){if(s+i>n.length)return!1;f=yA((Fi(0,s+i,n.length),n.substr(0,s+i)),e)}else f=yA(n,e);switch(c){case 71:return f=qg(n,s,S(T(fn,1),J,2,6,[Bzn,Rzn]),e),r.e=f,!0;case 77:return lAe(n,e,r,f,s);case 76:return aAe(n,e,r,f,s);case 69:return iEe(n,e,s,r);case 99:return rEe(n,e,s,r);case 97:return f=qg(n,s,S(T(fn,1),J,2,6,["AM","PM"]),e),r.b=f,!0;case 121:return dAe(n,e,s,f,t,r);case 100:return f<=0?!1:(r.c=f,!0);case 83:return f<0?!1:v8e(f,s,e[0],r);case 104:f==12&&(f=0);case 75:case 72:return f<0?!1:(r.f=f,r.g=!1,!0);case 107:return f<0?!1:(r.f=f,r.g=!0,!0);case 109:return f<0?!1:(r.j=f,!0);case 115:return f<0?!1:(r.n=f,!0);case 90:if(sjn[h]&&(j=h),d=new C(n.a.b);d.a1;){if(r=rTe(e),d=c.g,m=u(z(e,d9),107),k=$(R(z(e,zI))),(!e.a&&(e.a=new q(Qe,e,10,11)),e.a).i>1&&$(R(z(e,(_h(),Iq))))!=St&&(c.c+(m.b+m.c))/(c.b+(m.d+m.a))1&&$(R(z(e,(_h(),Pq))))!=St&&(c.c+(m.b+m.c))/(c.b+(m.d+m.a))>k&&ht(r,(_h(),Xw),y.Math.max($(R(z(e,a9))),$(R(z(r,Xw)))-$(R(z(e,Pq))))),p=new dX(i,a),h=vzn(p,r,g),l=h.g,l>=d&&l==l){for(s=0;s<(!r.a&&(r.a=new q(Qe,r,10,11)),r.a).i;s++)z_n(n,u(L((!r.a&&(r.a=new q(Qe,r,10,11)),r.a),s),27),u(L((!e.a&&(e.a=new q(Qe,e,10,11)),e.a),s),27));T$n(e,p),s2e(c,h.c),o2e(c,h.b)}--f}ht(e,(_h(),Nv),c.b),ht(e,O3,c.c),t.Vg()}function ZDe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I;for(e.Ug("Interactive node layering",1),t=new Z,g=new C(n.a);g.a=f){oe(I.b>0),I.a.Xb(I.c=--I.b);break}else j.a>h&&(i?(hi(i.b,j.b),i.a=y.Math.max(i.a,j.a),bo(I)):(nn(j.b,a),j.c=y.Math.min(j.c,h),j.a=y.Math.max(j.a,f),i=j));i||(i=new Vyn,i.c=h,i.a=f,Rb(I,i),nn(i.b,a))}for(s=n.b,l=0,A=new C(t);A.ap&&(c&&(ir(X,g),ir(jn,Y(l.b-1))),Ze=t.b,Lt+=g+e,g=0,a=y.Math.max(a,t.b+t.c+ue)),eu(f,Ze),tu(f,Lt),a=y.Math.max(a,Ze+ue+t.c),g=y.Math.max(g,d),Ze+=ue+e;if(a=y.Math.max(a,i),Kn=Lt+g+t.a,Knvh,kn=y.Math.abs(g.b-m.b)>vh,(!t&&jn&&kn||t&&(jn||kn))&&xe(j.a,N)),Bi(j.a,i),i.b==0?g=N:g=(oe(i.b!=0),u(i.c.b.c,8)),Rve(p,d,k),Mxn(r)==en&&(Hi(en.i)!=r.a&&(k=new Li,mnn(k,Hi(en.i),I)),U(j,pH,k)),yje(p,j,I),a.a.zc(p,a);Zi(j,H),Ii(j,en)}for(l=a.a.ec().Kc();l.Ob();)h=u(l.Pb(),18),Zi(h,null),Ii(h,null);e.Vg()}function tLe(n,e){var t,i,r,c,s,f,h,l,a,d,g;for(r=u(v(n,(lc(),vb)),88),a=r==(ci(),Br)||r==Xr?Vf:Xr,t=u(Wr(ut(new Tn(null,new In(n.b,16)),new n4n),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),h=u(Wr(_r(t.Oc(),new wkn(e)),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[Yr]))),15),h.Gc(u(Wr(_r(t.Oc(),new gkn(e)),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[Yr]))),16)),h.jd(new pkn(a)),g=new Ul(new mkn(r)),i=new de,f=h.Kc();f.Ob();)s=u(f.Pb(),240),l=u(s.a,40),on(un(s.c))?(g.a.zc(l,(_n(),wa))==null,new Y3(g.a.Zc(l,!1)).a.gc()>0&&Xe(i,l,u(new Y3(g.a.Zc(l,!1)).a.Vc(),40)),new Y3(g.a.ad(l,!0)).a.gc()>1&&Xe(i,PBn(g,l),l)):(new Y3(g.a.Zc(l,!1)).a.gc()>0&&(c=u(new Y3(g.a.Zc(l,!1)).a.Vc(),40),x(c)===x(Kr(wr(i.f,l)))&&u(v(l,(pt(),eq)),15).Fc(c)),new Y3(g.a.ad(l,!0)).a.gc()>1&&(d=PBn(g,l),x(Kr(wr(i.f,d)))===x(l)&&u(v(d,(pt(),eq)),15).Fc(l)),g.a.Bc(l)!=null)}function nzn(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N;if(n.gc()==1)return u(n.Xb(0),235);if(n.gc()<=0)return new zM;for(r=n.Kc();r.Ob();){for(t=u(r.Pb(),235),m=0,a=et,d=et,h=Wi,l=Wi,p=new C(t.e);p.af&&(D=0,N+=s+A,s=0),SSe(k,t,D,N),e=y.Math.max(e,D+j.a),s=y.Math.max(s,j.b),D+=j.a+A;return k}function iLe(n){Ben();var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(n==null||(c=iT(n),m=O5e(c),m%4!=0))return null;if(k=m/4|0,k==0)return K(Fu,o2,28,0,15,1);for(d=null,e=0,t=0,i=0,r=0,s=0,f=0,h=0,l=0,p=0,g=0,a=0,d=K(Fu,o2,28,k*3,15,1);p>4)<<24>>24,d[g++]=((t&15)<<4|i>>2&15)<<24>>24,d[g++]=(i<<6|r)<<24>>24}return!t7(s=c[a++])||!t7(f=c[a++])?null:(e=Zf[s],t=Zf[f],h=c[a++],l=c[a++],Zf[h]==-1||Zf[l]==-1?h==61&&l==61?t&15?null:(j=K(Fu,o2,28,p*3+1,15,1),Ic(d,0,j,0,p*3),j[g]=(e<<2|t>>4)<<24>>24,j):h!=61&&l==61?(i=Zf[h],i&3?null:(j=K(Fu,o2,28,p*3+2,15,1),Ic(d,0,j,0,p*3),j[g++]=(e<<2|t>>4)<<24>>24,j[g]=((t&15)<<4|i>>2&15)<<24>>24,j)):null:(i=Zf[h],r=Zf[l],d[g++]=(e<<2|t>>4)<<24>>24,d[g++]=((t&15)<<4|i>>2&15)<<24>>24,d[g++]=(i<<6|r)<<24>>24,d))}function rLe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H;for(e.Ug(XXn,1),m=u(v(n,(cn(),$l)),223),r=new C(n.b);r.a=2){for(k=!0,g=new C(c.j),t=u(E(g),12),p=null;g.a0)if(i=d.gc(),l=wi(y.Math.floor((i+1)/2))-1,r=wi(y.Math.ceil((i+1)/2))-1,e.o==zf)for(a=r;a>=l;a--)e.a[N.p]==N&&(k=u(d.Xb(a),42),m=u(k.a,10),!of(t,k.b)&&p>n.b.e[m.p]&&(e.a[m.p]=N,e.g[N.p]=e.g[m.p],e.a[N.p]=e.g[N.p],e.f[e.g[N.p].p]=(_n(),!!(on(e.f[e.g[N.p].p])&N.k==(Vn(),Mi))),p=n.b.e[m.p]));else for(a=l;a<=r;a++)e.a[N.p]==N&&(A=u(d.Xb(a),42),j=u(A.a,10),!of(t,A.b)&&p0&&(r=u(sn(j.c.a,X-1),10),s=n.i[r.p],jn=y.Math.ceil(yg(n.n,r,j)),c=H.a.e-j.d.d-(s.a.e+r.o.b+r.d.a)-jn),l=St,X0&&en.a.e.e-en.a.a-(en.b.e.e-en.b.a)<0,m=D.a.e.e-D.a.a-(D.b.e.e-D.b.a)<0&&en.a.e.e-en.a.a-(en.b.e.e-en.b.a)>0,p=D.a.e.e+D.b.aen.b.e.e+en.a.a,N=0,!k&&!m&&(g?c+d>0?N=d:l-i>0&&(N=i):p&&(c+f>0?N=f:l-I>0&&(N=I))),H.a.e+=N,H.b&&(H.d.e+=N),!1))}function tzn(n,e,t){var i,r,c,s,f,h,l,a,d,g;if(i=new Ho(e.Lf().a,e.Lf().b,e.Mf().a,e.Mf().b),r=new mp,n.c)for(s=new C(e.Rf());s.al&&(i.a+=ITn(K(fs,gh,28,-l,15,1))),i.a+="Is",th(h,wu(32))>=0)for(r=0;r=i.o.b/2}else I=!d;I?(A=u(v(i,(W(),P3)),15),A?g?c=A:(r=u(v(i,C3),15),r?A.gc()<=r.gc()?c=A:c=r:(c=new Z,U(i,C3,c))):(c=new Z,U(i,P3,c))):(r=u(v(i,(W(),C3)),15),r?d?c=r:(A=u(v(i,P3),15),A?r.gc()<=A.gc()?c=r:c=A:(c=new Z,U(i,P3,c))):(c=new Z,U(i,C3,c))),c.Fc(n),U(n,(W(),tI),t),e.d==t?(Ii(e,null),t.e.c.length+t.g.c.length==0&&ic(t,null),j6e(t)):(Zi(e,null),t.e.c.length+t.g.c.length==0&&ic(t,null)),vo(e.a)}function sLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn,Kn,ue,Ze,Lt;for(t.Ug("MinWidth layering",1),p=e.b,en=e.a,Lt=u(v(e,(cn(),ihn)),17).a,f=u(v(e,rhn),17).a,n.b=$(R(v(e,Vs))),n.d=St,N=new C(en);N.a0?(l=0,j&&(l+=f),l+=(kn-1)*s,D&&(l+=f),jn&&D&&(l=y.Math.max(l,STe(D,s,I,en))),l=n.a&&(i=UPe(n,I),a=y.Math.max(a,i.b),N=y.Math.max(N,i.d),nn(f,new bi(I,i)));for(jn=new Z,l=0;l0),j.a.Xb(j.c=--j.b),kn=new Lc(n.b),Rb(j,kn),oe(j.b0){for(g=a<100?null:new F1(a),l=new KQ(e),m=l.g,A=K(ye,Ke,28,a,15,1),i=0,N=new S0(a),r=0;r=0;)if(p!=null?rt(p,m[h]):x(p)===x(m[h])){A.length<=i&&(j=A,A=K(ye,Ke,28,2*A.length,15,1),Ic(j,0,A,0,i)),A[i++]=r,ve(N,m[h]);break n}if(p=p,x(p)===x(f))break}}if(l=N,m=N.g,a=i,i>A.length&&(j=A,A=K(ye,Ke,28,i,15,1),Ic(j,0,A,0,i)),i>0){for(D=!0,c=0;c=0;)Jp(n,A[s]);if(i!=a){for(r=a;--r>=i;)Jp(l,r);j=A,A=K(ye,Ke,28,i,15,1),Ic(j,0,A,0,i)}e=l}}}else for(e=M7e(n,e),r=n.i;--r>=0;)e.Hc(n.g[r])&&(Jp(n,r),D=!0);if(D){if(A!=null){for(t=e.gc(),d=t==1?J6(n,4,e.Kc().Pb(),null,A[0],k):J6(n,6,e,A,A[0],k),g=t<100?null:new F1(t),r=e.Kc();r.Ob();)p=r.Pb(),g=PV(n,u(p,76),g);g?(g.nj(d),g.oj()):it(n.e,d)}else{for(g=Oae(e.gc()),r=e.Kc();r.Ob();)p=r.Pb(),g=PV(n,u(p,76),g);g&&g.oj()}return!0}else return!1}function lLe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D;for(t=new yRn(e),t.a||RSe(e),l=FAe(e),h=new C0,j=new Eqn,k=new C(e.a);k.a0||t.o==zf&&r=t}function dLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn,Kn,ue;for(D=e,I=new C0,N=new C0,a=A0(D,Scn),i=new IIn(n,t,I,N),Lje(i.a,i.b,i.c,i.d,a),h=(en=I.i,en||(I.i=new Cg(I,I.c))),kn=h.Kc();kn.Ob();)for(jn=u(kn.Pb(),166),r=u(ot(I,jn),21),k=r.Kc();k.Ob();)if(m=k.Pb(),H=u(Dg(n.d,m),166),H)f=(!jn.e&&(jn.e=new Nn(Mt,jn,10,9)),jn.e),ve(f,H);else throw s=bl(D,Eh),g=kWn+m+yWn+s,p=g+iv,M(new nh(p));for(l=(X=N.i,X||(N.i=new Cg(N,N.c))),Kn=l.Kc();Kn.Ob();)for(Rn=u(Kn.Pb(),166),c=u(ot(N,Rn),21),A=c.Kc();A.Ob();)if(j=A.Pb(),H=u(Dg(n.d,j),166),H)d=(!Rn.g&&(Rn.g=new Nn(Mt,Rn,9,10)),Rn.g),ve(d,H);else throw s=bl(D,Eh),g=kWn+j+yWn+s,p=g+iv,M(new nh(p));!t.b&&(t.b=new Nn(he,t,4,7)),t.b.i!=0&&(!t.c&&(t.c=new Nn(he,t,5,8)),t.c.i!=0)&&(!t.b&&(t.b=new Nn(he,t,4,7)),t.b.i<=1&&(!t.c&&(t.c=new Nn(he,t,5,8)),t.c.i<=1))&&(!t.a&&(t.a=new q(Mt,t,6,6)),t.a).i==1&&(ue=u(L((!t.a&&(t.a=new q(Mt,t,6,6)),t.a),0),166),!Sx(ue)&&!Px(ue)&&(mT(ue,u(L((!t.b&&(t.b=new Nn(he,t,4,7)),t.b),0),84)),vT(ue,u(L((!t.c&&(t.c=new Nn(he,t,5,8)),t.c),0),84))))}function bLe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn;for(D=n.a,N=0,H=D.length;N0?(d=u(sn(g.c.a,s-1),10),jn=yg(n.b,g,d),j=g.n.b-g.d.d-(d.n.b+d.o.b+d.d.a+jn)):j=g.n.b-g.d.d,l=y.Math.min(j,l),s1&&(s=y.Math.min(s,y.Math.abs(u(Zo(f.a,1),8).b-a.b)))));else for(k=new C(e.j);k.ar&&(c=g.a-r,s=et,i.c.length=0,r=g.a),g.a>=r&&(Bn(i.c,f),f.a.b>1&&(s=y.Math.min(s,y.Math.abs(u(Zo(f.a,f.a.b-2),8).b-g.b)))));if(i.c.length!=0&&c>e.o.a/2&&s>e.o.b/2){for(p=new Pc,ic(p,e),gi(p,(tn(),Xn)),p.n.a=e.o.a/2,A=new Pc,ic(A,e),gi(A,ae),A.n.a=e.o.a/2,A.n.b=e.o.b,h=new C(i);h.a=l.b?Zi(f,A):Zi(f,p)):(l=u(cbe(f.a),8),j=f.a.b==0?Pf(f.c):u(Ns(f.a),8),j.b>=l.b?Ii(f,A):Ii(f,p)),d=u(v(f,(cn(),Fr)),75),d&&iw(d,l,!0);e.n.a=r-e.o.a/2}}function gLe(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(f=ge(n.b,0);f.b!=f.d.c;)if(s=u(be(f),40),!An(s.c,IS))for(l=_Ce(s,n),e==(ci(),Br)||e==Xr?Yt(l,new M4n):Yt(l,new T4n),h=l.c.length,i=0;i=0?p=zp(f):p=Bk(zp(f)),n.qf(Mv,p)),l=new Li,g=!1,n.pf(bb)?(ZX(l,u(n.of(bb),8)),g=!0):T1e(l,s.a/2,s.b/2),p.g){case 4:U(a,ou,(Yo(),ka)),U(a,rI,(hd(),p2)),a.o.b=s.b,k<0&&(a.o.a=-k),gi(d,(tn(),Zn)),g||(l.a=s.a),l.a-=s.a;break;case 2:U(a,ou,(Yo(),xw)),U(a,rI,(hd(),mv)),a.o.b=s.b,k<0&&(a.o.a=-k),gi(d,(tn(),Wn)),g||(l.a=0);break;case 1:U(a,Od,(vl(),v2)),a.o.a=s.a,k<0&&(a.o.b=-k),gi(d,(tn(),ae)),g||(l.b=s.b),l.b-=s.b;break;case 3:U(a,Od,(vl(),E3)),a.o.a=s.a,k<0&&(a.o.b=-k),gi(d,(tn(),Xn)),g||(l.b=0)}if(ZX(d.n,l),U(a,bb,l),e==Ud||e==tl||e==qc){if(m=0,e==Ud&&n.pf(v1))switch(p.g){case 1:case 2:m=u(n.of(v1),17).a;break;case 3:case 4:m=-u(n.of(v1),17).a}else switch(p.g){case 4:case 2:m=c.b,e==tl&&(m/=r.b);break;case 1:case 3:m=c.a,e==tl&&(m/=r.a)}U(a,fb,m)}return U(a,gc,p),a}function pLe(){Cz();function n(i){var r=this;this.dispatch=function(c){var s=c.data;switch(s.cmd){case"algorithms":var f=GY((Dn(),new Q3(new ol(Oa.b))));i.postMessage({id:s.id,data:f});break;case"categories":var h=GY((Dn(),new Q3(new ol(Oa.c))));i.postMessage({id:s.id,data:h});break;case"options":var l=GY((Dn(),new Q3(new ol(Oa.d))));i.postMessage({id:s.id,data:l});break;case"register":kOe(s.algorithms),i.postMessage({id:s.id});break;case"layout":WPe(s.graph,s.layoutOptions||{},s.options||{}),i.postMessage({id:s.id,data:s.graph});break}},this.saveDispatch=function(c){try{r.dispatch(c)}catch(s){i.postMessage({id:c.data.id,error:s})}}}function e(i){var r=this;this.dispatcher=new n({postMessage:function(c){r.onmessage({data:c})}}),this.postMessage=function(c){setTimeout(function(){r.dispatcher.saveDispatch({data:c})},0)}}if(typeof document===xB&&typeof self!==xB){var t=new n(self);self.onmessage=t.saveDispatch}else typeof gt!==xB&>.exports&&(Object.defineProperty(Sr,"__esModule",{value:!0}),gt.exports={default:e,Worker:e})}function szn(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(a=new Tl(t),Ur(a,e),U(a,(W(),st),e),a.o.a=e.g,a.o.b=e.f,a.n.a=e.i,a.n.b=e.j,nn(t.a,a),Xe(n.a,e,a),((!e.a&&(e.a=new q(Qe,e,10,11)),e.a).i!=0||on(un(z(e,(cn(),Rw)))))&&U(a,Zsn,(_n(),!0)),l=u(v(t,Hc),21),d=u(v(a,(cn(),Kt)),101),d==(Oi(),Sa)?U(a,Kt,Jf):d!=Jf&&l.Fc((pr(),yv)),g=0,i=u(v(t,Do),88),h=new ne((!e.c&&(e.c=new q(Qu,e,9,9)),e.c));h.e!=h.i.gc();)f=u(ce(h),123),r=At(e),(x(z(r,Yh))!==x((lh(),k1))||x(z(r,Ld))===x((o1(),pv))||x(z(r,Ld))===x((o1(),gv))||on(un(z(r,lb)))||x(z(r,Fw))!==x((dd(),Ow))||x(z(r,ya))===x((gs(),pb))||x(z(r,ya))===x((gs(),Uw))||x(z(r,$d))===x((a1(),Pv))||x(z(r,$d))===x((a1(),Iv)))&&!on(un(z(e,lI)))&&ht(f,dt,Y(g++)),on(un(z(f,Fd)))||ADe(n,f,a,l,i,d);for(s=new ne((!e.n&&(e.n=new q(Ar,e,1,7)),e.n));s.e!=s.i.gc();)c=u(ce(s),135),!on(un(z(c,Fd)))&&c.a&&nn(a.b,ex(c));return on(un(v(a,z8)))&&l.Fc((pr(),ZP)),on(un(v(a,wI)))&&(l.Fc((pr(),nI)),l.Fc(K8),U(a,Kt,Jf)),a}function QF(n,e,t,i,r,c,s){var f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn,Kn,ue,Ze,Lt;for(k=0,Rn=0,l=new C(n.b);l.ak&&(c&&(ir(X,p),ir(jn,Y(a.b-1)),nn(n.d,m),f.c.length=0),Ze=t.b,Lt+=p+e,p=0,d=y.Math.max(d,t.b+t.c+ue)),Bn(f.c,h),dRn(h,Ze,Lt),d=y.Math.max(d,Ze+ue+t.c),p=y.Math.max(p,g),Ze+=ue+e,m=h;if(hi(n.a,f),nn(n.d,u(sn(f,f.c.length-1),163)),d=y.Math.max(d,i),Kn=Lt+p+t.a,Knr.d.d+r.d.a?a.f.d=!0:(a.f.d=!0,a.f.a=!0))),i.b!=i.d.c&&(e=t);a&&(c=u(ee(n.f,s.d.i),60),e.bc.d.d+c.d.a?a.f.d=!0:(a.f.d=!0,a.f.a=!0))}for(f=new te(re(ji(p).a.Kc(),new En));pe(f);)s=u(fe(f),18),s.a.b!=0&&(e=u(Ns(s.a),8),s.d.j==(tn(),Xn)&&(j=new z5(e,new V(e.a,r.d.d),r,s),j.f.a=!0,j.a=s.d,Bn(k.c,j)),s.d.j==ae&&(j=new z5(e,new V(e.a,r.d.d+r.d.a),r,s),j.f.d=!0,j.a=s.d,Bn(k.c,j)))}return k}function ELe(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(h=new Z,d=e.length,s=tY(t),l=0;l=m&&(I>m&&(p.c.length=0,m=I),Bn(p.c,s));p.c.length!=0&&(g=u(sn(p,cA(e,p.c.length)),131),Kn.a.Bc(g)!=null,g.s=k++,nen(g,kn,X),p.c.length=0)}for(N=n.c.length+1,f=new C(n);f.aRn.s&&(bo(t),du(Rn.i,i),i.c>0&&(i.a=Rn,nn(Rn.t,i),i.b=en,nn(en.i,i)))}function fzn(n,e,t,i,r){var c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn,Kn;for(k=new Gc(e.b),N=new Gc(e.b),g=new Gc(e.b),jn=new Gc(e.b),j=new Gc(e.b),en=ge(e,0);en.b!=en.d.c;)for(H=u(be(en),12),f=new C(H.g);f.a0,A=H.g.c.length>0,l&&A?Bn(g.c,H):l?Bn(k.c,H):A&&Bn(N.c,H);for(m=new C(k);m.aI.nh()-l.b&&(g=I.nh()-l.b),p>I.oh()-l.d&&(p=I.oh()-l.d),a0){for(D=ge(n.f,0);D.b!=D.d.c;)I=u(be(D),10),I.p+=g-n.e;vnn(n),vo(n.f),ben(n,i,p)}else{for(xe(n.f,p),p.p=i,n.e=y.Math.max(n.e,i),c=new te(re(ji(p).a.Kc(),new En));pe(c);)r=u(fe(c),18),!r.c.i.c&&r.c.i.k==(Vn(),Ac)&&(xe(n.f,r.c.i),r.c.i.p=i-1);n.c=i}else vnn(n),vo(n.f),i=0,pe(new te(re(ji(p).a.Kc(),new En)))?(g=0,g=mRn(g,p),i=g+2,ben(n,i,p)):(xe(n.f,p),p.p=0,n.e=y.Math.max(n.e,0),n.b=u(sn(n.d.b,0),30),n.c=0);for(n.f.b==0||vnn(n),n.d.a.c.length=0,A=new Z,l=new C(n.d.b);l.a=48&&e<=57){for(i=e-48;r=48&&e<=57;)if(i=i*10+e-48,i<0)throw M(new Le($e((Ie(),_cn))))}else throw M(new Le($e((Ie(),XWn))));if(t=i,e==44){if(r>=n.j)throw M(new Le($e((Ie(),WWn))));if((e=Xi(n.i,r++))>=48&&e<=57){for(t=e-48;r=48&&e<=57;)if(t=t*10+e-48,t<0)throw M(new Le($e((Ie(),_cn))));if(i>t)throw M(new Le($e((Ie(),JWn))))}else t=-1}if(e!=125)throw M(new Le($e((Ie(),VWn))));n.bm(r)?(c=(nt(),nt(),new Xb(9,c)),n.d=r+1):(c=(nt(),nt(),new Xb(3,c)),n.d=r),c.Om(i),c.Nm(t),Ye(n)}}return c}function PLe(n){var e,t,i,r,c;switch(t=u(v(n,(W(),Hc)),21),e=DC(mZn),r=u(v(n,(cn(),Bw)),346),r==(jl(),M1)&&Mo(e,vZn),on(un(v(n,TH)))?Re(e,(Vi(),Xs),(tr(),$_)):Re(e,(Vi(),Oc),(tr(),$_)),v(n,(JM(),p9))!=null&&Mo(e,kZn),(on(un(v(n,nhn)))||on(un(v(n,Jfn))))&&Pu(e,(Vi(),zr),(tr(),Won)),u(v(n,Do),88).g){case 2:case 3:case 4:Pu(Re(e,(Vi(),Xs),(tr(),Qon)),zr,Jon)}switch(t.Hc((pr(),ZP))&&Pu(Re(Re(e,(Vi(),Xs),(tr(),Von)),Kc,zon),zr,Xon),x(v(n,ya))!==x((gs(),AI))&&Re(e,(Vi(),Oc),(tr(),asn)),t.Hc(eI)&&(Re(e,(Vi(),Xs),(tr(),gsn)),Re(e,Jh,bsn),Re(e,Oc,wsn)),x(v(n,fI))!==x((jm(),R8))&&x(v(n,$l))!==x((El(),Yj))&&Pu(e,(Vi(),zr),(tr(),usn)),on(un(v(n,Yfn)))&&Re(e,(Vi(),Oc),(tr(),csn)),on(un(v(n,jH)))&&Re(e,(Vi(),Oc),(tr(),psn)),HMe(n)&&(x(v(n,Bw))===x(M1)?i=u(v(n,Cj),299):i=u(v(n,yH),299),c=i==(Z4(),uH)?(tr(),dsn):(tr(),ksn),Re(e,(Vi(),Kc),c)),u(v(n,Thn),388).g){case 1:Re(e,(Vi(),Kc),(tr(),msn));break;case 2:Pu(Re(Re(e,(Vi(),Oc),(tr(),Hon)),Kc,qon),zr,Uon)}return x(v(n,Yh))!==x((lh(),k1))&&Re(e,(Vi(),Oc),(tr(),vsn)),e}function dzn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D;if(Zc(n.a,e)){if(of(u(ee(n.a,e),49),t))return 1}else Xe(n.a,e,new ni);if(Zc(n.a,t)){if(of(u(ee(n.a,t),49),e))return-1}else Xe(n.a,t,new ni);if(Zc(n.e,e)){if(of(u(ee(n.e,e),49),t))return-1}else Xe(n.e,e,new ni);if(Zc(n.e,t)){if(of(u(ee(n.a,t),49),e))return 1}else Xe(n.e,t,new ni);if(n.c==(lh(),HH)||!kt(e,(W(),dt))||!kt(t,(W(),dt))){for(d=null,l=new C(e.j);l.as?Pm(n,e,t):Pm(n,t,e),rs?1:0}return i=u(v(e,(W(),dt)),17).a,c=u(v(t,dt),17).a,i>c?Pm(n,e,t):Pm(n,t,e),ic?1:0}function z0(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(t==null)return null;if(n.a!=e.jk())throw M(new Gn(ev+e.xe()+nb));if(O(e,469)){if(j=kAe(u(e,685),t),!j)throw M(new Gn(fK+t+"' is not a valid enumerator of '"+e.xe()+"'"));return j}switch(r1((Du(),zi),e).Nl()){case 2:{t=Fc(t,!1);break}case 3:{t=Fc(t,!0);break}}if(i=r1(zi,e).Jl(),i)return i.jk().wi().ti(i,t);if(g=r1(zi,e).Ll(),g){for(j=new Z,l=z$(t),a=0,d=l.length;a1)for(m=new kp((!n.a&&(n.a=new q(Mt,n,6,6)),n.a));m.e!=m.i.gc();)D5(m);for(s=u(L((!n.a&&(n.a=new q(Mt,n,6,6)),n.a),0),166),j=Ze,Ze>H+N?j=H+N:ZeX+k?A=X+k:LtH-N&&jX-k&&AZe+ue?jn=Ze+ue:HLt+en?kn=Lt+en:XZe-ue&&jnLt-en&&knt&&(g=t-1),p=D1+to(e,24)*Iy*d-d/2,p<0?p=1:p>i&&(p=i-1),r=(B1(),h=new yE,h),aT(r,g),lT(r,p),ve((!s.a&&(s.a=new ti(xo,s,5)),s.a),r)}function bzn(n){r0(n,new gd(e0(Yd(n0(Zd(new Ra,co),"ELK Rectangle Packing"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."),new rmn))),Q(n,co,l3,1.3),Q(n,co,zm,(_n(),!1)),Q(n,co,W0,k1n),Q(n,co,yw,15),Q(n,co,MS,rn(Oce)),Q(n,co,i2,rn(Nce)),Q(n,co,d3,rn(xce)),Q(n,co,a3,rn(Fce)),Q(n,co,Xm,rn(Lce)),Q(n,co,o8,rn(Dq)),Q(n,co,Vm,rn(Bce)),Q(n,co,ecn,rn(C1n)),Q(n,co,tcn,rn(E1n)),Q(n,co,ncn,rn(Nq)),Q(n,co,Zrn,rn(M1n)),Q(n,co,icn,rn(v1n)),Q(n,co,rcn,rn(Lq)),Q(n,co,ccn,rn(m1n)),Q(n,co,ucn,rn(j1n)),Q(n,co,u8,rn(p1n)),Q(n,co,AS,rn(Dce)),Q(n,co,Qrn,rn(Rj)),Q(n,co,Jrn,rn(g1n)),Q(n,co,Yrn,rn(Kj)),Q(n,co,Wrn,rn(y1n))}function ZF(n,e){BF();var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en;if(D=n.e,a=n.d,r=n.a,D==0)switch(e){case 0:return"0";case 1:return Km;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return A=new x1,A.a+="0E",A.a+=-e,A.a}if(k=a*10+1+7,j=K(fs,gh,28,k+1,15,1),t=k,a==1)if(c=r[0],c<0){en=vi(c,mr);do d=en,en=Wk(en,10),j[--t]=48+Ae(bs(d,er(en,10)))&ui;while(Ec(en,0)!=0)}else{en=c;do d=en,en=en/10|0,j[--t]=48+(d-en*10)&ui;while(en!=0)}else{N=K(ye,Ke,28,a,15,1),X=a,Ic(r,0,N,0,X);n:for(;;){for(I=0,f=X-1;f>=0;f--)H=nr(Fs(I,32),vi(N[f],mr)),p=mye(H),N[f]=Ae(p),I=Ae(w0(p,32));m=Ae(I),g=t;do j[--t]=48+m%10&ui;while((m=m/10|0)!=0&&t!=0);for(i=9-g+t,s=0;s0;s++)j[--t]=48;for(h=X-1;N[h]==0;h--)if(h==0)break n;X=h+1}for(;j[t]==48;)++t}return l=D<0,l&&(j[--t]=45),hh(j,t,k-t)}function wzn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X;switch(n.c=e,n.g=new de,t=(c0(),new Qd(n.c)),i=new IE(t),HY(i),D=Oe(z(n.c,(Qk(),U1n))),h=u(z(n.c,Uq),324),H=u(z(n.c,Gq),437),s=u(z(n.c,_1n),490),N=u(z(n.c,qq),438),n.j=$(R(z(n.c,Yce))),f=n.a,h.g){case 0:f=n.a;break;case 1:f=n.b;break;case 2:f=n.i;break;case 3:f=n.e;break;case 4:f=n.f;break;default:throw M(new Gn(xS+(h.f!=null?h.f:""+h.g)))}if(n.d=new sOn(f,H,s),U(n.d,(J4(),N8),un(z(n.c,Jce))),n.d.c=on(un(z(n.c,H1n))),AM(n.c).i==0)return n.d;for(d=new ne(AM(n.c));d.e!=d.i.gc();){for(a=u(ce(d),27),p=a.g/2,g=a.f/2,X=new V(a.i+p,a.j+g);Zc(n.g,X);)a0(X,(y.Math.random()-.5)*vh,(y.Math.random()-.5)*vh);k=u(z(a,(qe(),xv)),140),j=new jOn(X,new Ho(X.a-p-n.j/2-k.b,X.b-g-n.j/2-k.d,a.g+n.j+(k.b+k.c),a.f+n.j+(k.d+k.a))),nn(n.d.i,j),Xe(n.g,X,new bi(j,a))}switch(N.g){case 0:if(D==null)n.d.d=u(sn(n.d.i,0),68);else for(I=new C(n.d.i);I.a0?ue+1:1);for(s=new C(X.g);s.a0?ue+1:1)}n.c[l]==0?xe(n.e,k):n.a[l]==0&&xe(n.f,k),++l}for(m=-1,p=1,d=new Z,n.d=u(v(e,(W(),S3)),234);Fo>0;){for(;n.e.b!=0;)Lt=u(UL(n.e),10),n.b[Lt.p]=m--,Oen(n,Lt),--Fo;for(;n.f.b!=0;)Yu=u(UL(n.f),10),n.b[Yu.p]=p++,Oen(n,Yu),--Fo;if(Fo>0){for(g=Wi,I=new C(D);I.a=g&&(N>g&&(d.c.length=0,g=N),Bn(d.c,k)));a=n.sg(d),n.b[a.p]=p++,Oen(n,a),--Fo}}for(Ze=D.c.length+1,l=0;ln.b[Rr]&&(U0(i,!0),U(e,kj,(_n(),!0)));n.a=null,n.c=null,n.b=null,vo(n.f),vo(n.e),t.Vg()}function gzn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X;for(H=u(L((!n.a&&(n.a=new q(Mt,n,6,6)),n.a),0),166),a=new Mu,N=new de,X=MUn(H),Vc(N.f,H,X),g=new de,i=new Ct,m=$h(Eo(S(T(Oo,1),Fn,20,0,[(!e.d&&(e.d=new Nn(Vt,e,8,5)),e.d),(!e.e&&(e.e=new Nn(Vt,e,7,4)),e.e)])));pe(m);){if(p=u(fe(m),74),(!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i!=1)throw M(new Gn(tWn+(!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i));p!=n&&(j=u(L((!p.a&&(p.a=new q(Mt,p,6,6)),p.a),0),166),xt(i,j,i.c.b,i.c),k=u(Kr(wr(N.f,j)),13),k||(k=MUn(j),Vc(N.f,j,k)),d=t?mi(new rr(u(sn(X,X.c.length-1),8)),u(sn(k,k.c.length-1),8)):mi(new rr((Ln(0,X.c.length),u(X.c[0],8))),(Ln(0,k.c.length),u(k.c[0],8))),Vc(g.f,j,d))}if(i.b!=0)for(A=u(sn(X,t?X.c.length-1:0),8),l=1;l1&&xt(a,A,a.c.b,a.c),p$(r)));A=I}return a}function pzn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn;for(t.Ug(pVn,1),Rn=u(Wr(ut(new Tn(null,new In(e,16)),new L4n),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),a=u(Wr(ut(new Tn(null,new In(e,16)),new kkn(e)),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[Yr]))),15),m=u(Wr(ut(new Tn(null,new In(e,16)),new vkn(e)),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[Yr]))),15),k=K(NI,OS,40,e.gc(),0,1),s=0;s=0&&kn=0&&!k[p]){k[p]=r,a.gd(f),--f;break}if(p=kn-g,p=0&&!k[p]){k[p]=r,a.gd(f),--f;break}}for(m.jd(new N4n),h=k.length-1;h>=0;h--)!k[h]&&!m.dc()&&(k[h]=u(m.Xb(0),40),m.gd(0));for(l=0;l=0;h--)xe(t,(Ln(h,s.c.length),u(s.c[h],8)));return t}function vzn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N;for(D=$(R(z(e,(_h(),Xw)))),p=$(R(z(e,a9))),g=$(R(z(e,UI))),NQ((!e.a&&(e.a=new q(Qe,e,10,11)),e.a)),A=fGn((!e.a&&(e.a=new q(Qe,e,10,11)),e.a),D,n.b),j=0;jg&&Xk((Ln(g,e.c.length),u(e.c[g],186)),a),a=null;e.c.length>g&&(Ln(g,e.c.length),u(e.c[g],186)).a.c.length==0;)du(e,(Ln(g,e.c.length),e.c[g]));if(!a){--s;continue}if(!on(un(u(sn(a.b,0),27).of((Bf(),Kj))))&&YSe(e,m,c,a,j,t,g,i)){k=!0;continue}if(j){if(p=m.b,d=a.f,!on(un(u(sn(a.b,0),27).of(Kj)))&&pOe(e,m,c,a,t,g,i,r)){if(k=!0,p=n.j){n.a=-1,n.c=1;return}if(e=Xi(n.i,n.d++),n.a=e,n.b==1){switch(e){case 92:if(i=10,n.d>=n.j)throw M(new Le($e((Ie(),qS))));n.a=Xi(n.i,n.d++);break;case 45:(n.e&512)==512&&n.d=n.j||Xi(n.i,n.d)!=63)break;if(++n.d>=n.j)throw M(new Le($e((Ie(),jK))));switch(e=Xi(n.i,n.d++),e){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(n.d>=n.j)throw M(new Le($e((Ie(),jK))));if(e=Xi(n.i,n.d++),e==61)i=16;else if(e==33)i=17;else throw M(new Le($e((Ie(),PWn))));break;case 35:for(;n.d=n.j)throw M(new Le($e((Ie(),qS))));n.a=Xi(n.i,n.d++);break;default:i=0}n.c=i}function RLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(t.Ug("Process compaction",1),!!on(un(v(e,(lc(),Mln))))){for(r=u(v(e,vb),88),p=$(R(v(e,fq))),aIe(n,e,r),tLe(e,p/2/2),m=e.b,ud(m,new akn(r)),l=ge(m,0);l.b!=l.d.c;)if(h=u(be(l),40),!on(un(v(h,(pt(),Ca))))){if(i=BAe(h,r),k=LPe(h,e),d=0,g=0,i)switch(j=i.e,r.g){case 2:d=j.a-p-h.f.a,k.e.a-p-h.f.ad&&(d=k.e.a+k.f.a+p),g=d+h.f.a;break;case 4:d=j.b-p-h.f.b,k.e.b-p-h.f.bd&&(d=k.e.b+k.f.b+p),g=d+h.f.b}else if(k)switch(r.g){case 2:d=k.e.a-p-h.f.a,g=d+h.f.a;break;case 1:d=k.e.a+k.f.a+p,g=d+h.f.a;break;case 4:d=k.e.b-p-h.f.b,g=d+h.f.b;break;case 3:d=k.e.b+k.f.b+p,g=d+h.f.b}x(v(e,sq))===x((b5(),Lj))?(c=d,s=g,f=im(ut(new Tn(null,new In(n.a,16)),new eMn(c,s))),f.a!=null?r==(ci(),Br)||r==Xr?h.e.a=d:h.e.b=d:(r==(ci(),Br)||r==us?f=im(ut(O$n(new Tn(null,new In(n.a,16))),new dkn(c))):f=im(ut(O$n(new Tn(null,new In(n.a,16))),new bkn(c))),f.a!=null&&(r==Br||r==Xr?h.e.a=$(R((oe(f.a!=null),u(f.a,42)).a)):h.e.b=$(R((oe(f.a!=null),u(f.a,42)).a)))),f.a!=null&&(a=qr(n.a,(oe(f.a!=null),f.a),0),a>0&&a!=u(v(h,Sh),17).a&&(U(h,pln,(_n(),!0)),U(h,Sh,Y(a))))):r==(ci(),Br)||r==Xr?h.e.a=d:h.e.b=d}t.Vg()}}function kzn(n){var e,t,i,r,c,s,f,h,l;for(n.b=1,Ye(n),e=null,n.c==0&&n.a==94?(Ye(n),e=(nt(),nt(),new yo(4)),xc(e,0,cv),f=new yo(4)):f=(nt(),nt(),new yo(4)),r=!0;(l=n.c)!=1;){if(l==0&&n.a==93&&!r){e&&(Q5(e,f),f=e);break}if(t=n.a,i=!1,l==10)switch(t){case 100:case 68:case 119:case 87:case 115:case 83:gw(f,Im(t)),i=!0;break;case 105:case 73:case 99:case 67:t=(gw(f,Im(t)),-1),t<0&&(i=!0);break;case 112:case 80:if(h=$nn(n,t),!h)throw M(new Le($e((Ie(),EK))));gw(f,h),i=!0;break;default:t=gen(n)}else if(l==24&&!r){if(e&&(Q5(e,f),f=e),c=kzn(n),Q5(f,c),n.c!=0||n.a!=93)throw M(new Le($e((Ie(),RWn))));break}if(Ye(n),!i){if(l==0){if(t==91)throw M(new Le($e((Ie(),Rcn))));if(t==93)throw M(new Le($e((Ie(),Kcn))));if(t==45&&!r&&n.a!=93)throw M(new Le($e((Ie(),CK))))}if(n.c!=0||n.a!=45||t==45&&r)xc(f,t,t);else{if(Ye(n),(l=n.c)==1)throw M(new Le($e((Ie(),US))));if(l==0&&n.a==93)xc(f,t,t),xc(f,45,45);else{if(l==0&&n.a==93||l==24)throw M(new Le($e((Ie(),CK))));if(s=n.a,l==0){if(s==91)throw M(new Le($e((Ie(),Rcn))));if(s==93)throw M(new Le($e((Ie(),Kcn))));if(s==45)throw M(new Le($e((Ie(),CK))))}else l==10&&(s=gen(n));if(Ye(n),t>s)throw M(new Le($e((Ie(),HWn))));xc(f,t,s)}}}r=!1}if(n.c==1)throw M(new Le($e((Ie(),US))));return Ug(f),W5(f),n.b=0,Ye(n),f}function KLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H;if(t.Ug("Coffman-Graham Layering",1),e.a.c.length==0){t.Vg();return}for(H=u(v(e,(cn(),thn)),17).a,h=0,s=0,g=new C(e.a);g.a=H||!N8e(A,i))&&(i=mIn(e,a)),$i(A,i),c=new te(re(ji(A).a.Kc(),new En));pe(c);)r=u(fe(c),18),!n.a[r.p]&&(k=r.c.i,--n.e[k.p],n.e[k.p]==0&&Mp(ym(p,k),_m));for(l=a.c.length-1;l>=0;--l)nn(e.b,(Ln(l,a.c.length),u(a.c[l],30)));e.a.c.length=0,t.Vg()}function yzn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N;N=!1;do for(N=!1,c=e?new Ha(n.a.b).a.gc()-2:1;e?c>=0:cu(v(j,dt),17).a)&&(D=!1);if(D){for(h=e?c+1:c-1,f=yJ(n.a,Y(h)),s=!1,I=!0,i=!1,a=ge(f,0);a.b!=a.d.c;)l=u(be(a),10),kt(l,dt)?l.p!=d.p&&(s=s|(e?u(v(l,dt),17).au(v(d,dt),17).a),I=!1):!s&&I&&l.k==(Vn(),Ac)&&(i=!0,e?g=u(fe(new te(re(ji(l).a.Kc(),new En))),18).c.i:g=u(fe(new te(re(Qt(l).a.Kc(),new En))),18).d.i,g==d&&(e?t=u(fe(new te(re(Qt(l).a.Kc(),new En))),18).d.i:t=u(fe(new te(re(ji(l).a.Kc(),new En))),18).c.i,(e?u(xb(n.a,t),17).a-u(xb(n.a,g),17).a:u(xb(n.a,g),17).a-u(xb(n.a,t),17).a)<=2&&(I=!1)));if(i&&I&&(e?t=u(fe(new te(re(Qt(d).a.Kc(),new En))),18).d.i:t=u(fe(new te(re(ji(d).a.Kc(),new En))),18).c.i,(e?u(xb(n.a,t),17).a-u(xb(n.a,d),17).a:u(xb(n.a,d),17).a-u(xb(n.a,t),17).a)<=2&&t.k==(Vn(),zt)&&(I=!1)),s||I){for(k=YHn(n,d,e);k.a.gc()!=0;)m=u(k.a.ec().Kc().Pb(),10),k.a.Bc(m)!=null,Bi(k,YHn(n,m,e));--p,N=!0}}}while(N)}function _Le(n){Me(n.c,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#decimal"])),Me(n.d,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#integer"])),Me(n.e,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#boolean"])),Me(n.f,Fe,S(T(fn,1),J,2,6,[Ji,"EBoolean",Je,"EBoolean:Object"])),Me(n.i,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#byte"])),Me(n.g,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Me(n.j,Fe,S(T(fn,1),J,2,6,[Ji,"EByte",Je,"EByte:Object"])),Me(n.n,Fe,S(T(fn,1),J,2,6,[Ji,"EChar",Je,"EChar:Object"])),Me(n.t,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#double"])),Me(n.u,Fe,S(T(fn,1),J,2,6,[Ji,"EDouble",Je,"EDouble:Object"])),Me(n.F,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#float"])),Me(n.G,Fe,S(T(fn,1),J,2,6,[Ji,"EFloat",Je,"EFloat:Object"])),Me(n.I,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#int"])),Me(n.J,Fe,S(T(fn,1),J,2,6,[Ji,"EInt",Je,"EInt:Object"])),Me(n.N,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#long"])),Me(n.O,Fe,S(T(fn,1),J,2,6,[Ji,"ELong",Je,"ELong:Object"])),Me(n.Z,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#short"])),Me(n.$,Fe,S(T(fn,1),J,2,6,[Ji,"EShort",Je,"EShort:Object"])),Me(n._,Fe,S(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#string"]))}function HLe(n,e,t,i,r,c,s){var f,h,l,a,d,g,p,m;return g=u(i.a,17).a,p=u(i.b,17).a,d=n.b,m=n.c,f=0,a=0,e==(ci(),Br)||e==Xr?(a=b7(lBn(Ub(_r(new Tn(null,new In(t.b,16)),new x4n),new m4n))),d.e.b+d.f.b/2>a?(l=++p,f=$(R(ho(_b(_r(new Tn(null,new In(t.b,16)),new rMn(r,l)),new v4n))))):(h=++g,f=$(R(ho(Ap(_r(new Tn(null,new In(t.b,16)),new cMn(r,h)),new k4n)))))):(a=b7(lBn(Ub(_r(new Tn(null,new In(t.b,16)),new C4n),new p4n))),d.e.a+d.f.a/2>a?(l=++p,f=$(R(ho(_b(_r(new Tn(null,new In(t.b,16)),new tMn(r,l)),new y4n))))):(h=++g,f=$(R(ho(Ap(_r(new Tn(null,new In(t.b,16)),new iMn(r,h)),new j4n)))))),e==Br?(ir(n.a,new V($(R(v(d,(pt(),yf))))-r,f)),ir(n.a,new V(m.e.a+m.f.a+r+c,f)),ir(n.a,new V(m.e.a+m.f.a+r+c,m.e.b+m.f.b/2)),ir(n.a,new V(m.e.a+m.f.a,m.e.b+m.f.b/2))):e==Xr?(ir(n.a,new V($(R(v(d,(pt(),Ws))))+r,d.e.b+d.f.b/2)),ir(n.a,new V(d.e.a+d.f.a+r,f)),ir(n.a,new V(m.e.a-r-c,f)),ir(n.a,new V(m.e.a-r-c,m.e.b+m.f.b/2)),ir(n.a,new V(m.e.a,m.e.b+m.f.b/2))):e==us?(ir(n.a,new V(f,$(R(v(d,(pt(),yf))))-r)),ir(n.a,new V(f,m.e.b+m.f.b+r+c)),ir(n.a,new V(m.e.a+m.f.a/2,m.e.b+m.f.b+r+c)),ir(n.a,new V(m.e.a+m.f.a/2,m.e.b+m.f.b+r))):(n.a.b==0||(u(Ns(n.a),8).b=$(R(v(d,(pt(),Ws))))+r*u(s.b,17).a),ir(n.a,new V(f,$(R(v(d,(pt(),Ws))))+r*u(s.b,17).a)),ir(n.a,new V(f,m.e.b-r*u(s.a,17).a-c))),new bi(Y(g),Y(p))}function qLe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p;if(s=!0,d=null,i=null,r=null,e=!1,p=$oe,l=null,c=null,f=0,h=yx(n,f,Kdn,_dn),h=0&&An(n.substr(f,2),"//")?(f+=2,h=yx(n,f,N9,$9),i=(Fi(f,h,n.length),n.substr(f,h-f)),f=h):d!=null&&(f==n.length||(zn(f,n.length),n.charCodeAt(f)!=47))&&(s=!1,h=GX(n,wu(35),f),h==-1&&(h=n.length),i=(Fi(f,h,n.length),n.substr(f,h-f)),f=h);if(!t&&f0&&Xi(a,a.length-1)==58&&(r=a,f=h)),fgF(c))&&(d=c);for(!d&&(d=(Ln(0,j.c.length),u(j.c[0],185))),k=new C(e.b);k.ad&&(Kn=0,ue+=a+en,a=0),lUn(H,s,Kn,ue),e=y.Math.max(e,Kn+X.a),a=y.Math.max(a,X.b),Kn+=X.a+en;for(N=new de,t=new de,kn=new C(n);kn.a=-1900?1:0,t>=4?Be(n,S(T(fn,1),J,2,6,[Bzn,Rzn])[f]):Be(n,S(T(fn,1),J,2,6,["BC","AD"])[f]);break;case 121:f9e(n,t,i);break;case 77:ASe(n,t,i);break;case 107:h=r.q.getHours(),h==0?Bh(n,24,t):Bh(n,h,t);break;case 83:_Me(n,t,r);break;case 69:a=i.q.getDay(),t==5?Be(n,S(T(fn,1),J,2,6,["S","M","T","W","T","F","S"])[a]):t==4?Be(n,S(T(fn,1),J,2,6,[vB,kB,yB,jB,EB,CB,MB])[a]):Be(n,S(T(fn,1),J,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[a]);break;case 97:r.q.getHours()>=12&&r.q.getHours()<24?Be(n,S(T(fn,1),J,2,6,["AM","PM"])[1]):Be(n,S(T(fn,1),J,2,6,["AM","PM"])[0]);break;case 104:d=r.q.getHours()%12,d==0?Bh(n,12,t):Bh(n,d,t);break;case 75:g=r.q.getHours()%12,Bh(n,g,t);break;case 72:p=r.q.getHours(),Bh(n,p,t);break;case 99:m=i.q.getDay(),t==5?Be(n,S(T(fn,1),J,2,6,["S","M","T","W","T","F","S"])[m]):t==4?Be(n,S(T(fn,1),J,2,6,[vB,kB,yB,jB,EB,CB,MB])[m]):t==3?Be(n,S(T(fn,1),J,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[m]):Bh(n,m,1);break;case 76:k=i.q.getMonth(),t==5?Be(n,S(T(fn,1),J,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[k]):t==4?Be(n,S(T(fn,1),J,2,6,[sB,fB,hB,lB,c3,aB,dB,bB,wB,gB,pB,mB])[k]):t==3?Be(n,S(T(fn,1),J,2,6,["Jan","Feb","Mar","Apr",c3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[k]):Bh(n,k+1,t);break;case 81:j=i.q.getMonth()/3|0,t<4?Be(n,S(T(fn,1),J,2,6,["Q1","Q2","Q3","Q4"])[j]):Be(n,S(T(fn,1),J,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[j]);break;case 100:A=i.q.getDate(),Bh(n,A,t);break;case 109:l=r.q.getMinutes(),Bh(n,l,t);break;case 115:s=r.q.getSeconds(),Bh(n,s,t);break;case 122:t<4?Be(n,c.c[0]):Be(n,c.c[1]);break;case 118:Be(n,c.b);break;case 90:t<3?Be(n,NEe(c)):t==3?Be(n,REe(c)):Be(n,KEe(c.a));break;default:return!1}return!0}function htn(n,e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn,Kn,ue,Ze;if(nUn(e),h=u(L((!e.b&&(e.b=new Nn(he,e,4,7)),e.b),0),84),a=u(L((!e.c&&(e.c=new Nn(he,e,5,8)),e.c),0),84),f=Gr(h),l=Gr(a),s=(!e.a&&(e.a=new q(Mt,e,6,6)),e.a).i==0?null:u(L((!e.a&&(e.a=new q(Mt,e,6,6)),e.a),0),166),en=u(ee(n.a,f),10),Kn=u(ee(n.a,l),10),jn=null,ue=null,O(h,193)&&(X=u(ee(n.a,h),305),O(X,12)?jn=u(X,12):O(X,10)&&(en=u(X,10),jn=u(sn(en.j,0),12))),O(a,193)&&(Rn=u(ee(n.a,a),305),O(Rn,12)?ue=u(Rn,12):O(Rn,10)&&(Kn=u(Rn,10),ue=u(sn(Kn.j,0),12))),!en||!Kn)throw M(new fp("The source or the target of edge "+e+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(k=new E0,Ur(k,e),U(k,(W(),st),e),U(k,(cn(),Fr),null),p=u(v(i,Hc),21),en==Kn&&p.Fc((pr(),_8)),jn||(H=(gr(),Jc),kn=null,s&&pg(u(v(en,Kt),101))&&(kn=new V(s.j,s.k),UDn(kn,J7(e)),mLn(kn,t),Yb(l,f)&&(H=Vu,tt(kn,en.n))),jn=eGn(en,kn,H,i)),ue||(H=(gr(),Vu),Ze=null,s&&pg(u(v(Kn,Kt),101))&&(Ze=new V(s.b,s.c),UDn(Ze,J7(e)),mLn(Ze,t)),ue=eGn(Kn,Ze,H,Hi(Kn))),Zi(k,jn),Ii(k,ue),(jn.e.c.length>1||jn.g.c.length>1||ue.e.c.length>1||ue.g.c.length>1)&&p.Fc((pr(),K8)),g=new ne((!e.n&&(e.n=new q(Ar,e,1,7)),e.n));g.e!=g.i.gc();)if(d=u(ce(g),135),!on(un(z(d,Fd)))&&d.a)switch(j=ex(d),nn(k.b,j),u(v(j,Ah),278).g){case 1:case 2:p.Fc((pr(),kv));break;case 0:p.Fc((pr(),vv)),U(j,Ah,(Nf(),Bv))}if(c=u(v(i,X8),322),A=u(v(i,vI),323),r=c==(u5(),pj)||A==(T5(),KH),s&&(!s.a&&(s.a=new ti(xo,s,5)),s.a).i!=0&&r){for(I=Zk(s),m=new Mu,N=ge(I,0);N.b!=N.d.c;)D=u(be(N),8),xe(m,new rr(D));U(k,rfn,m)}return k}function XLe(n,e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn,Kn,ue,Ze,Lt;for(kn=0,Rn=0,en=new de,H=u(ho(_b(_r(new Tn(null,new In(n.b,16)),new E4n),new O4n)),17).a+1,jn=K(ye,Ke,28,H,15,1),j=K(ye,Ke,28,H,15,1),k=0;k1)for(f=ue+1;fl.b.e.b*(1-A)+l.c.e.b*A));m++);if(X.gc()>0&&(Ze=l.a.b==0?Ki(l.b.e):u(Ns(l.a),8),D=tt(Ki(u(X.Xb(X.gc()-1),40).e),u(X.Xb(X.gc()-1),40).f),g=tt(Ki(u(X.Xb(0),40).e),u(X.Xb(0),40).f),m>=X.gc()-1&&Ze.b>D.b&&l.c.e.b>D.b||m<=0&&Ze.bl.b.e.a*(1-A)+l.c.e.a*A));m++);if(X.gc()>0&&(Ze=l.a.b==0?Ki(l.b.e):u(Ns(l.a),8),D=tt(Ki(u(X.Xb(X.gc()-1),40).e),u(X.Xb(X.gc()-1),40).f),g=tt(Ki(u(X.Xb(0),40).e),u(X.Xb(0),40).f),m>=X.gc()-1&&Ze.a>D.a&&l.c.e.a>D.a||m<=0&&Ze.a=$(R(v(n,(pt(),kln))))&&++Rn):(p.f&&p.d.e.a<=$(R(v(n,(pt(),rq))))&&++kn,p.g&&p.c.e.a+p.c.f.a>=$(R(v(n,(pt(),vln))))&&++Rn)}else N==0?Dnn(l):N<0&&(++jn[ue],++j[Lt],Kn=HLe(l,e,n,new bi(Y(kn),Y(Rn)),t,i,new bi(Y(j[Lt]),Y(jn[ue]))),kn=u(Kn.a,17).a,Rn=u(Kn.b,17).a)}function VLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I;if(i=e,h=t,n.b&&i.j==(tn(),Wn)&&h.j==(tn(),Wn)&&(I=i,i=h,h=I),Zc(n.a,i)){if(of(u(ee(n.a,i),49),h))return 1}else Xe(n.a,i,new ni);if(Zc(n.a,h)){if(of(u(ee(n.a,h),49),i))return-1}else Xe(n.a,h,new ni);if(Zc(n.d,i)){if(of(u(ee(n.d,i),49),h))return-1}else Xe(n.d,i,new ni);if(Zc(n.d,h)){if(of(u(ee(n.a,h),49),i))return 1}else Xe(n.d,h,new ni);if(i.j!=h.j)return A=xle(i.j,h.j),A==-1?ns(n,h,i):ns(n,i,h),A;if(i.e.c.length!=0&&h.e.c.length!=0){if(n.b&&(A=RFn(i,h),A!=0))return A==-1?ns(n,h,i):A==1&&ns(n,i,h),A;if(c=u(sn(i.e,0),18).c.i,a=u(sn(h.e,0),18).c.i,c==a)return r=u(v(u(sn(i.e,0),18),(W(),dt)),17).a,l=u(v(u(sn(h.e,0),18),dt),17).a,r>l?ns(n,i,h):ns(n,h,i),rl?1:0;for(m=n.c,k=0,j=m.length;kl?ns(n,i,h):ns(n,h,i),rl?1:0):n.b&&(A=RFn(i,h),A!=0)?(A==-1?ns(n,h,i):A==1&&ns(n,i,h),A):(s=0,d=0,kt(u(sn(i.g,0),18),dt)&&(s=u(v(u(sn(i.g,0),18),dt),17).a),kt(u(sn(h.g,0),18),dt)&&(d=u(v(u(sn(i.g,0),18),dt),17).a),f&&f==g?on(un(v(u(sn(i.g,0),18),Gf)))&&!on(un(v(u(sn(h.g,0),18),Gf)))?(ns(n,i,h),1):!on(un(v(u(sn(i.g,0),18),Gf)))&&on(un(v(u(sn(h.g,0),18),Gf)))?(ns(n,h,i),-1):(s>d?ns(n,i,h):ns(n,h,i),sd?1:0):(n.f&&(n.f._b(f)&&(s=u(n.f.xc(f),17).a),n.f._b(g)&&(d=u(n.f.xc(g),17).a)),s>d?ns(n,i,h):ns(n,h,i),sd?1:0))):i.e.c.length!=0&&h.g.c.length!=0?(ns(n,i,h),1):i.g.c.length!=0&&h.e.c.length!=0?(ns(n,h,i),-1):kt(i,(W(),dt))&&kt(h,dt)?(r=u(v(i,dt),17).a,l=u(v(h,dt),17).a,r>l?ns(n,i,h):ns(n,h,i),rl?1:0):(ns(n,h,i),-1)}function WLe(n){n.gb||(n.gb=!0,n.b=hc(n,0),Ft(n.b,18),jt(n.b,19),n.a=hc(n,1),Ft(n.a,1),jt(n.a,2),jt(n.a,3),jt(n.a,4),jt(n.a,5),n.o=hc(n,2),Ft(n.o,8),Ft(n.o,9),jt(n.o,10),jt(n.o,11),jt(n.o,12),jt(n.o,13),jt(n.o,14),jt(n.o,15),jt(n.o,16),jt(n.o,17),jt(n.o,18),jt(n.o,19),jt(n.o,20),jt(n.o,21),jt(n.o,22),jt(n.o,23),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),n.p=hc(n,3),Ft(n.p,2),Ft(n.p,3),Ft(n.p,4),Ft(n.p,5),jt(n.p,6),jt(n.p,7),Nr(n.p),Nr(n.p),n.q=hc(n,4),Ft(n.q,8),n.v=hc(n,5),jt(n.v,9),Nr(n.v),Nr(n.v),Nr(n.v),n.w=hc(n,6),Ft(n.w,2),Ft(n.w,3),Ft(n.w,4),jt(n.w,5),n.B=hc(n,7),jt(n.B,1),Nr(n.B),Nr(n.B),Nr(n.B),n.Q=hc(n,8),jt(n.Q,0),Nr(n.Q),n.R=hc(n,9),Ft(n.R,1),n.S=hc(n,10),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),n.T=hc(n,11),jt(n.T,10),jt(n.T,11),jt(n.T,12),jt(n.T,13),jt(n.T,14),Nr(n.T),Nr(n.T),n.U=hc(n,12),Ft(n.U,2),Ft(n.U,3),jt(n.U,4),jt(n.U,5),jt(n.U,6),jt(n.U,7),Nr(n.U),n.V=hc(n,13),jt(n.V,10),n.W=hc(n,14),Ft(n.W,18),Ft(n.W,19),Ft(n.W,20),jt(n.W,21),jt(n.W,22),jt(n.W,23),n.bb=hc(n,15),Ft(n.bb,10),Ft(n.bb,11),Ft(n.bb,12),Ft(n.bb,13),Ft(n.bb,14),Ft(n.bb,15),Ft(n.bb,16),jt(n.bb,17),Nr(n.bb),Nr(n.bb),n.eb=hc(n,16),Ft(n.eb,2),Ft(n.eb,3),Ft(n.eb,4),Ft(n.eb,5),Ft(n.eb,6),Ft(n.eb,7),jt(n.eb,8),jt(n.eb,9),n.ab=hc(n,17),Ft(n.ab,0),Ft(n.ab,1),n.H=hc(n,18),jt(n.H,0),jt(n.H,1),jt(n.H,2),jt(n.H,3),jt(n.H,4),jt(n.H,5),Nr(n.H),n.db=hc(n,19),jt(n.db,2),n.c=We(n,20),n.d=We(n,21),n.e=We(n,22),n.f=We(n,23),n.i=We(n,24),n.g=We(n,25),n.j=We(n,26),n.k=We(n,27),n.n=We(n,28),n.r=We(n,29),n.s=We(n,30),n.t=We(n,31),n.u=We(n,32),n.fb=We(n,33),n.A=We(n,34),n.C=We(n,35),n.D=We(n,36),n.F=We(n,37),n.G=We(n,38),n.I=We(n,39),n.J=We(n,40),n.L=We(n,41),n.M=We(n,42),n.N=We(n,43),n.O=We(n,44),n.P=We(n,45),n.X=We(n,46),n.Y=We(n,47),n.Z=We(n,48),n.$=We(n,49),n._=We(n,50),n.cb=We(n,51),n.K=We(n,52))}function JLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn,Kn,ue;for(s=new Ct,X=u(v(t,(cn(),Do)),88),k=0,Bi(s,(!e.a&&(e.a=new q(Qe,e,10,11)),e.a));s.b!=0;)a=u(s.b==0?null:(oe(s.b!=0),Xo(s,s.a.a)),27),l=At(a),(x(z(l,Yh))!==x((lh(),k1))||x(z(l,Ld))===x((o1(),pv))||x(z(l,Ld))===x((o1(),gv))||on(un(z(l,lb)))||x(z(l,Fw))!==x((dd(),Ow))||x(z(l,ya))===x((gs(),pb))||x(z(l,ya))===x((gs(),Uw))||x(z(l,$d))===x((a1(),Pv))||x(z(l,$d))===x((a1(),Iv)))&&!on(un(z(a,lI)))&&ht(a,(W(),dt),Y(k++)),A=!on(un(z(a,Fd))),A&&(g=(!a.a&&(a.a=new q(Qe,a,10,11)),a.a).i!=0,m=Mye(a),p=x(z(a,Bw))===x((jl(),M1)),ue=!Df(a,(qe(),$v))||TLn(Oe(z(a,$v))),N=null,ue&&p&&(g||m)&&(N=$Un(a),U(N,Do,X),kt(N,Mj)&&xjn(new XY($(R(v(N,Mj)))),N),u(z(a,xd),181).gc()!=0&&(d=N,qt(new Tn(null,(!a.c&&(a.c=new q(Qu,a,9,9)),new In(a.c,16))),new q9n(d)),Aqn(a,N))),en=t,jn=u(ee(n.a,At(a)),10),jn&&(en=jn.e),D=szn(n,a,en),N&&(D.e=N,N.e=D,Bi(s,(!a.a&&(a.a=new q(Qe,a,10,11)),a.a))));for(k=0,xt(s,e,s.c.b,s.c);s.b!=0;){for(c=u(s.b==0?null:(oe(s.b!=0),Xo(s,s.a.a)),27),h=new ne((!c.b&&(c.b=new q(Vt,c,12,3)),c.b));h.e!=h.i.gc();)f=u(ce(h),74),nUn(f),(x(z(e,Yh))!==x((lh(),k1))||x(z(e,Ld))===x((o1(),pv))||x(z(e,Ld))===x((o1(),gv))||on(un(z(e,lb)))||x(z(e,Fw))!==x((dd(),Ow))||x(z(e,ya))===x((gs(),pb))||x(z(e,ya))===x((gs(),Uw))||x(z(e,$d))===x((a1(),Pv))||x(z(e,$d))===x((a1(),Iv)))&&ht(f,(W(),dt),Y(k++)),Rn=Gr(u(L((!f.b&&(f.b=new Nn(he,f,4,7)),f.b),0),84)),Kn=Gr(u(L((!f.c&&(f.c=new Nn(he,f,5,8)),f.c),0),84)),!(on(un(z(f,Fd)))||on(un(z(Rn,Fd)))||on(un(z(Kn,Fd))))&&(j=_0(f)&&on(un(z(Rn,Rw)))&&on(un(z(f,Nd))),H=c,j||Yb(Kn,Rn)?H=Rn:Yb(Rn,Kn)&&(H=Kn),en=t,jn=u(ee(n.a,H),10),jn&&(en=jn.e),I=htn(n,f,H,en),U(I,(W(),nfn),JTe(n,f,e,t)));if(p=x(z(c,Bw))===x((jl(),M1)),p)for(r=new ne((!c.a&&(c.a=new q(Qe,c,10,11)),c.a));r.e!=r.i.gc();)i=u(ce(r),27),ue=!Df(i,(qe(),$v))||TLn(Oe(z(i,$v))),kn=x(z(i,Bw))===x(M1),ue&&kn&&xt(s,i,s.c.b,s.c)}}function W(){W=F;var n,e;st=new lt(Jtn),nfn=new lt("coordinateOrigin"),wH=new lt("processors"),Zsn=new Dt("compoundNode",(_n(),!1)),yj=new Dt("insideConnections",!1),rfn=new lt("originalBendpoints"),cfn=new lt("originalDummyNodePosition"),ufn=new lt("originalLabelEdge"),q8=new lt("representedLabels"),H8=new lt("endLabels"),M3=new lt("endLabel.origin"),A3=new Dt("labelSide",(To(),nE)),k2=new Dt("maxEdgeThickness",0),Gf=new Dt("reversed",!1),S3=new lt(MXn),kf=new Dt("longEdgeSource",null),js=new Dt("longEdgeTarget",null),$w=new Dt("longEdgeHasLabelDummies",!1),jj=new Dt("longEdgeBeforeLabelDummy",!1),rI=new Dt("edgeConstraint",(hd(),Y_)),sb=new lt("inLayerLayoutUnit"),Od=new Dt("inLayerConstraint",(vl(),vj)),T3=new Dt("inLayerSuccessorConstraint",new Z),ifn=new Dt("inLayerSuccessorConstraintBetweenNonDummies",!1),Xu=new lt("portDummy"),iI=new Dt("crossingHint",Y(0)),Hc=new Dt("graphProperties",(e=u(uf(cH),9),new _o(e,u($s(e,e.length),9),0))),gc=new Dt("externalPortSide",(tn(),sc)),tfn=new Dt("externalPortSize",new Li),hH=new lt("externalPortReplacedDummies"),cI=new lt("externalPortReplacedDummy"),Nl=new Dt("externalPortConnections",(n=u(uf(lr),9),new _o(n,u($s(n,n.length),9),0))),fb=new Dt(gXn,0),Ysn=new lt("barycenterAssociates"),P3=new lt("TopSideComments"),C3=new lt("BottomSideComments"),tI=new lt("CommentConnectionPort"),aH=new Dt("inputCollect",!1),bH=new Dt("outputCollect",!1),kj=new Dt("cyclic",!1),efn=new lt("crossHierarchyMap"),pH=new lt("targetOffset"),new Dt("splineLabelSize",new Li),j2=new lt("spacings"),uI=new Dt("partitionConstraint",!1),ob=new lt("breakingPoint.info"),ffn=new lt("splines.survivingEdge"),Dd=new lt("splines.route.start"),E2=new lt("splines.edgeChain"),sfn=new lt("originalPortConstraints"),hb=new lt("selfLoopHolder"),jv=new lt("splines.nsPortY"),dt=new lt("modelOrder"),dH=new lt("longEdgeTargetNode"),va=new Dt(QXn,!1),y2=new Dt(QXn,!1),lH=new lt("layerConstraints.hiddenNodes"),ofn=new lt("layerConstraints.opposidePort"),gH=new lt("targetNode.modelOrder")}function QLe(n,e,t,i){var r,c,s,f,h,l,a,d,g,p,m;for(d=ge(n.b,0);d.b!=d.d.c;)if(a=u(be(d),40),!An(a.c,IS))for(c=u(Wr(new Tn(null,new In(uCe(a,n),16)),qu(new ju,new yu,new Eu,S(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),e==(ci(),Br)||e==Xr?c.jd(new A4n):c.jd(new S4n),m=c.gc(),r=0;r0&&(f=u(Ns(u(c.Xb(r),65).a),8).a,g=a.e.a+a.f.a/2,h=u(Ns(u(c.Xb(r),65).a),8).b,p=a.e.b+a.f.b/2,i>0&&y.Math.abs(h-p)/(y.Math.abs(f-g)/40)>50&&(p>h?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a+i/5.3,a.e.b+a.f.b*s-i/2)):ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a+i/5.3,a.e.b+a.f.b*s+i/2)))),ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a,a.e.b+a.f.b*s))):e==Xr?(l=$(R(v(a,(pt(),yf)))),a.e.a-i>l?ir(u(c.Xb(r),65).a,new V(l-t,a.e.b+a.f.b*s)):u(c.Xb(r),65).a.b>0&&(f=u(Ns(u(c.Xb(r),65).a),8).a,g=a.e.a+a.f.a/2,h=u(Ns(u(c.Xb(r),65).a),8).b,p=a.e.b+a.f.b/2,i>0&&y.Math.abs(h-p)/(y.Math.abs(f-g)/40)>50&&(p>h?ir(u(c.Xb(r),65).a,new V(a.e.a-i/5.3,a.e.b+a.f.b*s-i/2)):ir(u(c.Xb(r),65).a,new V(a.e.a-i/5.3,a.e.b+a.f.b*s+i/2)))),ir(u(c.Xb(r),65).a,new V(a.e.a,a.e.b+a.f.b*s))):e==us?(l=$(R(v(a,(pt(),Ws)))),a.e.b+a.f.b+i0&&(f=u(Ns(u(c.Xb(r),65).a),8).a,g=a.e.a+a.f.a/2,h=u(Ns(u(c.Xb(r),65).a),8).b,p=a.e.b+a.f.b/2,i>0&&y.Math.abs(f-g)/(y.Math.abs(h-p)/40)>50&&(g>f?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s-i/2,a.e.b+i/5.3+a.f.b)):ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s+i/2,a.e.b+i/5.3+a.f.b)))),ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s,a.e.b+a.f.b))):(l=$(R(v(a,(pt(),yf)))),MFn(u(c.Xb(r),65),n)?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s,u(Ns(u(c.Xb(r),65).a),8).b)):a.e.b-i>l?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s,l-t)):u(c.Xb(r),65).a.b>0&&(f=u(Ns(u(c.Xb(r),65).a),8).a,g=a.e.a+a.f.a/2,h=u(Ns(u(c.Xb(r),65).a),8).b,p=a.e.b+a.f.b/2,i>0&&y.Math.abs(f-g)/(y.Math.abs(h-p)/40)>50&&(g>f?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s-i/2,a.e.b-i/5.3)):ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s+i/2,a.e.b-i/5.3)))),ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s,a.e.b)))}function qe(){qe=F;var n,e;$v=new lt(xVn),H2=new lt(FVn),gan=(Rh(),Vq),Sue=new Mn(rrn,gan),$2=new Mn(l3,null),Pue=new lt(pcn),man=(wd(),yt(Qq,S(T(Yq,1),G,298,0,[Jq]))),Gj=new Mn(MS,man),zj=new Mn(Uy,(_n(),!1)),van=(ci(),Wf),_d=new Mn(xR,van),jan=(El(),lU),yan=new Mn(qy,jan),Due=new Mn(wcn,!1),Man=(jl(),uO),B2=new Mn(CS,Man),Nan=new f0(12),C1=new Mn(W0,Nan),Vj=new Mn(u8,!1),tU=new Mn(AS,!1),Wj=new Mn(o8,!1),Ran=(Oi(),Sa),j9=new Mn(tR,Ran),N3=new lt(TS),Jj=new lt(Ny),fU=new lt(uS),hU=new lt(c8),Tan=new Mu,kb=new Mn(wrn,Tan),Oue=new Mn(mrn,!1),Lue=new Mn(vrn,!1),Aan=new Yv,xv=new Mn(yrn,Aan),tO=new Mn(trn,!1),Fue=new Mn(BVn,1),F2=new lt(RVn),x2=new lt(KVn),Fv=new Mn($y,!1),new Mn(_Vn,!0),Y(0),new Mn(HVn,Y(100)),new Mn(qVn,!1),Y(0),new Mn(UVn,Y(4e3)),Y(0),new Mn(GVn,Y(400)),new Mn(zVn,!1),new Mn(XVn,!1),new Mn(VVn,!0),new Mn(WVn,!1),pan=(qT(),wU),Iue=new Mn(gcn,pan),Bue=new Mn(Gin,10),Rue=new Mn(zin,10),qan=new Mn(WB,20),Kue=new Mn(Xin,10),Uan=new Mn(eR,2),Gan=new Mn($R,10),zan=new Mn(Vin,0),iO=new Mn(Qin,5),Xan=new Mn(Win,1),Van=new Mn(Jin,1),qd=new Mn(yw,20),_ue=new Mn(Yin,10),Qan=new Mn(Zin,10),$3=new lt(nrn),Jan=new tTn,Wan=new Mn(jrn,Jan),$ue=new lt(BR),$an=!1,Nue=new Mn(FR,$an),Pan=new f0(5),San=new Mn(orn,Pan),Ian=(lw(),e=u(uf(yr),9),new _o(e,u($s(e,e.length),9),0)),R2=new Mn(Xm,Ian),Fan=(Fg(),Aa),xan=new Mn(hrn,Fan),rU=new lt(lrn),cU=new lt(arn),uU=new lt(drn),iU=new lt(brn),Oan=(n=u(uf(I9),9),new _o(n,u($s(n,n.length),9),0)),Hd=new Mn(i2,Oan),Lan=yn((io(),Hv)),Ma=new Mn(a3,Lan),Dan=new V(0,0),K2=new Mn(d3,Dan),Vw=new Mn(zm,!1),kan=(Nf(),Bv),nU=new Mn(grn,kan),Zq=new Mn(oS,!1),Y(1),new Mn(JVn,null),Ban=new lt(krn),oU=new lt(prn),Han=(tn(),sc),_2=new Mn(irn,Han),oo=new lt(ern),Kan=(zu(),yn(Pa)),Ww=new Mn(Vm,Kan),sU=new Mn(srn,!1),_an=new Mn(frn,!0),cO=new Mn(xy,1),Yan=new Mn(mcn,null),Qj=new Mn(Fy,150),rO=new Mn(By,1.414),x3=new Mn(J0,null),Hue=new Mn(vcn,1),Xj=new Mn(crn,!1),eU=new Mn(urn,!1),Ean=new Mn(JB,1),Can=(pA(),dU),new Mn(QVn,Can),xue=!0,Uue=(Gp(),Yw),Gue=Yw,que=Yw}function tr(){tr=F,Qon=new ei("DIRECTION_PREPROCESSOR",0),Von=new ei("COMMENT_PREPROCESSOR",1),d2=new ei("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),N_=new ei("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),gsn=new ei("PARTITION_PREPROCESSOR",4),IP=new ei("LABEL_DUMMY_INSERTER",5),KP=new ei("SELF_LOOP_PREPROCESSOR",6),Lw=new ei("LAYER_CONSTRAINT_PREPROCESSOR",7),bsn=new ei("PARTITION_MIDPROCESSOR",8),csn=new ei("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),asn=new ei("NODE_PROMOTION",10),Dw=new ei("LAYER_CONSTRAINT_POSTPROCESSOR",11),wsn=new ei("PARTITION_POSTPROCESSOR",12),tsn=new ei("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),psn=new ei("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),Hon=new ei("BREAKING_POINT_INSERTER",15),NP=new ei("LONG_EDGE_SPLITTER",16),$_=new ei("PORT_SIDE_PROCESSOR",17),SP=new ei("INVERTED_PORT_PROCESSOR",18),FP=new ei("PORT_LIST_SORTER",19),vsn=new ei("SORT_BY_INPUT_ORDER_OF_MODEL",20),xP=new ei("NORTH_SOUTH_PORT_PREPROCESSOR",21),qon=new ei("BREAKING_POINT_PROCESSOR",22),dsn=new ei(qXn,23),ksn=new ei(UXn,24),BP=new ei("SELF_LOOP_PORT_RESTORER",25),msn=new ei("SINGLE_EDGE_GRAPH_WRAPPER",26),PP=new ei("IN_LAYER_CONSTRAINT_PROCESSOR",27),Zon=new ei("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),hsn=new ei("LABEL_AND_NODE_SIZE_PROCESSOR",29),fsn=new ei("INNERMOST_NODE_MARGIN_CALCULATOR",30),_P=new ei("SELF_LOOP_ROUTER",31),zon=new ei("COMMENT_NODE_MARGIN_CALCULATOR",32),AP=new ei("END_LABEL_PREPROCESSOR",33),DP=new ei("LABEL_DUMMY_SWITCHER",34),Gon=new ei("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),hv=new ei("LABEL_SIDE_SELECTOR",36),osn=new ei("HYPEREDGE_DUMMY_MERGER",37),isn=new ei("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),lsn=new ei("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),x8=new ei("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),Won=new ei("CONSTRAINTS_POSTPROCESSOR",41),Xon=new ei("COMMENT_POSTPROCESSOR",42),ssn=new ei("HYPERNODE_PROCESSOR",43),rsn=new ei("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),LP=new ei("LONG_EDGE_JOINER",45),RP=new ei("SELF_LOOP_POSTPROCESSOR",46),Uon=new ei("BREAKING_POINT_REMOVER",47),$P=new ei("NORTH_SOUTH_PORT_POSTPROCESSOR",48),usn=new ei("HORIZONTAL_COMPACTOR",49),OP=new ei("LABEL_DUMMY_REMOVER",50),nsn=new ei("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),Yon=new ei("END_LABEL_SORTER",52),bj=new ei("REVERSED_EDGE_RESTORER",53),TP=new ei("END_LABEL_POSTPROCESSOR",54),esn=new ei("HIERARCHICAL_NODE_RESIZER",55),Jon=new ei("DIRECTION_POSTPROCESSOR",56)}function ltn(){ltn=F,kfn=(pk(),WP),iee=new Mn(uin,kfn),wee=new Mn(oin,(_n(),!1)),Tfn=(KM(),fH),kee=new Mn(lS,Tfn),$ee=new Mn(sin,!1),xee=new Mn(fin,!0),Pne=new Mn(hin,!1),Nfn=(wk(),UH),Qee=new Mn(lin,Nfn),Y(1),cte=new Mn(ain,Y(7)),ute=new Mn(din,!1),gee=new Mn(bin,!1),vfn=(o1(),J_),tee=new Mn(fR,vfn),Pfn=(a1(),xH),Nee=new Mn(Hy,Pfn),Afn=(Yo(),Ej),Tee=new Mn(win,Afn),Y(-1),Mee=new Mn(gin,null),Y(-1),Aee=new Mn(pin,Y(-1)),Y(-1),See=new Mn(hR,Y(4)),Y(-1),Iee=new Mn(lR,Y(2)),Sfn=(gs(),AI),Lee=new Mn(aR,Sfn),Y(0),Dee=new Mn(dR,Y(0)),Eee=new Mn(bR,Y(et)),mfn=(u5(),B8),eee=new Mn(h8,mfn),Kne=new Mn(min,!1),Xne=new Mn(wR,.1),Zne=new Mn(gR,!1),Wne=new Mn(vin,null),Jne=new Mn(kin,null),Y(-1),Qne=new Mn(yin,null),Y(-1),Yne=new Mn(jin,Y(-1)),Y(0),_ne=new Mn(Ein,Y(40)),pfn=(Z4(),oH),Gne=new Mn(pR,pfn),gfn=mj,Hne=new Mn(aS,gfn),Lfn=(T5(),Y8),Jee=new Mn(r2,Lfn),_ee=new lt(dS),Ifn=(hk(),QP),Fee=new Mn(mR,Ifn),Ofn=(Jk(),YP),Ree=new Mn(vR,Ofn),Uee=new Mn(kR,.3),zee=new lt(yR),Dfn=(cw(),TI),Xee=new Mn(jR,Dfn),Efn=(ST(),zH),see=new Mn(Cin,Efn),Cfn=(d5(),VH),fee=new Mn(Min,Cfn),Mfn=(om(),e9),hee=new Mn(bS,Mfn),aee=new Mn(wS,.2),uee=new Mn(ER,2),ete=new Mn(Tin,null),ite=new Mn(Ain,10),tte=new Mn(Sin,10),rte=new Mn(Pin,20),Y(0),Yee=new Mn(Iin,Y(0)),Y(0),Zee=new Mn(Oin,Y(0)),Y(0),nte=new Mn(Din,Y(0)),Ine=new Mn(CR,!1),afn=(jm(),R8),Dne=new Mn(Lin,afn),lfn=(QM(),V_),One=new Mn(Nin,lfn),mee=new Mn(gS,!1),Y(0),pee=new Mn(MR,Y(16)),Y(0),vee=new Mn(TR,Y(5)),Ffn=(DT(),QH),Tte=new Mn(Ol,Ffn),ote=new Mn(pS,10),hte=new Mn(mS,1),xfn=(bT(),VP),pte=new Mn(l8,xfn),dte=new lt(AR),$fn=Y(1),Y(0),wte=new Mn(SR,$fn),Bfn=(dT(),JH),Ite=new Mn(vS,Bfn),Ate=new lt(kS),jte=new Mn(yS,!0),kte=new Mn(jS,2),Cte=new Mn(PR,!0),jfn=(vA(),JP),cee=new Mn($in,jfn),yfn=(Yp(),bv),ree=new Mn(xin,yfn),wfn=(lh(),k1),Rne=new Mn(ES,wfn),Bne=new Mn(Fin,!1),Fne=new Mn(Bin,!1),dfn=(dd(),Ow),Lne=new Mn(IR,dfn),bfn=(g5(),FH),xne=new Mn(Rin,bfn),Nne=new Mn(OR,0),$ne=new Mn(DR,0),jee=Q_,yee=pj,Pee=CI,Oee=CI,Cee=$H,Vne=(jl(),M1),nee=B8,zne=B8,qne=B8,Une=M1,Hee=Z8,qee=Y8,Bee=Y8,Kee=Y8,Gee=_H,Wee=Z8,Vee=Z8,lee=(El(),F3),dee=F3,bee=e9,oee=Yj,ste=Ov,fte=Gw,lte=Ov,ate=Gw,mte=Ov,vte=Gw,bte=W_,gte=VP,Ote=Ov,Dte=Gw,Ste=Ov,Pte=Gw,Ete=Gw,yte=Gw,Mte=Gw}function YLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn,Kn,ue,Ze,Lt,Yu,Rr,Fo,V2,D1,tf,rf,Xd,q3,Fa,U3,Ih,cl,Mb,G3,W2,Oh,Vd,Rl,Dse,y0n,Tb,q9,DU,z3,U9,ug,G9,LU,Lse;for(y0n=0,Ze=e,Rr=0,D1=Ze.length;Rr0&&(n.a[Ih.p]=y0n++)}for(U9=0,Lt=t,Fo=0,tf=Lt.length;Fo0;){for(Ih=(oe(W2.b>0),u(W2.a.Xb(W2.c=--W2.b),12)),G3=0,f=new C(Ih.e);f.a0&&(Ih.j==(tn(),Xn)?(n.a[Ih.p]=U9,++U9):(n.a[Ih.p]=U9+rf+q3,++q3))}U9+=q3}for(Mb=new de,m=new ih,ue=e,Yu=0,V2=ue.length;Yul.b&&(l.b=Oh)):Ih.i.c==Dse&&(Ohl.c&&(l.c=Oh));for(F4(k,0,k.length,null),z3=K(ye,Ke,28,k.length,15,1),i=K(ye,Ke,28,U9+1,15,1),A=0;A0;)en%2>0&&(r+=LU[en+1]),en=(en-1)/2|0,++LU[en];for(kn=K(Iie,Fn,374,k.length*2,0,1),N=0;N0&&V7(Yu.f),z(A,Yan)!=null&&(f=u(z(A,Yan),347),Mb=f.Tg(A),vg(A,y.Math.max(A.g,Mb.a),y.Math.max(A.f,Mb.b)));if(tf=u(z(e,C1),107),p=e.g-(tf.b+tf.c),g=e.f-(tf.d+tf.a),Oh.bh("Available Child Area: ("+p+"|"+g+")"),ht(e,$2,p/g),cRn(e,r,i.eh(V2)),u(z(e,x3),280)==aO&&(otn(e),vg(e,tf.b+$(R(z(e,F2)))+tf.c,tf.d+$(R(z(e,x2)))+tf.a)),Oh.bh("Executed layout algorithm: "+Oe(z(e,$v))+" on node "+e.k),u(z(e,x3),280)==Yw){if(p<0||g<0)throw M(new _l("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+e.k));for(Df(e,F2)||Df(e,x2)||otn(e),k=$(R(z(e,F2))),m=$(R(z(e,x2))),Oh.bh("Desired Child Area: ("+k+"|"+m+")"),Xd=p/k,q3=g/m,rf=y.Math.min(Xd,y.Math.min(q3,$(R(z(e,Hue))))),ht(e,cO,rf),Oh.bh(e.k+" -- Local Scale Factor (X|Y): ("+Xd+"|"+q3+")"),N=u(z(e,Gj),21),c=0,s=0,rf'?":An(PWn,n)?"'(?<' or '(? toIndex: ",Stn=", toIndex: ",Ptn="Index: ",Itn=", Size: ",Hm="org.eclipse.elk.alg.common",Ne={50:1},Yzn="org.eclipse.elk.alg.common.compaction",Zzn="Scanline/EventHandler",zh="org.eclipse.elk.alg.common.compaction.oned",nXn="CNode belongs to another CGroup.",eXn="ISpacingsHandler/1",FB="The ",BB=" instance has been finished already.",tXn="The direction ",iXn=" is not supported by the CGraph instance.",rXn="OneDimensionalCompactor",cXn="OneDimensionalCompactor/lambda$0$Type",uXn="Quadruplet",oXn="ScanlineConstraintCalculator",sXn="ScanlineConstraintCalculator/ConstraintsScanlineHandler",fXn="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",hXn="ScanlineConstraintCalculator/Timestamp",lXn="ScanlineConstraintCalculator/lambda$0$Type",ph={178:1,46:1},RB="org.eclipse.elk.alg.common.compaction.options",oc="org.eclipse.elk.core.data",Otn="org.eclipse.elk.polyomino.traversalStrategy",Dtn="org.eclipse.elk.polyomino.lowLevelSort",Ltn="org.eclipse.elk.polyomino.highLevelSort",Ntn="org.eclipse.elk.polyomino.fill",ps={134:1},KB="polyomino",t8="org.eclipse.elk.alg.common.networksimplex",Xh={183:1,3:1,4:1},aXn="org.eclipse.elk.alg.common.nodespacing",kd="org.eclipse.elk.alg.common.nodespacing.cellsystem",qm="CENTER",dXn={217:1,336:1},$tn={3:1,4:1,5:1,603:1},s3="LEFT",f3="RIGHT",xtn="Vertical alignment cannot be null",Ftn="BOTTOM",nS="org.eclipse.elk.alg.common.nodespacing.internal",i8="UNDEFINED",Kf=.01,Oy="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",bXn="LabelPlacer/lambda$0$Type",wXn="LabelPlacer/lambda$1$Type",gXn="portRatioOrPosition",Um="org.eclipse.elk.alg.common.overlaps",_B="DOWN",mh="org.eclipse.elk.alg.common.polyomino",eS="NORTH",HB="EAST",qB="SOUTH",UB="WEST",tS="org.eclipse.elk.alg.common.polyomino.structures",Btn="Direction",GB="Grid is only of size ",zB=". Requested point (",XB=") is out of bounds.",iS=" Given center based coordinates were (",Dy="org.eclipse.elk.graph.properties",pXn="IPropertyHolder",Rtn={3:1,96:1,137:1},h3="org.eclipse.elk.alg.common.spore",mXn="org.eclipse.elk.alg.common.utils",yd={205:1},n2="org.eclipse.elk.core",vXn="Connected Components Compaction",kXn="org.eclipse.elk.alg.disco",rS="org.eclipse.elk.alg.disco.graph",VB="org.eclipse.elk.alg.disco.options",Ktn="CompactionStrategy",_tn="org.eclipse.elk.disco.componentCompaction.strategy",Htn="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",qtn="org.eclipse.elk.disco.debug.discoGraph",Utn="org.eclipse.elk.disco.debug.discoPolys",yXn="componentCompaction",jd="org.eclipse.elk.disco",WB="org.eclipse.elk.spacing.componentComponent",JB="org.eclipse.elk.edge.thickness",l3="org.eclipse.elk.aspectRatio",W0="org.eclipse.elk.padding",e2="org.eclipse.elk.alg.disco.transform",QB=1.5707963267948966,t2=17976931348623157e292,kw={3:1,4:1,5:1,198:1},jXn={3:1,6:1,4:1,5:1,100:1,115:1},YB="org.eclipse.elk.alg.force",Gtn="ComponentsProcessor",EXn="ComponentsProcessor/1",ztn="ElkGraphImporter/lambda$0$Type",Ly="org.eclipse.elk.alg.force.graph",CXn="Component Layout",Xtn="org.eclipse.elk.alg.force.model",cS="org.eclipse.elk.force.model",Vtn="org.eclipse.elk.force.iterations",Wtn="org.eclipse.elk.force.repulsivePower",ZB="org.eclipse.elk.force.temperature",vh=.001,nR="org.eclipse.elk.force.repulsion",r8="org.eclipse.elk.alg.force.options",Gm=1.600000023841858,cu="org.eclipse.elk.force",Ny="org.eclipse.elk.priority",yw="org.eclipse.elk.spacing.nodeNode",eR="org.eclipse.elk.spacing.edgeLabel",uS="org.eclipse.elk.randomSeed",c8="org.eclipse.elk.separateConnectedComponents",u8="org.eclipse.elk.interactive",tR="org.eclipse.elk.portConstraints",oS="org.eclipse.elk.edgeLabels.inline",o8="org.eclipse.elk.omitNodeMicroLayout",zm="org.eclipse.elk.nodeSize.fixedGraphSize",a3="org.eclipse.elk.nodeSize.options",i2="org.eclipse.elk.nodeSize.constraints",Xm="org.eclipse.elk.nodeLabels.placement",Vm="org.eclipse.elk.portLabels.placement",$y="org.eclipse.elk.topdownLayout",xy="org.eclipse.elk.topdown.scaleFactor",Fy="org.eclipse.elk.topdown.hierarchicalNodeWidth",By="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",J0="org.eclipse.elk.topdown.nodeType",Jtn="origin",MXn="random",TXn="boundingBox.upLeft",AXn="boundingBox.lowRight",Qtn="org.eclipse.elk.stress.fixed",Ytn="org.eclipse.elk.stress.desiredEdgeLength",Ztn="org.eclipse.elk.stress.dimension",nin="org.eclipse.elk.stress.epsilon",ein="org.eclipse.elk.stress.iterationLimit",ha="org.eclipse.elk.stress",SXn="ELK Stress",d3="org.eclipse.elk.nodeSize.minimum",sS="org.eclipse.elk.alg.force.stress",PXn="Layered layout",b3="org.eclipse.elk.alg.layered",Ry="org.eclipse.elk.alg.layered.compaction.components",s8="org.eclipse.elk.alg.layered.compaction.oned",fS="org.eclipse.elk.alg.layered.compaction.oned.algs",Ed="org.eclipse.elk.alg.layered.compaction.recthull",_f="org.eclipse.elk.alg.layered.components",kh="NONE",tin="MODEL_ORDER",Mc={3:1,6:1,4:1,9:1,5:1,126:1},IXn={3:1,6:1,4:1,5:1,150:1,100:1,115:1},hS="org.eclipse.elk.alg.layered.compound",vt={47:1},Bc="org.eclipse.elk.alg.layered.graph",iR=" -> ",OXn="Not supported by LGraph",iin="Port side is undefined",rR={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},b1={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},DXn={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},LXn=`([{"' \r +`,NXn=`)]}"' \r +`,$Xn="The given string contains parts that cannot be parsed as numbers.",Ky="org.eclipse.elk.core.math",xXn={3:1,4:1,140:1,214:1,423:1},FXn={3:1,4:1,107:1,214:1,423:1},w1="org.eclipse.elk.alg.layered.graph.transform",BXn="ElkGraphImporter",RXn="ElkGraphImporter/lambda$1$Type",KXn="ElkGraphImporter/lambda$2$Type",_Xn="ElkGraphImporter/lambda$4$Type",Qn="org.eclipse.elk.alg.layered.intermediate",HXn="Node margin calculation",qXn="ONE_SIDED_GREEDY_SWITCH",UXn="TWO_SIDED_GREEDY_SWITCH",cR="No implementation is available for the layout processor ",uR="IntermediateProcessorStrategy",oR="Node '",GXn="FIRST_SEPARATE",zXn="LAST_SEPARATE",XXn="Odd port side processing",di="org.eclipse.elk.alg.layered.intermediate.compaction",f8="org.eclipse.elk.alg.layered.intermediate.greedyswitch",Vh="org.eclipse.elk.alg.layered.p3order.counting",_y={230:1},w3="org.eclipse.elk.alg.layered.intermediate.loops",Io="org.eclipse.elk.alg.layered.intermediate.loops.ordering",la="org.eclipse.elk.alg.layered.intermediate.loops.routing",rin="org.eclipse.elk.alg.layered.intermediate.preserveorder",yh="org.eclipse.elk.alg.layered.intermediate.wrapping",Tc="org.eclipse.elk.alg.layered.options",sR="INTERACTIVE",cin="GREEDY",VXn="DEPTH_FIRST",WXn="EDGE_LENGTH",JXn="SELF_LOOPS",QXn="firstTryWithInitialOrder",uin="org.eclipse.elk.layered.directionCongruency",oin="org.eclipse.elk.layered.feedbackEdges",lS="org.eclipse.elk.layered.interactiveReferencePoint",sin="org.eclipse.elk.layered.mergeEdges",fin="org.eclipse.elk.layered.mergeHierarchyEdges",hin="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",lin="org.eclipse.elk.layered.portSortingStrategy",ain="org.eclipse.elk.layered.thoroughness",din="org.eclipse.elk.layered.unnecessaryBendpoints",bin="org.eclipse.elk.layered.generatePositionAndLayerIds",fR="org.eclipse.elk.layered.cycleBreaking.strategy",Hy="org.eclipse.elk.layered.layering.strategy",win="org.eclipse.elk.layered.layering.layerConstraint",gin="org.eclipse.elk.layered.layering.layerChoiceConstraint",pin="org.eclipse.elk.layered.layering.layerId",hR="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",lR="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",aR="org.eclipse.elk.layered.layering.nodePromotion.strategy",dR="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",bR="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",h8="org.eclipse.elk.layered.crossingMinimization.strategy",min="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",wR="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",gR="org.eclipse.elk.layered.crossingMinimization.semiInteractive",vin="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",kin="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",yin="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",jin="org.eclipse.elk.layered.crossingMinimization.positionId",Ein="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",pR="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",aS="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",r2="org.eclipse.elk.layered.nodePlacement.strategy",dS="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",mR="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",vR="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",kR="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",yR="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",jR="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",Cin="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",Min="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",bS="org.eclipse.elk.layered.edgeRouting.splines.mode",wS="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",ER="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",Tin="org.eclipse.elk.layered.spacing.baseValue",Ain="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",Sin="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",Pin="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",Iin="org.eclipse.elk.layered.priority.direction",Oin="org.eclipse.elk.layered.priority.shortness",Din="org.eclipse.elk.layered.priority.straightness",CR="org.eclipse.elk.layered.compaction.connectedComponents",Lin="org.eclipse.elk.layered.compaction.postCompaction.strategy",Nin="org.eclipse.elk.layered.compaction.postCompaction.constraints",gS="org.eclipse.elk.layered.highDegreeNodes.treatment",MR="org.eclipse.elk.layered.highDegreeNodes.threshold",TR="org.eclipse.elk.layered.highDegreeNodes.treeHeight",Ol="org.eclipse.elk.layered.wrapping.strategy",pS="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",mS="org.eclipse.elk.layered.wrapping.correctionFactor",l8="org.eclipse.elk.layered.wrapping.cutting.strategy",AR="org.eclipse.elk.layered.wrapping.cutting.cuts",SR="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",vS="org.eclipse.elk.layered.wrapping.validify.strategy",kS="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",yS="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",jS="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",PR="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",$in="org.eclipse.elk.layered.edgeLabels.sideSelection",xin="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",ES="org.eclipse.elk.layered.considerModelOrder.strategy",Fin="org.eclipse.elk.layered.considerModelOrder.portModelOrder",Bin="org.eclipse.elk.layered.considerModelOrder.noModelOrder",IR="org.eclipse.elk.layered.considerModelOrder.components",Rin="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",OR="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",DR="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",LR="layering",YXn="layering.minWidth",ZXn="layering.nodePromotion",Wm="crossingMinimization",CS="org.eclipse.elk.hierarchyHandling",nVn="crossingMinimization.greedySwitch",eVn="nodePlacement",tVn="nodePlacement.bk",iVn="edgeRouting",qy="org.eclipse.elk.edgeRouting",Hf="spacing",Kin="priority",_in="compaction",rVn="compaction.postCompaction",cVn="Specifies whether and how post-process compaction is applied.",Hin="highDegreeNodes",qin="wrapping",uVn="wrapping.cutting",oVn="wrapping.validify",Uin="wrapping.multiEdge",NR="edgeLabels",a8="considerModelOrder",Gin="org.eclipse.elk.spacing.commentComment",zin="org.eclipse.elk.spacing.commentNode",Xin="org.eclipse.elk.spacing.edgeEdge",$R="org.eclipse.elk.spacing.edgeNode",Vin="org.eclipse.elk.spacing.labelLabel",Win="org.eclipse.elk.spacing.labelPortHorizontal",Jin="org.eclipse.elk.spacing.labelPortVertical",Qin="org.eclipse.elk.spacing.labelNode",Yin="org.eclipse.elk.spacing.nodeSelfLoop",Zin="org.eclipse.elk.spacing.portPort",nrn="org.eclipse.elk.spacing.individual",ern="org.eclipse.elk.port.borderOffset",trn="org.eclipse.elk.noLayout",irn="org.eclipse.elk.port.side",Uy="org.eclipse.elk.debugMode",rrn="org.eclipse.elk.alignment",crn="org.eclipse.elk.insideSelfLoops.activate",urn="org.eclipse.elk.insideSelfLoops.yo",xR="org.eclipse.elk.direction",orn="org.eclipse.elk.nodeLabels.padding",srn="org.eclipse.elk.portLabels.nextToPortIfPossible",frn="org.eclipse.elk.portLabels.treatAsGroup",hrn="org.eclipse.elk.portAlignment.default",lrn="org.eclipse.elk.portAlignment.north",arn="org.eclipse.elk.portAlignment.south",drn="org.eclipse.elk.portAlignment.west",brn="org.eclipse.elk.portAlignment.east",MS="org.eclipse.elk.contentAlignment",wrn="org.eclipse.elk.junctionPoints",grn="org.eclipse.elk.edgeLabels.placement",prn="org.eclipse.elk.port.index",mrn="org.eclipse.elk.commentBox",vrn="org.eclipse.elk.hypernode",krn="org.eclipse.elk.port.anchor",FR="org.eclipse.elk.partitioning.activate",BR="org.eclipse.elk.partitioning.partition",TS="org.eclipse.elk.position",yrn="org.eclipse.elk.margins",jrn="org.eclipse.elk.spacing.portsSurrounding",AS="org.eclipse.elk.interactiveLayout",dc="org.eclipse.elk.core.util",Ern={3:1,4:1,5:1,601:1},sVn="NETWORK_SIMPLEX",Crn="SIMPLE",vr={106:1,47:1},SS="org.eclipse.elk.alg.layered.p1cycles",Dl="org.eclipse.elk.alg.layered.p2layers",Mrn={413:1,230:1},fVn={846:1,3:1,4:1},Nu="org.eclipse.elk.alg.layered.p3order",kr="org.eclipse.elk.alg.layered.p4nodes",hVn={3:1,4:1,5:1,854:1},jh=1e-5,aa="org.eclipse.elk.alg.layered.p4nodes.bk",RR="org.eclipse.elk.alg.layered.p5edges",pf="org.eclipse.elk.alg.layered.p5edges.orthogonal",KR="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",_R=1e-6,jw="org.eclipse.elk.alg.layered.p5edges.splines",HR=.09999999999999998,PS=1e-8,lVn=4.71238898038469,Trn=3.141592653589793,Ll="org.eclipse.elk.alg.mrtree",qR=.10000000149011612,IS="SUPER_ROOT",d8="org.eclipse.elk.alg.mrtree.graph",Arn=-17976931348623157e292,Rc="org.eclipse.elk.alg.mrtree.intermediate",aVn="Processor compute fanout",OS={3:1,6:1,4:1,5:1,534:1,100:1,115:1},dVn="Set neighbors in level",Gy="org.eclipse.elk.alg.mrtree.options",bVn="DESCENDANTS",Srn="org.eclipse.elk.mrtree.compaction",Prn="org.eclipse.elk.mrtree.edgeEndTextureLength",Irn="org.eclipse.elk.mrtree.treeLevel",Orn="org.eclipse.elk.mrtree.positionConstraint",Drn="org.eclipse.elk.mrtree.weighting",Lrn="org.eclipse.elk.mrtree.edgeRoutingMode",Nrn="org.eclipse.elk.mrtree.searchOrder",wVn="Position Constraint",uu="org.eclipse.elk.mrtree",gVn="org.eclipse.elk.tree",pVn="Processor arrange level",Jm="org.eclipse.elk.alg.mrtree.p2order",po="org.eclipse.elk.alg.mrtree.p4route",$rn="org.eclipse.elk.alg.radial",Cd=6.283185307179586,xrn="Before",Frn=5e-324,DS="After",Brn="org.eclipse.elk.alg.radial.intermediate",mVn="COMPACTION",UR="org.eclipse.elk.alg.radial.intermediate.compaction",vVn={3:1,4:1,5:1,100:1},Rrn="org.eclipse.elk.alg.radial.intermediate.optimization",GR="No implementation is available for the layout option ",b8="org.eclipse.elk.alg.radial.options",Krn="org.eclipse.elk.radial.centerOnRoot",_rn="org.eclipse.elk.radial.orderId",Hrn="org.eclipse.elk.radial.radius",LS="org.eclipse.elk.radial.rotate",zR="org.eclipse.elk.radial.compactor",XR="org.eclipse.elk.radial.compactionStepSize",qrn="org.eclipse.elk.radial.sorter",Urn="org.eclipse.elk.radial.wedgeCriteria",Grn="org.eclipse.elk.radial.optimizationCriteria",VR="org.eclipse.elk.radial.rotation.targetAngle",WR="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",zrn="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",kVn="Compaction",Xrn="rotation",es="org.eclipse.elk.radial",yVn="org.eclipse.elk.alg.radial.p1position.wedge",Vrn="org.eclipse.elk.alg.radial.sorting",jVn=5.497787143782138,EVn=3.9269908169872414,CVn=2.356194490192345,MVn="org.eclipse.elk.alg.rectpacking",NS="org.eclipse.elk.alg.rectpacking.intermediate",JR="org.eclipse.elk.alg.rectpacking.options",Wrn="org.eclipse.elk.rectpacking.trybox",Jrn="org.eclipse.elk.rectpacking.currentPosition",Qrn="org.eclipse.elk.rectpacking.desiredPosition",Yrn="org.eclipse.elk.rectpacking.inNewRow",Zrn="org.eclipse.elk.rectpacking.widthApproximation.strategy",ncn="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",ecn="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",tcn="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",icn="org.eclipse.elk.rectpacking.packing.strategy",rcn="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",ccn="org.eclipse.elk.rectpacking.packing.compaction.iterations",ucn="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",QR="widthApproximation",TVn="Compaction Strategy",AVn="packing.compaction",co="org.eclipse.elk.rectpacking",Qm="org.eclipse.elk.alg.rectpacking.p1widthapproximation",$S="org.eclipse.elk.alg.rectpacking.p2packing",SVn="No Compaction",ocn="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",zy="org.eclipse.elk.alg.rectpacking.util",xS="No implementation available for ",Ew="org.eclipse.elk.alg.spore",Cw="org.eclipse.elk.alg.spore.options",Q0="org.eclipse.elk.sporeCompaction",YR="org.eclipse.elk.underlyingLayoutAlgorithm",scn="org.eclipse.elk.processingOrder.treeConstruction",fcn="org.eclipse.elk.processingOrder.spanningTreeCostFunction",ZR="org.eclipse.elk.processingOrder.preferredRoot",nK="org.eclipse.elk.processingOrder.rootSelection",eK="org.eclipse.elk.structure.structureExtractionStrategy",hcn="org.eclipse.elk.compaction.compactionStrategy",lcn="org.eclipse.elk.compaction.orthogonal",acn="org.eclipse.elk.overlapRemoval.maxIterations",dcn="org.eclipse.elk.overlapRemoval.runScanline",tK="processingOrder",PVn="overlapRemoval",Ym="org.eclipse.elk.sporeOverlap",IVn="org.eclipse.elk.alg.spore.p1structure",iK="org.eclipse.elk.alg.spore.p2processingorder",rK="org.eclipse.elk.alg.spore.p3execution",OVn="Topdown Layout",DVn="Invalid index: ",Zm="org.eclipse.elk.core.alg",c2={341:1},Mw={295:1},LVn="Make sure its type is registered with the ",bcn=" utility class.",nv="true",cK="false",NVn="Couldn't clone property '",Y0=.05,uo="org.eclipse.elk.core.options",$Vn=1.2999999523162842,Z0="org.eclipse.elk.box",wcn="org.eclipse.elk.expandNodes",gcn="org.eclipse.elk.box.packingMode",xVn="org.eclipse.elk.algorithm",FVn="org.eclipse.elk.resolvedAlgorithm",pcn="org.eclipse.elk.bendPoints",iNe="org.eclipse.elk.labelManager",BVn="org.eclipse.elk.scaleFactor",RVn="org.eclipse.elk.childAreaWidth",KVn="org.eclipse.elk.childAreaHeight",_Vn="org.eclipse.elk.animate",HVn="org.eclipse.elk.animTimeFactor",qVn="org.eclipse.elk.layoutAncestors",UVn="org.eclipse.elk.maxAnimTime",GVn="org.eclipse.elk.minAnimTime",zVn="org.eclipse.elk.progressBar",XVn="org.eclipse.elk.validateGraph",VVn="org.eclipse.elk.validateOptions",WVn="org.eclipse.elk.zoomToFit",rNe="org.eclipse.elk.font.name",JVn="org.eclipse.elk.font.size",mcn="org.eclipse.elk.topdown.sizeApproximator",vcn="org.eclipse.elk.topdown.scaleCap",QVn="org.eclipse.elk.edge.type",YVn="partitioning",ZVn="nodeLabels",FS="portAlignment",uK="nodeSize",oK="port",kcn="portLabels",Xy="topdown",nWn="insideSelfLoops",w8="org.eclipse.elk.fixed",BS="org.eclipse.elk.random",ycn={3:1,34:1,22:1,347:1},eWn="port must have a parent node to calculate the port side",tWn="The edge needs to have exactly one edge section. Found: ",g8="org.eclipse.elk.core.util.adapters",ts="org.eclipse.emf.ecore",u2="org.eclipse.elk.graph",iWn="EMapPropertyHolder",rWn="ElkBendPoint",cWn="ElkGraphElement",uWn="ElkConnectableShape",jcn="ElkEdge",oWn="ElkEdgeSection",sWn="EModelElement",fWn="ENamedElement",Ecn="ElkLabel",Ccn="ElkNode",Mcn="ElkPort",hWn={94:1,93:1},g3="org.eclipse.emf.common.notify.impl",da="The feature '",p8="' is not a valid changeable feature",lWn="Expecting null",sK="' is not a valid feature",aWn="The feature ID",dWn=" is not a valid feature ID",kc=32768,bWn={110:1,94:1,93:1,58:1,54:1,99:1},qn="org.eclipse.emf.ecore.impl",Md="org.eclipse.elk.graph.impl",m8="Recursive containment not allowed for ",ev="The datatype '",nb="' is not a valid classifier",fK="The value '",o2={195:1,3:1,4:1},hK="The class '",tv="http://www.eclipse.org/elk/ElkGraph",Tcn="property",v8="value",lK="source",wWn="properties",gWn="identifier",aK="height",dK="width",bK="parent",wK="text",gK="children",pWn="hierarchical",Acn="sources",pK="targets",Scn="sections",RS="bendPoints",Pcn="outgoingShape",Icn="incomingShape",Ocn="outgoingSections",Dcn="incomingSections",or="org.eclipse.emf.common.util",Lcn="Severe implementation error in the Json to ElkGraph importer.",Eh="id",Ui="org.eclipse.elk.graph.json",Ncn="Unhandled parameter types: ",mWn="startPoint",vWn="An edge must have at least one source and one target (edge id: '",iv="').",kWn="Referenced edge section does not exist: ",yWn=" (edge id: '",$cn="target",jWn="sourcePoint",EWn="targetPoint",KS="group",Je="name",CWn="connectableShape cannot be null",MWn="edge cannot be null",mK="Passed edge is not 'simple'.",_S="org.eclipse.elk.graph.util",Vy="The 'no duplicates' constraint is violated",vK="targetIndex=",Td=", size=",kK="sourceIndex=",Ch={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},yK={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},HS="logging",TWn="measureExecutionTime",AWn="parser.parse.1",SWn="parser.parse.2",qS="parser.next.1",jK="parser.next.2",PWn="parser.next.3",IWn="parser.next.4",Ad="parser.factor.1",xcn="parser.factor.2",OWn="parser.factor.3",DWn="parser.factor.4",LWn="parser.factor.5",NWn="parser.factor.6",$Wn="parser.atom.1",xWn="parser.atom.2",FWn="parser.atom.3",Fcn="parser.atom.4",EK="parser.atom.5",Bcn="parser.cc.1",US="parser.cc.2",BWn="parser.cc.3",RWn="parser.cc.5",Rcn="parser.cc.6",Kcn="parser.cc.7",CK="parser.cc.8",KWn="parser.ope.1",_Wn="parser.ope.2",HWn="parser.ope.3",g1="parser.descape.1",qWn="parser.descape.2",UWn="parser.descape.3",GWn="parser.descape.4",zWn="parser.descape.5",is="parser.process.1",XWn="parser.quantifier.1",VWn="parser.quantifier.2",WWn="parser.quantifier.3",JWn="parser.quantifier.4",_cn="parser.quantifier.5",QWn="org.eclipse.emf.common.notify",Hcn={424:1,686:1},YWn={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},Wy={378:1,152:1},k8="index=",MK={3:1,4:1,5:1,129:1},ZWn={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},qcn={3:1,6:1,4:1,5:1,198:1},nJn={3:1,4:1,5:1,173:1,379:1},eJn=";/?:@&=+$,",tJn="invalid authority: ",iJn="EAnnotation",rJn="ETypedElement",cJn="EStructuralFeature",uJn="EAttribute",oJn="EClassifier",sJn="EEnumLiteral",fJn="EGenericType",hJn="EOperation",lJn="EParameter",aJn="EReference",dJn="ETypeParameter",Tt="org.eclipse.emf.ecore.util",TK={79:1},Ucn={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},bJn="org.eclipse.emf.ecore.util.FeatureMap$Entry",$u=8192,Tw=2048,y8="byte",GS="char",j8="double",E8="float",C8="int",M8="long",T8="short",wJn="java.lang.Object",s2={3:1,4:1,5:1,254:1},Gcn={3:1,4:1,5:1,688:1},gJn={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},Qr={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},Jy="mixed",Fe="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",ms="kind",pJn={3:1,4:1,5:1,689:1},zcn={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},zS={20:1,31:1,56:1,16:1,15:1,61:1,71:1},XS={51:1,128:1,287:1},VS={76:1,343:1},WS="The value of type '",JS="' must be of type '",f2=1352,vs="http://www.eclipse.org/emf/2002/Ecore",QS=-32768,eb="constraints",Ji="baseType",mJn="getEStructuralFeature",vJn="getFeatureID",A8="feature",kJn="getOperationID",Xcn="operation",yJn="defaultValue",jJn="eTypeParameters",EJn="isInstance",CJn="getEEnumLiteral",MJn="eContainingClass",Ge={57:1},TJn={3:1,4:1,5:1,124:1},AJn="org.eclipse.emf.ecore.resource",SJn={94:1,93:1,599:1,2034:1},AK="org.eclipse.emf.ecore.resource.impl",Vcn="unspecified",Qy="simple",YS="attribute",PJn="attributeWildcard",ZS="element",SK="elementWildcard",mf="collapse",PK="itemType",nP="namespace",Yy="##targetNamespace",ks="whiteSpace",Wcn="wildcards",Sd="http://www.eclipse.org/emf/2003/XMLType",IK="##any",rv="uninitialized",Zy="The multiplicity constraint is violated",eP="org.eclipse.emf.ecore.xml.type",IJn="ProcessingInstruction",OJn="SimpleAnyType",DJn="XMLTypeDocumentRoot",oi="org.eclipse.emf.ecore.xml.type.impl",nj="INF",LJn="processing",NJn="ENTITIES_._base",Jcn="minLength",Qcn="ENTITY",tP="NCName",$Jn="IDREFS_._base",Ycn="integer",OK="token",DK="pattern",xJn="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",Zcn="\\i\\c*",FJn="[\\i-[:]][\\c-[:]]*",BJn="nonPositiveInteger",ej="maxInclusive",nun="NMTOKEN",RJn="NMTOKENS_._base",eun="nonNegativeInteger",tj="minInclusive",KJn="normalizedString",_Jn="unsignedByte",HJn="unsignedInt",qJn="18446744073709551615",UJn="unsignedShort",GJn="processingInstruction",p1="org.eclipse.emf.ecore.xml.type.internal",cv=1114111,zJn="Internal Error: shorthands: \\u",S8="xml:isDigit",LK="xml:isWord",NK="xml:isSpace",$K="xml:isNameChar",xK="xml:isInitialNameChar",XJn="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",VJn="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",WJn="Private Use",FK="ASSIGNED",BK="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",tun="UNASSIGNED",uv={3:1,122:1},JJn="org.eclipse.emf.ecore.xml.type.util",iP={3:1,4:1,5:1,381:1},iun="org.eclipse.xtext.xbase.lib",QJn="Cannot add elements to a Range",YJn="Cannot set elements in a Range",ZJn="Cannot remove elements from a Range",nQn="user.agent",o,rP,RK;y.goog=y.goog||{},y.goog.global=y.goog.global||y,rP={},b(1,null,{},Bu),o.Fb=function(e){return YMn(this,e)},o.Gb=function(){return this.Rm},o.Hb=function(){return l0(this)},o.Ib=function(){var e;return za(wo(this))+"@"+(e=mt(this)>>>0,e.toString(16))},o.equals=function(n){return this.Fb(n)},o.hashCode=function(){return this.Hb()},o.toString=function(){return this.Ib()};var eQn,tQn,iQn;b(297,1,{297:1,2124:1},YQ),o.ve=function(e){var t;return t=new YQ,t.i=4,e>1?t.c=kOn(this,e-1):t.c=this,t},o.we=function(){return ll(this),this.b},o.xe=function(){return za(this)},o.ye=function(){return ll(this),this.k},o.ze=function(){return(this.i&4)!=0},o.Ae=function(){return(this.i&1)!=0},o.Ib=function(){return fQ(this)},o.i=0;var ki=w(ac,"Object",1),run=w(ac,"Class",297);b(2096,1,ky),w(yy,"Optional",2096),b(1191,2096,ky,Ht),o.Fb=function(e){return e===this},o.Hb=function(){return 2040732332},o.Ib=function(){return"Optional.absent()"},o.Jb=function(e){return Se(e),n6(),KK};var KK;w(yy,"Absent",1191),b(636,1,{},yD),w(yy,"Joiner",636);var cNe=Nt(yy,"Predicate");b(589,1,{178:1,589:1,3:1,46:1},A8n),o.Mb=function(e){return kFn(this,e)},o.Lb=function(e){return kFn(this,e)},o.Fb=function(e){var t;return O(e,589)?(t=u(e,589),Wnn(this.a,t.a)):!1},o.Hb=function(){return rY(this.a)+306654252},o.Ib=function(){return Gje(this.a)},w(yy,"Predicates/AndPredicate",589),b(419,2096,{419:1,3:1},TE),o.Fb=function(e){var t;return O(e,419)?(t=u(e,419),rt(this.a,t.a)):!1},o.Hb=function(){return 1502476572+mt(this.a)},o.Ib=function(){return Szn+this.a+")"},o.Jb=function(e){return new TE(TM(e.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},w(yy,"Present",419),b(204,1,$m),o.Nb=function(e){_i(this,e)},o.Qb=function(){_jn()},w(Cn,"UnmodifiableIterator",204),b(2076,204,xm),o.Qb=function(){_jn()},o.Rb=function(e){throw M(new Pe)},o.Wb=function(e){throw M(new Pe)},w(Cn,"UnmodifiableListIterator",2076),b(399,2076,xm),o.Ob=function(){return this.c0},o.Pb=function(){if(this.c>=this.d)throw M(new nc);return this.Xb(this.c++)},o.Tb=function(){return this.c},o.Ub=function(){if(this.c<=0)throw M(new nc);return this.Xb(--this.c)},o.Vb=function(){return this.c-1},o.c=0,o.d=0,w(Cn,"AbstractIndexedListIterator",399),b(713,204,$m),o.Ob=function(){return E$(this)},o.Pb=function(){return iQ(this)},o.e=1,w(Cn,"AbstractIterator",713),b(2084,1,{229:1}),o.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},o.Fb=function(e){return G$(this,e)},o.Hb=function(){return mt(this.Zb())},o.dc=function(){return this.gc()==0},o.ec=function(){return Tp(this)},o.Ib=function(){return Jr(this.Zb())},w(Cn,"AbstractMultimap",2084),b(742,2084,md),o.$b=function(){gT(this)},o._b=function(e){return uEn(this,e)},o.ac=function(){return new h4(this,this.c)},o.ic=function(e){return this.hc()},o.bc=function(){return new Cg(this,this.c)},o.jc=function(){return this.mc(this.hc())},o.kc=function(){return new Mjn(this)},o.lc=function(){return nF(this.c.vc().Nc(),new ze,64,this.d)},o.cc=function(e){return ot(this,e)},o.fc=function(e){return Lk(this,e)},o.gc=function(){return this.d},o.mc=function(e){return Dn(),new Q3(e)},o.nc=function(){return new Cjn(this)},o.oc=function(){return nF(this.c.Cc().Nc(),new Jt,64,this.d)},o.pc=function(e,t){return new VM(this,e,t,null)},o.d=0,w(Cn,"AbstractMapBasedMultimap",742),b(1696,742,md),o.hc=function(){return new Gc(this.a)},o.jc=function(){return Dn(),Dn(),sr},o.cc=function(e){return u(ot(this,e),15)},o.fc=function(e){return u(Lk(this,e),15)},o.Zb=function(){return Dp(this)},o.Fb=function(e){return G$(this,e)},o.qc=function(e){return u(ot(this,e),15)},o.rc=function(e){return u(Lk(this,e),15)},o.mc=function(e){return TN(u(e,15))},o.pc=function(e,t){return ADn(this,e,u(t,15),null)},w(Cn,"AbstractListMultimap",1696),b(748,1,Si),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.c.Ob()||this.e.Ob()},o.Pb=function(){var e;return this.e.Ob()||(e=u(this.c.Pb(),44),this.b=e.ld(),this.a=u(e.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},o.Qb=function(){this.e.Qb(),u(as(this.a),16).dc()&&this.c.Qb(),--this.d.d},w(Cn,"AbstractMapBasedMultimap/Itr",748),b(1129,748,Si,Cjn),o.sc=function(e,t){return t},w(Cn,"AbstractMapBasedMultimap/1",1129),b(1130,1,{},Jt),o.Kb=function(e){return u(e,16).Nc()},w(Cn,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),b(1131,748,Si,Mjn),o.sc=function(e,t){return new i0(e,t)},w(Cn,"AbstractMapBasedMultimap/2",1131);var cun=Nt(le,"Map");b(2065,1,X0),o.wc=function(e){h5(this,e)},o.yc=function(e,t,i){return hx(this,e,t,i)},o.$b=function(){this.vc().$b()},o.tc=function(e){return xx(this,e)},o._b=function(e){return!!XZ(this,e,!1)},o.uc=function(e){var t,i,r;for(i=this.vc().Kc();i.Ob();)if(t=u(i.Pb(),44),r=t.md(),x(e)===x(r)||e!=null&&rt(e,r))return!0;return!1},o.Fb=function(e){var t,i,r;if(e===this)return!0;if(!O(e,85)||(r=u(e,85),this.gc()!=r.gc()))return!1;for(i=r.vc().Kc();i.Ob();)if(t=u(i.Pb(),44),!this.tc(t))return!1;return!0},o.xc=function(e){return Kr(XZ(this,e,!1))},o.Hb=function(){return VQ(this.vc())},o.dc=function(){return this.gc()==0},o.ec=function(){return new Ha(this)},o.zc=function(e,t){throw M(new Kl("Put not supported on this map"))},o.Ac=function(e){f5(this,e)},o.Bc=function(e){return Kr(XZ(this,e,!0))},o.gc=function(){return this.vc().gc()},o.Ib=function(){return DKn(this)},o.Cc=function(){return new ol(this)},w(le,"AbstractMap",2065),b(2085,2065,X0),o.bc=function(){return new VE(this)},o.vc=function(){return EPn(this)},o.ec=function(){var e;return e=this.g,e||(this.g=this.bc())},o.Cc=function(){var e;return e=this.i,e||(this.i=new JEn(this))},w(Cn,"Maps/ViewCachingAbstractMap",2085),b(402,2085,X0,h4),o.xc=function(e){return hme(this,e)},o.Bc=function(e){return L6e(this,e)},o.$b=function(){this.d==this.e.c?this.e.$b():iM(new uW(this))},o._b=function(e){return rBn(this.d,e)},o.Ec=function(){return new S8n(this)},o.Dc=function(){return this.Ec()},o.Fb=function(e){return this===e||rt(this.d,e)},o.Hb=function(){return mt(this.d)},o.ec=function(){return this.e.ec()},o.gc=function(){return this.d.gc()},o.Ib=function(){return Jr(this.d)},w(Cn,"AbstractMapBasedMultimap/AsMap",402);var Oo=Nt(ac,"Iterable");b(31,1,pw),o.Jc=function(e){qi(this,e)},o.Lc=function(){return this.Oc()},o.Nc=function(){return new In(this,0)},o.Oc=function(){return new Tn(null,this.Nc())},o.Fc=function(e){throw M(new Kl("Add not supported on this collection"))},o.Gc=function(e){return Bi(this,e)},o.$b=function(){zW(this)},o.Hc=function(e){return iw(this,e,!1)},o.Ic=function(e){return Mk(this,e)},o.dc=function(){return this.gc()==0},o.Mc=function(e){return iw(this,e,!0)},o.Pc=function(){return gW(this)},o.Qc=function(e){return S5(this,e)},o.Ib=function(){return ra(this)},w(le,"AbstractCollection",31);var ys=Nt(le,"Set");b(Rf,31,Lu),o.Nc=function(){return new In(this,1)},o.Fb=function(e){return WBn(this,e)},o.Hb=function(){return VQ(this)},w(le,"AbstractSet",Rf),b(2068,Rf,Lu),w(Cn,"Sets/ImprovedAbstractSet",2068),b(2069,2068,Lu),o.$b=function(){this.Rc().$b()},o.Hc=function(e){return LBn(this,e)},o.dc=function(){return this.Rc().dc()},o.Mc=function(e){var t;return this.Hc(e)&&O(e,44)?(t=u(e,44),this.Rc().ec().Mc(t.ld())):!1},o.gc=function(){return this.Rc().gc()},w(Cn,"Maps/EntrySet",2069),b(1127,2069,Lu,S8n),o.Hc=function(e){return yY(this.a.d.vc(),e)},o.Kc=function(){return new uW(this.a)},o.Rc=function(){return this.a},o.Mc=function(e){var t;return yY(this.a.d.vc(),e)?(t=u(as(u(e,44)),44),Y3e(this.a.e,t.ld()),!0):!1},o.Nc=function(){return x7(this.a.d.vc().Nc(),new P8n(this.a))},w(Cn,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),b(1128,1,{},P8n),o.Kb=function(e){return MLn(this.a,u(e,44))},w(Cn,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),b(746,1,Si,uW),o.Nb=function(e){_i(this,e)},o.Pb=function(){var e;return e=u(this.b.Pb(),44),this.a=u(e.md(),16),MLn(this.c,e)},o.Ob=function(){return this.b.Ob()},o.Qb=function(){v4(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},w(Cn,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),b(542,2068,Lu,VE),o.$b=function(){this.b.$b()},o.Hc=function(e){return this.b._b(e)},o.Jc=function(e){Se(e),this.b.wc(new z8n(e))},o.dc=function(){return this.b.dc()},o.Kc=function(){return new e6(this.b.vc().Kc())},o.Mc=function(e){return this.b._b(e)?(this.b.Bc(e),!0):!1},o.gc=function(){return this.b.gc()},w(Cn,"Maps/KeySet",542),b(327,542,Lu,Cg),o.$b=function(){var e;iM((e=this.b.vc().Kc(),new Iz(this,e)))},o.Ic=function(e){return this.b.ec().Ic(e)},o.Fb=function(e){return this===e||rt(this.b.ec(),e)},o.Hb=function(){return mt(this.b.ec())},o.Kc=function(){var e;return e=this.b.vc().Kc(),new Iz(this,e)},o.Mc=function(e){var t,i;return i=0,t=u(this.b.Bc(e),16),t&&(i=t.gc(),t.$b(),this.a.d-=i),i>0},o.Nc=function(){return this.b.ec().Nc()},w(Cn,"AbstractMapBasedMultimap/KeySet",327),b(747,1,Si,Iz),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.c.Ob()},o.Pb=function(){return this.a=u(this.c.Pb(),44),this.a.ld()},o.Qb=function(){var e;v4(!!this.a),e=u(this.a.md(),16),this.c.Qb(),this.b.a.d-=e.gc(),e.$b(),this.a=null},w(Cn,"AbstractMapBasedMultimap/KeySet/1",747),b(503,402,{85:1,133:1},P7),o.bc=function(){return this.Sc()},o.ec=function(){return this.Uc()},o.Sc=function(){return new i7(this.c,this.Wc())},o.Tc=function(){return this.Wc().Tc()},o.Uc=function(){var e;return e=this.b,e||(this.b=this.Sc())},o.Vc=function(){return this.Wc().Vc()},o.Wc=function(){return u(this.d,133)},w(Cn,"AbstractMapBasedMultimap/SortedAsMap",503),b(446,503,wtn,$6),o.bc=function(){return new f4(this.a,u(u(this.d,133),139))},o.Sc=function(){return new f4(this.a,u(u(this.d,133),139))},o.ec=function(){var e;return e=this.b,u(e||(this.b=new f4(this.a,u(u(this.d,133),139))),277)},o.Uc=function(){var e;return e=this.b,u(e||(this.b=new f4(this.a,u(u(this.d,133),139))),277)},o.Wc=function(){return u(u(this.d,133),139)},o.Xc=function(e){return u(u(this.d,133),139).Xc(e)},o.Yc=function(e){return u(u(this.d,133),139).Yc(e)},o.Zc=function(e,t){return new $6(this.a,u(u(this.d,133),139).Zc(e,t))},o.$c=function(e){return u(u(this.d,133),139).$c(e)},o._c=function(e){return u(u(this.d,133),139)._c(e)},o.ad=function(e,t){return new $6(this.a,u(u(this.d,133),139).ad(e,t))},w(Cn,"AbstractMapBasedMultimap/NavigableAsMap",446),b(502,327,Pzn,i7),o.Nc=function(){return this.b.ec().Nc()},w(Cn,"AbstractMapBasedMultimap/SortedKeySet",502),b(401,502,gtn,f4),w(Cn,"AbstractMapBasedMultimap/NavigableKeySet",401),b(551,31,pw,VM),o.Fc=function(e){var t,i;return eo(this),i=this.d.dc(),t=this.d.Fc(e),t&&(++this.f.d,i&&L7(this)),t},o.Gc=function(e){var t,i,r;return e.dc()?!1:(r=(eo(this),this.d.gc()),t=this.d.Gc(e),t&&(i=this.d.gc(),this.f.d+=i-r,r==0&&L7(this)),t)},o.$b=function(){var e;e=(eo(this),this.d.gc()),e!=0&&(this.d.$b(),this.f.d-=e,fM(this))},o.Hc=function(e){return eo(this),this.d.Hc(e)},o.Ic=function(e){return eo(this),this.d.Ic(e)},o.Fb=function(e){return e===this?!0:(eo(this),rt(this.d,e))},o.Hb=function(){return eo(this),mt(this.d)},o.Kc=function(){return eo(this),new qV(this)},o.Mc=function(e){var t;return eo(this),t=this.d.Mc(e),t&&(--this.f.d,fM(this)),t},o.gc=function(){return BMn(this)},o.Nc=function(){return eo(this),this.d.Nc()},o.Ib=function(){return eo(this),Jr(this.d)},w(Cn,"AbstractMapBasedMultimap/WrappedCollection",551);var rs=Nt(le,"List");b(744,551,{20:1,31:1,16:1,15:1},vW),o.jd=function(e){ud(this,e)},o.Nc=function(){return eo(this),this.d.Nc()},o.bd=function(e,t){var i;eo(this),i=this.d.dc(),u(this.d,15).bd(e,t),++this.a.d,i&&L7(this)},o.cd=function(e,t){var i,r,c;return t.dc()?!1:(c=(eo(this),this.d.gc()),i=u(this.d,15).cd(e,t),i&&(r=this.d.gc(),this.a.d+=r-c,c==0&&L7(this)),i)},o.Xb=function(e){return eo(this),u(this.d,15).Xb(e)},o.dd=function(e){return eo(this),u(this.d,15).dd(e)},o.ed=function(){return eo(this),new bTn(this)},o.fd=function(e){return eo(this),new FIn(this,e)},o.gd=function(e){var t;return eo(this),t=u(this.d,15).gd(e),--this.a.d,fM(this),t},o.hd=function(e,t){return eo(this),u(this.d,15).hd(e,t)},o.kd=function(e,t){return eo(this),ADn(this.a,this.e,u(this.d,15).kd(e,t),this.b?this.b:this)},w(Cn,"AbstractMapBasedMultimap/WrappedList",744),b(1126,744,{20:1,31:1,16:1,15:1,59:1},iAn),w(Cn,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),b(628,1,Si,qV),o.Nb=function(e){_i(this,e)},o.Ob=function(){return I4(this),this.b.Ob()},o.Pb=function(){return I4(this),this.b.Pb()},o.Qb=function(){_Tn(this)},w(Cn,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),b(745,628,Hh,bTn,FIn),o.Qb=function(){_Tn(this)},o.Rb=function(e){var t;t=BMn(this.a)==0,(I4(this),u(this.b,128)).Rb(e),++this.a.a.d,t&&L7(this.a)},o.Sb=function(){return(I4(this),u(this.b,128)).Sb()},o.Tb=function(){return(I4(this),u(this.b,128)).Tb()},o.Ub=function(){return(I4(this),u(this.b,128)).Ub()},o.Vb=function(){return(I4(this),u(this.b,128)).Vb()},o.Wb=function(e){(I4(this),u(this.b,128)).Wb(e)},w(Cn,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),b(743,551,Pzn,sV),o.Nc=function(){return eo(this),this.d.Nc()},w(Cn,"AbstractMapBasedMultimap/WrappedSortedSet",743),b(1125,743,gtn,fTn),w(Cn,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),b(1124,551,Lu,CAn),o.Nc=function(){return eo(this),this.d.Nc()},w(Cn,"AbstractMapBasedMultimap/WrappedSet",1124),b(1133,1,{},ze),o.Kb=function(e){return s4e(u(e,44))},w(Cn,"AbstractMapBasedMultimap/lambda$1$Type",1133),b(1132,1,{},L8n),o.Kb=function(e){return new i0(this.a,e)},w(Cn,"AbstractMapBasedMultimap/lambda$2$Type",1132);var Pd=Nt(le,"Map/Entry");b(358,1,tB),o.Fb=function(e){var t;return O(e,44)?(t=u(e,44),oh(this.ld(),t.ld())&&oh(this.md(),t.md())):!1},o.Hb=function(){var e,t;return e=this.ld(),t=this.md(),(e==null?0:mt(e))^(t==null?0:mt(t))},o.nd=function(e){throw M(new Pe)},o.Ib=function(){return this.ld()+"="+this.md()},w(Cn,Izn,358),b(2086,31,pw),o.$b=function(){this.od().$b()},o.Hc=function(e){var t;return O(e,44)?(t=u(e,44),Ppe(this.od(),t.ld(),t.md())):!1},o.Mc=function(e){var t;return O(e,44)?(t=u(e,44),sDn(this.od(),t.ld(),t.md())):!1},o.gc=function(){return this.od().d},w(Cn,"Multimaps/Entries",2086),b(749,2086,pw,fG),o.Kc=function(){return this.a.kc()},o.od=function(){return this.a},o.Nc=function(){return this.a.lc()},w(Cn,"AbstractMultimap/Entries",749),b(750,749,Lu,oz),o.Nc=function(){return this.a.lc()},o.Fb=function(e){return dnn(this,e)},o.Hb=function(){return vxn(this)},w(Cn,"AbstractMultimap/EntrySet",750),b(751,31,pw,hG),o.$b=function(){this.a.$b()},o.Hc=function(e){return A6e(this.a,e)},o.Kc=function(){return this.a.nc()},o.gc=function(){return this.a.d},o.Nc=function(){return this.a.oc()},w(Cn,"AbstractMultimap/Values",751),b(2087,31,{849:1,20:1,31:1,16:1}),o.Jc=function(e){Se(e),Tg(this).Jc(new Y8n(e))},o.Nc=function(){var e;return e=Tg(this).Nc(),nF(e,new Cf,64|e.yd()&1296,this.a.d)},o.Fc=function(e){return wz(),!0},o.Gc=function(e){return Se(this),Se(e),O(e,552)?Dpe(u(e,849)):!e.dc()&&b$(this,e.Kc())},o.Hc=function(e){var t;return t=u(tw(Dp(this.a),e),16),(t?t.gc():0)>0},o.Fb=function(e){return nMe(this,e)},o.Hb=function(){return mt(Tg(this))},o.dc=function(){return Tg(this).dc()},o.Mc=function(e){return G_n(this,e,1)>0},o.Ib=function(){return Jr(Tg(this))},w(Cn,"AbstractMultiset",2087),b(2089,2068,Lu),o.$b=function(){gT(this.a.a)},o.Hc=function(e){var t,i;return O(e,504)?(i=u(e,425),u(i.a.md(),16).gc()<=0?!1:(t=$On(this.a,i.a.ld()),t==u(i.a.md(),16).gc())):!1},o.Mc=function(e){var t,i,r,c;return O(e,504)&&(i=u(e,425),t=i.a.ld(),r=u(i.a.md(),16).gc(),r!=0)?(c=this.a,UEe(c,t,r)):!1},w(Cn,"Multisets/EntrySet",2089),b(1139,2089,Lu,N8n),o.Kc=function(){return new Ijn(EPn(Dp(this.a.a)).Kc())},o.gc=function(){return Dp(this.a.a).gc()},w(Cn,"AbstractMultiset/EntrySet",1139),b(627,742,md),o.hc=function(){return this.pd()},o.jc=function(){return this.qd()},o.cc=function(e){return this.rd(e)},o.fc=function(e){return this.sd(e)},o.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},o.qd=function(){return Dn(),Dn(),hP},o.Fb=function(e){return G$(this,e)},o.rd=function(e){return u(ot(this,e),21)},o.sd=function(e){return u(Lk(this,e),21)},o.mc=function(e){return Dn(),new r4(u(e,21))},o.pc=function(e,t){return new CAn(this,e,u(t,21))},w(Cn,"AbstractSetMultimap",627),b(1723,627,md),o.hc=function(){return new Ul(this.b)},o.pd=function(){return new Ul(this.b)},o.jc=function(){return KW(new Ul(this.b))},o.qd=function(){return KW(new Ul(this.b))},o.cc=function(e){return u(u(ot(this,e),21),87)},o.rd=function(e){return u(u(ot(this,e),21),87)},o.fc=function(e){return u(u(Lk(this,e),21),87)},o.sd=function(e){return u(u(Lk(this,e),21),87)},o.mc=function(e){return O(e,277)?KW(u(e,277)):(Dn(),new XX(u(e,87)))},o.Zb=function(){var e;return e=this.f,e||(this.f=O(this.c,139)?new $6(this,u(this.c,139)):O(this.c,133)?new P7(this,u(this.c,133)):new h4(this,this.c))},o.pc=function(e,t){return O(t,277)?new fTn(this,e,u(t,277)):new sV(this,e,u(t,87))},w(Cn,"AbstractSortedSetMultimap",1723),b(1724,1723,md),o.Zb=function(){var e;return e=this.f,u(u(e||(this.f=O(this.c,139)?new $6(this,u(this.c,139)):O(this.c,133)?new P7(this,u(this.c,133)):new h4(this,this.c)),133),139)},o.ec=function(){var e;return e=this.i,u(u(e||(this.i=O(this.c,139)?new f4(this,u(this.c,139)):O(this.c,133)?new i7(this,u(this.c,133)):new Cg(this,this.c)),87),277)},o.bc=function(){return O(this.c,139)?new f4(this,u(this.c,139)):O(this.c,133)?new i7(this,u(this.c,133)):new Cg(this,this.c)},w(Cn,"AbstractSortedKeySortedSetMultimap",1724),b(2109,1,{2046:1}),o.Fb=function(e){return Mke(this,e)},o.Hb=function(){var e;return VQ((e=this.g,e||(this.g=new zO(this))))},o.Ib=function(){var e;return DKn((e=this.f,e||(this.f=new qX(this))))},w(Cn,"AbstractTable",2109),b(679,Rf,Lu,zO),o.$b=function(){Hjn()},o.Hc=function(e){var t,i;return O(e,479)?(t=u(e,697),i=u(tw(XPn(this.a),_1(t.c.e,t.b)),85),!!i&&yY(i.vc(),new i0(_1(t.c.c,t.a),Rp(t.c,t.b,t.a)))):!1},o.Kc=function(){return Pge(this.a)},o.Mc=function(e){var t,i;return O(e,479)?(t=u(e,697),i=u(tw(XPn(this.a),_1(t.c.e,t.b)),85),!!i&&u5e(i.vc(),new i0(_1(t.c.c,t.a),Rp(t.c,t.b,t.a)))):!1},o.gc=function(){return JSn(this.a)},o.Nc=function(){return $pe(this.a)},w(Cn,"AbstractTable/CellSet",679),b(2025,31,pw,x8n),o.$b=function(){Hjn()},o.Hc=function(e){return pye(this.a,e)},o.Kc=function(){return Ige(this.a)},o.gc=function(){return JSn(this.a)},o.Nc=function(){return oDn(this.a)},w(Cn,"AbstractTable/Values",2025),b(1697,1696,md),w(Cn,"ArrayListMultimapGwtSerializationDependencies",1697),b(520,1697,md,CD,sJ),o.hc=function(){return new Gc(this.a)},o.a=0,w(Cn,"ArrayListMultimap",520),b(678,2109,{678:1,2046:1,3:1},rHn),w(Cn,"ArrayTable",678),b(2021,399,xm,HTn),o.Xb=function(e){return new ZQ(this.a,e)},w(Cn,"ArrayTable/1",2021),b(2022,1,{},I8n),o.td=function(e){return new ZQ(this.a,e)},w(Cn,"ArrayTable/1methodref$getCell$Type",2022),b(2110,1,{697:1}),o.Fb=function(e){var t;return e===this?!0:O(e,479)?(t=u(e,697),oh(_1(this.c.e,this.b),_1(t.c.e,t.b))&&oh(_1(this.c.c,this.a),_1(t.c.c,t.a))&&oh(Rp(this.c,this.b,this.a),Rp(t.c,t.b,t.a))):!1},o.Hb=function(){return Dk(S(T(ki,1),Fn,1,5,[_1(this.c.e,this.b),_1(this.c.c,this.a),Rp(this.c,this.b,this.a)]))},o.Ib=function(){return"("+_1(this.c.e,this.b)+","+_1(this.c.c,this.a)+")="+Rp(this.c,this.b,this.a)},w(Cn,"Tables/AbstractCell",2110),b(479,2110,{479:1,697:1},ZQ),o.a=0,o.b=0,o.d=0,w(Cn,"ArrayTable/2",479),b(2024,1,{},O8n),o.td=function(e){return DNn(this.a,e)},w(Cn,"ArrayTable/2methodref$getValue$Type",2024),b(2023,399,xm,qTn),o.Xb=function(e){return DNn(this.a,e)},w(Cn,"ArrayTable/3",2023),b(2077,2065,X0),o.$b=function(){iM(this.kc())},o.vc=function(){return new G8n(this)},o.lc=function(){return new AIn(this.kc(),this.gc())},w(Cn,"Maps/IteratorBasedAbstractMap",2077),b(842,2077,X0),o.$b=function(){throw M(new Pe)},o._b=function(e){return oEn(this.c,e)},o.kc=function(){return new UTn(this,this.c.b.c.gc())},o.lc=function(){return XL(this.c.b.c.gc(),16,new D8n(this))},o.xc=function(e){var t;return t=u(x6(this.c,e),17),t?this.vd(t.a):null},o.dc=function(){return this.c.b.c.dc()},o.ec=function(){return eN(this.c)},o.zc=function(e,t){var i;if(i=u(x6(this.c,e),17),!i)throw M(new Gn(this.ud()+" "+e+" not in "+eN(this.c)));return this.wd(i.a,t)},o.Bc=function(e){throw M(new Pe)},o.gc=function(){return this.c.b.c.gc()},w(Cn,"ArrayTable/ArrayMap",842),b(2020,1,{},D8n),o.td=function(e){return WPn(this.a,e)},w(Cn,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),b(2018,358,tB,LEn),o.ld=function(){return q1e(this.a,this.b)},o.md=function(){return this.a.vd(this.b)},o.nd=function(e){return this.a.wd(this.b,e)},o.b=0,w(Cn,"ArrayTable/ArrayMap/1",2018),b(2019,399,xm,UTn),o.Xb=function(e){return WPn(this.a,e)},w(Cn,"ArrayTable/ArrayMap/2",2019),b(2017,842,X0,xPn),o.ud=function(){return"Column"},o.vd=function(e){return Rp(this.b,this.a,e)},o.wd=function(e,t){return cFn(this.b,this.a,e,t)},o.a=0,w(Cn,"ArrayTable/Row",2017),b(843,842,X0,qX),o.vd=function(e){return new xPn(this.a,e)},o.zc=function(e,t){return u(t,85),hhe()},o.wd=function(e,t){return u(t,85),lhe()},o.ud=function(){return"Row"},w(Cn,"ArrayTable/RowMap",843),b(1157,1,Po,NEn),o.Ad=function(e){return(this.a.yd()&-262&e)!=0},o.yd=function(){return this.a.yd()&-262},o.zd=function(){return this.a.zd()},o.Nb=function(e){this.a.Nb(new xEn(e,this.b))},o.Bd=function(e){return this.a.Bd(new $En(e,this.b))},w(Cn,"CollectSpliterators/1",1157),b(1158,1,ie,$En),o.Cd=function(e){this.a.Cd(this.b.Kb(e))},w(Cn,"CollectSpliterators/1/lambda$0$Type",1158),b(1159,1,ie,xEn),o.Cd=function(e){this.a.Cd(this.b.Kb(e))},w(Cn,"CollectSpliterators/1/lambda$1$Type",1159),b(1154,1,Po,cSn),o.Ad=function(e){return((16464|this.b)&e)!=0},o.yd=function(){return 16464|this.b},o.zd=function(){return this.a.zd()},o.Nb=function(e){this.a.Qe(new BEn(e,this.c))},o.Bd=function(e){return this.a.Re(new FEn(e,this.c))},o.b=0,w(Cn,"CollectSpliterators/1WithCharacteristics",1154),b(1155,1,jy,FEn),o.Dd=function(e){this.a.Cd(this.b.td(e))},w(Cn,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),b(1156,1,jy,BEn),o.Dd=function(e){this.a.Cd(this.b.td(e))},w(Cn,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),b(1150,1,Po),o.Ad=function(e){return(this.a&e)!=0},o.yd=function(){return this.a},o.zd=function(){return this.e&&(this.b=OX(this.b,this.e.zd())),OX(this.b,0)},o.Nb=function(e){this.e&&(this.e.Nb(e),this.e=null),this.c.Nb(new REn(this,e)),this.b=0},o.Bd=function(e){for(;;){if(this.e&&this.e.Bd(e))return M6(this.b,Ey)&&(this.b=bs(this.b,1)),!0;if(this.e=null,!this.c.Bd(new F8n(this)))return!1}},o.a=0,o.b=0,w(Cn,"CollectSpliterators/FlatMapSpliterator",1150),b(1152,1,ie,F8n),o.Cd=function(e){_ae(this.a,e)},w(Cn,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),b(1153,1,ie,REn),o.Cd=function(e){age(this.a,this.b,e)},w(Cn,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),b(1151,1150,Po,MDn),w(Cn,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),b(253,1,iB),o.Fd=function(e){return this.Ed(u(e,253))},o.Ed=function(e){var t;return e==(bD(),HK)?1:e==(dD(),_K)?-1:(t=(YC(),kk(this.a,e.a)),t!=0?t:O(this,526)==O(e,526)?0:O(this,526)?1:-1)},o.Id=function(){return this.a},o.Fb=function(e){return vZ(this,e)},w(Cn,"Cut",253),b(1823,253,iB,Ejn),o.Ed=function(e){return e==this?0:1},o.Gd=function(e){throw M(new HG)},o.Hd=function(e){e.a+="+∞)"},o.Id=function(){throw M(new Or(Dzn))},o.Hb=function(){return fl(),rZ(this)},o.Jd=function(e){return!1},o.Ib=function(){return"+∞"};var _K;w(Cn,"Cut/AboveAll",1823),b(526,253,{253:1,526:1,3:1,34:1},JTn),o.Gd=function(e){Dc((e.a+="(",e),this.a)},o.Hd=function(e){Ya(Dc(e,this.a),93)},o.Hb=function(){return~mt(this.a)},o.Jd=function(e){return YC(),kk(this.a,e)<0},o.Ib=function(){return"/"+this.a+"\\"},w(Cn,"Cut/AboveValue",526),b(1822,253,iB,jjn),o.Ed=function(e){return e==this?0:-1},o.Gd=function(e){e.a+="(-∞"},o.Hd=function(e){throw M(new HG)},o.Id=function(){throw M(new Or(Dzn))},o.Hb=function(){return fl(),rZ(this)},o.Jd=function(e){return!0},o.Ib=function(){return"-∞"};var HK;w(Cn,"Cut/BelowAll",1822),b(1824,253,iB,QTn),o.Gd=function(e){Dc((e.a+="[",e),this.a)},o.Hd=function(e){Ya(Dc(e,this.a),41)},o.Hb=function(){return mt(this.a)},o.Jd=function(e){return YC(),kk(this.a,e)<=0},o.Ib=function(){return"\\"+this.a+"/"},w(Cn,"Cut/BelowValue",1824),b(547,1,qh),o.Jc=function(e){qi(this,e)},o.Ib=function(){return A5e(u(TM(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},w(Cn,"FluentIterable",547),b(442,547,qh,S6),o.Kc=function(){return new te(re(this.a.Kc(),new En))},w(Cn,"FluentIterable/2",442),b(1059,547,qh,cTn),o.Kc=function(){return $h(this)},w(Cn,"FluentIterable/3",1059),b(724,399,xm,UX),o.Xb=function(e){return this.a[e].Kc()},w(Cn,"FluentIterable/3/1",724),b(2070,1,{}),o.Ib=function(){return Jr(this.Kd().b)},w(Cn,"ForwardingObject",2070),b(2071,2070,Lzn),o.Kd=function(){return this.Ld()},o.Jc=function(e){qi(this,e)},o.Lc=function(){return this.Oc()},o.Nc=function(){return new In(this,0)},o.Oc=function(){return new Tn(null,this.Nc())},o.Fc=function(e){return this.Ld(),fEn()},o.Gc=function(e){return this.Ld(),hEn()},o.$b=function(){this.Ld(),lEn()},o.Hc=function(e){return this.Ld().Hc(e)},o.Ic=function(e){return this.Ld().Ic(e)},o.dc=function(){return this.Ld().b.dc()},o.Kc=function(){return this.Ld().Kc()},o.Mc=function(e){return this.Ld(),aEn()},o.gc=function(){return this.Ld().b.gc()},o.Pc=function(){return this.Ld().Pc()},o.Qc=function(e){return this.Ld().Qc(e)},w(Cn,"ForwardingCollection",2071),b(2078,31,ptn),o.Kc=function(){return this.Od()},o.Fc=function(e){throw M(new Pe)},o.Gc=function(e){throw M(new Pe)},o.Md=function(){var e;return e=this.c,e||(this.c=this.Nd())},o.$b=function(){throw M(new Pe)},o.Hc=function(e){return e!=null&&iw(this,e,!1)},o.Nd=function(){switch(this.gc()){case 0:return m0(),m0(),qK;case 1:return m0(),new VL(Se(this.Od().Pb()));default:return new EW(this,this.Pc())}},o.Mc=function(e){throw M(new Pe)},w(Cn,"ImmutableCollection",2078),b(727,2078,ptn,KG),o.Kc=function(){return Kp(this.a.Kc())},o.Hc=function(e){return e!=null&&this.a.Hc(e)},o.Ic=function(e){return this.a.Ic(e)},o.dc=function(){return this.a.dc()},o.Od=function(){return Kp(this.a.Kc())},o.gc=function(){return this.a.gc()},o.Pc=function(){return this.a.Pc()},o.Qc=function(e){return this.a.Qc(e)},o.Ib=function(){return Jr(this.a)},w(Cn,"ForwardingImmutableCollection",727),b(307,2078,Fm),o.Kc=function(){return this.Od()},o.ed=function(){return this.Pd(0)},o.fd=function(e){return this.Pd(e)},o.jd=function(e){ud(this,e)},o.Nc=function(){return new In(this,16)},o.kd=function(e,t){return this.Qd(e,t)},o.bd=function(e,t){throw M(new Pe)},o.cd=function(e,t){throw M(new Pe)},o.Md=function(){return this},o.Fb=function(e){return HCe(this,e)},o.Hb=function(){return xve(this)},o.dd=function(e){return e==null?-1:c7e(this,e)},o.Od=function(){return this.Pd(0)},o.Pd=function(e){return TL(this,e)},o.gd=function(e){throw M(new Pe)},o.hd=function(e,t){throw M(new Pe)},o.Qd=function(e,t){var i;return FT((i=new WEn(this),new Jl(i,e,t)))};var qK;w(Cn,"ImmutableList",307),b(2105,307,Fm),o.Kc=function(){return Kp(this.Rd().Kc())},o.kd=function(e,t){return FT(this.Rd().kd(e,t))},o.Hc=function(e){return e!=null&&this.Rd().Hc(e)},o.Ic=function(e){return this.Rd().Ic(e)},o.Fb=function(e){return rt(this.Rd(),e)},o.Xb=function(e){return _1(this,e)},o.Hb=function(){return mt(this.Rd())},o.dd=function(e){return this.Rd().dd(e)},o.dc=function(){return this.Rd().dc()},o.Od=function(){return Kp(this.Rd().Kc())},o.gc=function(){return this.Rd().gc()},o.Qd=function(e,t){return FT(this.Rd().kd(e,t))},o.Pc=function(){return this.Rd().Qc(K(ki,Fn,1,this.Rd().gc(),5,1))},o.Qc=function(e){return this.Rd().Qc(e)},o.Ib=function(){return Jr(this.Rd())},w(Cn,"ForwardingImmutableList",2105),b(729,1,Bm),o.vc=function(){return Wa(this)},o.wc=function(e){h5(this,e)},o.ec=function(){return eN(this)},o.yc=function(e,t,i){return hx(this,e,t,i)},o.Cc=function(){return this.Vd()},o.$b=function(){throw M(new Pe)},o._b=function(e){return this.xc(e)!=null},o.uc=function(e){return this.Vd().Hc(e)},o.Td=function(){return new Oyn(this)},o.Ud=function(){return new Dyn(this)},o.Fb=function(e){return S6e(this,e)},o.Hb=function(){return Wa(this).Hb()},o.dc=function(){return this.gc()==0},o.zc=function(e,t){return fhe()},o.Bc=function(e){throw M(new Pe)},o.Ib=function(){return wje(this)},o.Vd=function(){return this.e?this.e:this.e=this.Ud()},o.c=null,o.d=null,o.e=null;var rQn;w(Cn,"ImmutableMap",729),b(730,729,Bm),o._b=function(e){return oEn(this,e)},o.uc=function(e){return eCn(this.b,e)},o.Sd=function(){return eBn(new $8n(this))},o.Td=function(){return eBn(pIn(this.b))},o.Ud=function(){return uh(),new KG(gIn(this.b))},o.Fb=function(e){return tCn(this.b,e)},o.xc=function(e){return x6(this,e)},o.Hb=function(){return mt(this.b.c)},o.dc=function(){return this.b.c.dc()},o.gc=function(){return this.b.c.gc()},o.Ib=function(){return Jr(this.b.c)},w(Cn,"ForwardingImmutableMap",730),b(2072,2071,rB),o.Kd=function(){return this.Wd()},o.Ld=function(){return this.Wd()},o.Nc=function(){return new In(this,1)},o.Fb=function(e){return e===this||this.Wd().Fb(e)},o.Hb=function(){return this.Wd().Hb()},w(Cn,"ForwardingSet",2072),b(1085,2072,rB,$8n),o.Kd=function(){return S4(this.a.b)},o.Ld=function(){return S4(this.a.b)},o.Hc=function(e){if(O(e,44)&&u(e,44).ld()==null)return!1;try{return nCn(S4(this.a.b),e)}catch(t){if(t=It(t),O(t,212))return!1;throw M(t)}},o.Wd=function(){return S4(this.a.b)},o.Qc=function(e){var t;return t=eOn(S4(this.a.b),e),S4(this.a.b).b.gc()=0?"+":"")+(i/60|0),t=OC(y.Math.abs(i)%60),(UKn(),EQn)[this.q.getDay()]+" "+CQn[this.q.getMonth()]+" "+OC(this.q.getDate())+" "+OC(this.q.getHours())+":"+OC(this.q.getMinutes())+":"+OC(this.q.getSeconds())+" GMT"+e+t+" "+this.q.getFullYear()};var oP=w(le,"Date",206);b(2015,206,Hzn,dKn),o.a=!1,o.b=0,o.c=0,o.d=0,o.e=0,o.f=0,o.g=!1,o.i=0,o.j=0,o.k=0,o.n=0,o.o=0,o.p=0,w("com.google.gwt.i18n.shared.impl","DateRecord",2015),b(2064,1,{}),o.pe=function(){return null},o.qe=function(){return null},o.re=function(){return null},o.se=function(){return null},o.te=function(){return null},w(u3,"JSONValue",2064),b(221,2064,{221:1},Ka,aG),o.Fb=function(e){return O(e,221)?hJ(this.a,u(e,221).a):!1},o.oe=function(){return Nfe},o.Hb=function(){return ZW(this.a)},o.pe=function(){return this},o.Ib=function(){var e,t,i;for(i=new mo("["),t=0,e=this.a.length;t0&&(i.a+=","),Dc(i,Jb(this,t));return i.a+="]",i.a},w(u3,"JSONArray",221),b(493,2064,{493:1},dG),o.oe=function(){return $fe},o.qe=function(){return this},o.Ib=function(){return _n(),""+this.a},o.a=!1;var lQn,aQn;w(u3,"JSONBoolean",493),b(997,63,Pl,Ojn),w(u3,"JSONException",997),b(1036,2064,{},M0n),o.oe=function(){return xfe},o.Ib=function(){return gu};var dQn;w(u3,"JSONNull",1036),b(263,2064,{263:1},AE),o.Fb=function(e){return O(e,263)?this.a==u(e,263).a:!1},o.oe=function(){return Dfe},o.Hb=function(){return pp(this.a)},o.re=function(){return this},o.Ib=function(){return this.a+""},o.a=0,w(u3,"JSONNumber",263),b(190,2064,{190:1},op,z9),o.Fb=function(e){return O(e,190)?hJ(this.a,u(e,190).a):!1},o.oe=function(){return Lfe},o.Hb=function(){return ZW(this.a)},o.se=function(){return this},o.Ib=function(){var e,t,i,r,c,s,f;for(f=new mo("{"),e=!0,s=S$(this,K(fn,J,2,0,6,1)),i=s,r=0,c=i.length;r=0?":"+this.c:"")+")"},o.c=0;var jun=w(ac,"StackTraceElement",319);iQn={3:1,484:1,34:1,2:1};var fn=w(ac,mtn,2);b(111,427,{484:1},Hl,r6,ls),w(ac,"StringBuffer",111),b(104,427,{484:1},x1,lp,mo),w(ac,"StringBuilder",104),b(702,77,AB,gz),w(ac,"StringIndexOutOfBoundsException",702),b(2145,1,{});var pQn;b(48,63,{3:1,103:1,63:1,82:1,48:1},Pe,Kl),w(ac,"UnsupportedOperationException",48),b(247,242,{3:1,34:1,242:1,247:1},xk,Az),o.Fd=function(e){return FUn(this,u(e,247))},o.ue=function(){return sw(lGn(this))},o.Fb=function(e){var t;return this===e?!0:O(e,247)?(t=u(e,247),this.e==t.e&&FUn(this,t)==0):!1},o.Hb=function(){var e;return this.b!=0?this.b:this.a<54?(e=vc(this.f),this.b=Ae(vi(e,-1)),this.b=33*this.b+Ae(vi(w0(e,32),-1)),this.b=17*this.b+wi(this.e),this.b):(this.b=17*JFn(this.c)+wi(this.e),this.b)},o.Ib=function(){return lGn(this)},o.a=0,o.b=0,o.d=0,o.e=0,o.f=0;var mQn,Id,Eun,Cun,Mun,Tun,Aun,Sun,QK=w("java.math","BigDecimal",247);b(92,242,{3:1,34:1,242:1,92:1},gl,HOn,Qa,QBn,H1),o.Fd=function(e){return XBn(this,u(e,92))},o.ue=function(){return sw(ZF(this,0))},o.Fb=function(e){return _Y(this,e)},o.Hb=function(){return JFn(this)},o.Ib=function(){return ZF(this,0)},o.b=-2,o.c=0,o.d=0,o.e=0;var vQn,sP,kQn,YK,fP,O8,h2=w("java.math","BigInteger",92),yQn,jQn,m3,D8;b(498,2065,X0),o.$b=function(){Hu(this)},o._b=function(e){return Zc(this,e)},o.uc=function(e){return OFn(this,e,this.i)||OFn(this,e,this.f)},o.vc=function(){return new qa(this)},o.xc=function(e){return ee(this,e)},o.zc=function(e,t){return Xe(this,e,t)},o.Bc=function(e){return Bp(this,e)},o.gc=function(){return u6(this)},o.g=0,w(le,"AbstractHashMap",498),b(267,Rf,Lu,qa),o.$b=function(){this.a.$b()},o.Hc=function(e){return mDn(this,e)},o.Kc=function(){return new sd(this.a)},o.Mc=function(e){var t;return mDn(this,e)?(t=u(e,44).ld(),this.a.Bc(t),!0):!1},o.gc=function(){return this.a.gc()},w(le,"AbstractHashMap/EntrySet",267),b(268,1,Si,sd),o.Nb=function(e){_i(this,e)},o.Pb=function(){return L0(this)},o.Ob=function(){return this.b},o.Qb=function(){XNn(this)},o.b=!1,o.d=0,w(le,"AbstractHashMap/EntrySetIterator",268),b(426,1,Si,Xv),o.Nb=function(e){_i(this,e)},o.Ob=function(){return DD(this)},o.Pb=function(){return VW(this)},o.Qb=function(){bo(this)},o.b=0,o.c=-1,w(le,"AbstractList/IteratorImpl",426),b(98,426,Hh,xi),o.Qb=function(){bo(this)},o.Rb=function(e){Rb(this,e)},o.Sb=function(){return this.b>0},o.Tb=function(){return this.b},o.Ub=function(){return oe(this.b>0),this.a.Xb(this.c=--this.b)},o.Vb=function(){return this.b-1},o.Wb=function(e){Fb(this.c!=-1),this.a.hd(this.c,e)},w(le,"AbstractList/ListIteratorImpl",98),b(244,56,Rm,Jl),o.bd=function(e,t){zb(e,this.b),this.c.bd(this.a+e,t),++this.b},o.Xb=function(e){return Ln(e,this.b),this.c.Xb(this.a+e)},o.gd=function(e){var t;return Ln(e,this.b),t=this.c.gd(this.a+e),--this.b,t},o.hd=function(e,t){return Ln(e,this.b),this.c.hd(this.a+e,t)},o.gc=function(){return this.b},o.a=0,o.b=0,w(le,"AbstractList/SubList",244),b(266,Rf,Lu,Ha),o.$b=function(){this.a.$b()},o.Hc=function(e){return this.a._b(e)},o.Kc=function(){var e;return e=this.a.vc().Kc(),new PE(e)},o.Mc=function(e){return this.a._b(e)?(this.a.Bc(e),!0):!1},o.gc=function(){return this.a.gc()},w(le,"AbstractMap/1",266),b(541,1,Si,PE),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.a.Ob()},o.Pb=function(){var e;return e=u(this.a.Pb(),44),e.ld()},o.Qb=function(){this.a.Qb()},w(le,"AbstractMap/1/1",541),b(231,31,pw,ol),o.$b=function(){this.a.$b()},o.Hc=function(e){return this.a.uc(e)},o.Kc=function(){var e;return e=this.a.vc().Kc(),new Sb(e)},o.gc=function(){return this.a.gc()},w(le,"AbstractMap/2",231),b(301,1,Si,Sb),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.a.Ob()},o.Pb=function(){var e;return e=u(this.a.Pb(),44),e.md()},o.Qb=function(){this.a.Qb()},w(le,"AbstractMap/2/1",301),b(494,1,{494:1,44:1}),o.Fb=function(e){var t;return O(e,44)?(t=u(e,44),mc(this.d,t.ld())&&mc(this.e,t.md())):!1},o.ld=function(){return this.d},o.md=function(){return this.e},o.Hb=function(){return kg(this.d)^kg(this.e)},o.nd=function(e){return wV(this,e)},o.Ib=function(){return this.d+"="+this.e},w(le,"AbstractMap/AbstractEntry",494),b(397,494,{494:1,397:1,44:1},oC),w(le,"AbstractMap/SimpleEntry",397),b(2082,1,IB),o.Fb=function(e){var t;return O(e,44)?(t=u(e,44),mc(this.ld(),t.ld())&&mc(this.md(),t.md())):!1},o.Hb=function(){return kg(this.ld())^kg(this.md())},o.Ib=function(){return this.ld()+"="+this.md()},w(le,Izn,2082),b(2090,2065,wtn),o.Xc=function(e){return MD(this.Ee(e))},o.tc=function(e){return CLn(this,e)},o._b=function(e){return gV(this,e)},o.vc=function(){return new ZO(this)},o.Tc=function(){return BPn(this.Ge())},o.Yc=function(e){return MD(this.He(e))},o.xc=function(e){var t;return t=e,Kr(this.Fe(t))},o.$c=function(e){return MD(this.Ie(e))},o.ec=function(){return new o9n(this)},o.Vc=function(){return BPn(this.Je())},o._c=function(e){return MD(this.Ke(e))},w(le,"AbstractNavigableMap",2090),b(629,Rf,Lu,ZO),o.Hc=function(e){return O(e,44)&&CLn(this.b,u(e,44))},o.Kc=function(){return this.b.De()},o.Mc=function(e){var t;return O(e,44)?(t=u(e,44),this.b.Le(t)):!1},o.gc=function(){return this.b.gc()},w(le,"AbstractNavigableMap/EntrySet",629),b(1146,Rf,gtn,o9n),o.Nc=function(){return new cC(this)},o.$b=function(){this.a.$b()},o.Hc=function(e){return gV(this.a,e)},o.Kc=function(){var e;return e=this.a.vc().b.De(),new s9n(e)},o.Mc=function(e){return gV(this.a,e)?(this.a.Bc(e),!0):!1},o.gc=function(){return this.a.gc()},w(le,"AbstractNavigableMap/NavigableKeySet",1146),b(1147,1,Si,s9n),o.Nb=function(e){_i(this,e)},o.Ob=function(){return DD(this.a.a)},o.Pb=function(){var e;return e=oAn(this.a),e.ld()},o.Qb=function(){dSn(this.a)},w(le,"AbstractNavigableMap/NavigableKeySet/1",1147),b(2103,31,pw),o.Fc=function(e){return Mp(ym(this,e),_m),!0},o.Gc=function(e){return Jn(e),B7(e!=this,"Can't add a queue to itself"),Bi(this,e)},o.$b=function(){for(;w$(this)!=null;);},w(le,"AbstractQueue",2103),b(310,31,{4:1,20:1,31:1,16:1},Eg,dDn),o.Fc=function(e){return kJ(this,e),!0},o.$b=function(){TJ(this)},o.Hc=function(e){return Zxn(new W6(this),e)},o.dc=function(){return i6(this)},o.Kc=function(){return new W6(this)},o.Mc=function(e){return p2e(new W6(this),e)},o.gc=function(){return this.c-this.b&this.a.length-1},o.Nc=function(){return new In(this,272)},o.Qc=function(e){var t;return t=this.c-this.b&this.a.length-1,e.lengtht&&$t(e,t,null),e},o.b=0,o.c=0,w(le,"ArrayDeque",310),b(459,1,Si,W6),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.a!=this.b},o.Pb=function(){return xT(this)},o.Qb=function(){W$n(this)},o.a=0,o.b=0,o.c=-1,w(le,"ArrayDeque/IteratorImpl",459),b(13,56,Gzn,Z,Gc,_u),o.bd=function(e,t){b0(this,e,t)},o.Fc=function(e){return nn(this,e)},o.cd=function(e,t){return dY(this,e,t)},o.Gc=function(e){return hi(this,e)},o.$b=function(){Pb(this.c,0)},o.Hc=function(e){return qr(this,e,0)!=-1},o.Jc=function(e){nu(this,e)},o.Xb=function(e){return sn(this,e)},o.dd=function(e){return qr(this,e,0)},o.dc=function(){return this.c.length==0},o.Kc=function(){return new C(this)},o.gd=function(e){return Yl(this,e)},o.Mc=function(e){return du(this,e)},o.ce=function(e,t){xOn(this,e,t)},o.hd=function(e,t){return Go(this,e,t)},o.gc=function(){return this.c.length},o.jd=function(e){Yt(this,e)},o.Pc=function(){return ZC(this.c)},o.Qc=function(e){return xf(this,e)};var uNe=w(le,"ArrayList",13);b(7,1,Si,C),o.Nb=function(e){_i(this,e)},o.Ob=function(){return tc(this)},o.Pb=function(){return E(this)},o.Qb=function(){U6(this)},o.a=0,o.b=-1,w(le,"ArrayList/1",7),b(2112,y.Function,{},mE),o.Me=function(e,t){return bt(e,t)},b(151,56,zzn,Ku),o.Hc=function(e){return J$n(this,e)!=-1},o.Jc=function(e){var t,i,r,c;for(Jn(e),i=this.a,r=0,c=i.length;r0)throw M(new Gn(Ttn+e+" greater than "+this.e));return this.f.Te()?cOn(this.c,this.b,this.a,e,t):FOn(this.c,e,t)},o.zc=function(e,t){if(!qx(this.c,this.f,e,this.b,this.a,this.e,this.d))throw M(new Gn(e+" outside the range "+this.b+" to "+this.e));return gFn(this.c,e,t)},o.Bc=function(e){var t;return t=e,qx(this.c,this.f,t,this.b,this.a,this.e,this.d)?uOn(this.c,t):null},o.Le=function(e){return vM(this,e.ld())&&GJ(this.c,e)},o.gc=function(){var e,t,i;if(this.f.Te()?this.a?t=bm(this.c,this.b,!0):t=bm(this.c,this.b,!1):t=eQ(this.c),!(t&&vM(this,t.d)&&t))return 0;for(e=0,i=new P$(this.c,this.f,this.b,this.a,this.e,this.d);DD(i.a);i.b=u(VW(i.a),44))++e;return e},o.ad=function(e,t){if(this.f.Te()&&this.c.a.Ne(e,this.b)<0)throw M(new Gn(Ttn+e+Wzn+this.b));return this.f.Ue()?cOn(this.c,e,t,this.e,this.d):BOn(this.c,e,t)},o.a=!1,o.d=!1,w(le,"TreeMap/SubMap",631),b(304,22,NB,uC),o.Te=function(){return!1},o.Ue=function(){return!1};var e_,t_,i_,r_,lP=we(le,"TreeMap/SubMapType",304,ke,Upe,nde);b(1143,304,NB,lTn),o.Ue=function(){return!0},we(le,"TreeMap/SubMapType/1",1143,lP,null,null),b(1144,304,NB,kTn),o.Te=function(){return!0},o.Ue=function(){return!0},we(le,"TreeMap/SubMapType/2",1144,lP,null,null),b(1145,304,NB,hTn),o.Te=function(){return!0},we(le,"TreeMap/SubMapType/3",1145,lP,null,null);var IQn;b(157,Rf,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},GG,Ul,Y3),o.Nc=function(){return new cC(this)},o.Fc=function(e){return _7(this,e)},o.$b=function(){this.a.$b()},o.Hc=function(e){return this.a._b(e)},o.Kc=function(){return this.a.ec().Kc()},o.Mc=function(e){return EL(this,e)},o.gc=function(){return this.a.gc()};var aNe=w(le,"TreeSet",157);b(1082,1,{},a9n),o.Ve=function(e,t){return pae(this.a,e,t)},w($B,"BinaryOperator/lambda$0$Type",1082),b(1083,1,{},d9n),o.Ve=function(e,t){return mae(this.a,e,t)},w($B,"BinaryOperator/lambda$1$Type",1083),b(952,1,{},B0n),o.Kb=function(e){return e},w($B,"Function/lambda$0$Type",952),b(395,1,De,Z3),o.Mb=function(e){return!this.a.Mb(e)},w($B,"Predicate/lambda$2$Type",395),b(581,1,{581:1});var OQn=w(e8,"Handler",581);b(2107,1,ky),o.xe=function(){return"DUMMY"},o.Ib=function(){return this.xe()};var $un;w(e8,"Level",2107),b(1706,2107,ky,R0n),o.xe=function(){return"INFO"},w(e8,"Level/LevelInfo",1706),b(1843,1,{},Ryn);var c_;w(e8,"LogManager",1843),b(1896,1,ky,aSn),o.b=null,w(e8,"LogRecord",1896),b(525,1,{525:1},VN),o.e=!1;var DQn=!1,LQn=!1,qf=!1,NQn=!1,$Qn=!1;w(e8,"Logger",525),b(835,581,{581:1},BU),w(e8,"SimpleConsoleLogHandler",835),b(108,22,{3:1,34:1,22:1,108:1},$D);var xun,Yr,Aw,xr=we(ai,"Collector/Characteristics",108,ke,O2e,ede),xQn;b(758,1,{},AW),w(ai,"CollectorImpl",758),b(1074,1,{},K0n),o.Ve=function(e,t){return l5e(u(e,213),u(t,213))},w(ai,"Collectors/10methodref$merge$Type",1074),b(1075,1,{},_0n),o.Kb=function(e){return bDn(u(e,213))},w(ai,"Collectors/11methodref$toString$Type",1075),b(1076,1,{},b9n),o.Kb=function(e){return _n(),!!yX(e)},w(ai,"Collectors/12methodref$test$Type",1076),b(144,1,{},yu),o.Yd=function(e,t){u(e,16).Fc(t)},w(ai,"Collectors/20methodref$add$Type",144),b(146,1,{},ju),o.Xe=function(){return new Z},w(ai,"Collectors/21methodref$ctor$Type",146),b(359,1,{},Q2),o.Xe=function(){return new ni},w(ai,"Collectors/23methodref$ctor$Type",359),b(360,1,{},Y2),o.Yd=function(e,t){fi(u(e,49),t)},w(ai,"Collectors/24methodref$add$Type",360),b(1069,1,{},H0n),o.Ve=function(e,t){return cCn(u(e,15),u(t,16))},w(ai,"Collectors/4methodref$addAll$Type",1069),b(1073,1,{},q0n),o.Yd=function(e,t){pl(u(e,213),u(t,484))},w(ai,"Collectors/9methodref$add$Type",1073),b(1072,1,{},PSn),o.Xe=function(){return new fd(this.a,this.b,this.c)},w(ai,"Collectors/lambda$15$Type",1072),b(1077,1,{},U0n),o.Xe=function(){var e;return e=new Ql,s1(e,(_n(),!1),new Z),s1(e,!0,new Z),e},w(ai,"Collectors/lambda$22$Type",1077),b(1078,1,{},w9n),o.Xe=function(){return S(T(ki,1),Fn,1,5,[this.a])},w(ai,"Collectors/lambda$25$Type",1078),b(1079,1,{},g9n),o.Yd=function(e,t){Fbe(this.a,cd(e))},w(ai,"Collectors/lambda$26$Type",1079),b(1080,1,{},p9n),o.Ve=function(e,t){return lwe(this.a,cd(e),cd(t))},w(ai,"Collectors/lambda$27$Type",1080),b(1081,1,{},G0n),o.Kb=function(e){return cd(e)[0]},w(ai,"Collectors/lambda$28$Type",1081),b(728,1,{},RU),o.Ve=function(e,t){return oW(e,t)},w(ai,"Collectors/lambda$4$Type",728),b(145,1,{},Eu),o.Ve=function(e,t){return zhe(u(e,16),u(t,16))},w(ai,"Collectors/lambda$42$Type",145),b(361,1,{},Z2),o.Ve=function(e,t){return Xhe(u(e,49),u(t,49))},w(ai,"Collectors/lambda$50$Type",361),b(362,1,{},np),o.Kb=function(e){return u(e,49)},w(ai,"Collectors/lambda$51$Type",362),b(1068,1,{},m9n),o.Yd=function(e,t){p6e(this.a,u(e,85),t)},w(ai,"Collectors/lambda$7$Type",1068),b(1070,1,{},z0n),o.Ve=function(e,t){return Xve(u(e,85),u(t,85),new H0n)},w(ai,"Collectors/lambda$8$Type",1070),b(1071,1,{},v9n),o.Kb=function(e){return U5e(this.a,u(e,85))},w(ai,"Collectors/lambda$9$Type",1071),b(550,1,{}),o.$e=function(){V6(this)},o.d=!1,w(ai,"TerminatableStream",550),b(827,550,Atn,uV),o.$e=function(){V6(this)},w(ai,"DoubleStreamImpl",827),b(1847,736,Po,ISn),o.Re=function(e){return X9e(this,u(e,189))},o.a=null,w(ai,"DoubleStreamImpl/2",1847),b(1848,1,Py,k9n),o.Pe=function(e){Kle(this.a,e)},w(ai,"DoubleStreamImpl/2/lambda$0$Type",1848),b(1845,1,Py,y9n),o.Pe=function(e){Rle(this.a,e)},w(ai,"DoubleStreamImpl/lambda$0$Type",1845),b(1846,1,Py,j9n),o.Pe=function(e){IBn(this.a,e)},w(ai,"DoubleStreamImpl/lambda$2$Type",1846),b(1397,735,Po,vLn),o.Re=function(e){return Lpe(this,u(e,202))},o.a=0,o.b=0,o.c=0,w(ai,"IntStream/5",1397),b(806,550,Atn,oV),o.$e=function(){V6(this)},o._e=function(){return z1(this),this.a},w(ai,"IntStreamImpl",806),b(807,550,Atn,Dz),o.$e=function(){V6(this)},o._e=function(){return z1(this),HX(),PQn},w(ai,"IntStreamImpl/Empty",807),b(1687,1,jy,E9n),o.Dd=function(e){Kxn(this.a,e)},w(ai,"IntStreamImpl/lambda$4$Type",1687);var dNe=Nt(ai,"Stream");b(26,550,{533:1,687:1,848:1},Tn),o.$e=function(){V6(this)};var v3;w(ai,"StreamImpl",26),b(1102,500,Po,rSn),o.Bd=function(e){for(;x4e(this);){if(this.a.Bd(e))return!0;V6(this.b),this.b=null,this.a=null}return!1},w(ai,"StreamImpl/1",1102),b(1103,1,ie,C9n),o.Cd=function(e){fbe(this.a,u(e,848))},w(ai,"StreamImpl/1/lambda$0$Type",1103),b(1104,1,De,M9n),o.Mb=function(e){return fi(this.a,e)},w(ai,"StreamImpl/1methodref$add$Type",1104),b(1105,500,Po,BIn),o.Bd=function(e){var t;return this.a||(t=new Z,this.b.a.Nb(new T9n(t)),Dn(),Yt(t,this.c),this.a=new In(t,16)),y$n(this.a,e)},o.a=null,w(ai,"StreamImpl/5",1105),b(1106,1,ie,T9n),o.Cd=function(e){nn(this.a,e)},w(ai,"StreamImpl/5/2methodref$add$Type",1106),b(737,500,Po,tQ),o.Bd=function(e){for(this.b=!1;!this.b&&this.c.Bd(new jCn(this,e)););return this.b},o.b=!1,w(ai,"StreamImpl/FilterSpliterator",737),b(1096,1,ie,jCn),o.Cd=function(e){cwe(this.a,this.b,e)},w(ai,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),b(1091,736,Po,ILn),o.Re=function(e){return Rae(this,u(e,189))},w(ai,"StreamImpl/MapToDoubleSpliterator",1091),b(1095,1,ie,ECn),o.Cd=function(e){fle(this.a,this.b,e)},w(ai,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),b(1090,735,Po,OLn),o.Re=function(e){return Kae(this,u(e,202))},w(ai,"StreamImpl/MapToIntSpliterator",1090),b(1094,1,ie,CCn),o.Cd=function(e){hle(this.a,this.b,e)},w(ai,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),b(734,500,Po,_J),o.Bd=function(e){return eSn(this,e)},w(ai,"StreamImpl/MapToObjSpliterator",734),b(1093,1,ie,MCn),o.Cd=function(e){lle(this.a,this.b,e)},w(ai,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),b(1092,500,Po,uxn),o.Bd=function(e){for(;LD(this.b,0);){if(!this.a.Bd(new X0n))return!1;this.b=bs(this.b,1)}return this.a.Bd(e)},o.b=0,w(ai,"StreamImpl/SkipSpliterator",1092),b(1097,1,ie,X0n),o.Cd=function(e){},w(ai,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),b(626,1,ie,LO),o.Cd=function(e){t9n(this,e)},w(ai,"StreamImpl/ValueConsumer",626),b(1098,1,ie,V0n),o.Cd=function(e){Xa()},w(ai,"StreamImpl/lambda$0$Type",1098),b(1099,1,ie,W0n),o.Cd=function(e){Xa()},w(ai,"StreamImpl/lambda$1$Type",1099),b(1100,1,{},A9n),o.Ve=function(e,t){return mde(this.a,e,t)},w(ai,"StreamImpl/lambda$4$Type",1100),b(1101,1,ie,TCn),o.Cd=function(e){Cae(this.b,this.a,e)},w(ai,"StreamImpl/lambda$5$Type",1101),b(1107,1,ie,S9n),o.Cd=function(e){$ve(this.a,u(e,380))},w(ai,"TerminatableStream/lambda$0$Type",1107),b(2142,1,{}),b(2014,1,{},J0n),w("javaemul.internal","ConsoleLogger",2014);var bNe=0;b(2134,1,{}),b(1830,1,ie,Q0n),o.Cd=function(e){u(e,317)},w(Hm,"BowyerWatsonTriangulation/lambda$0$Type",1830),b(1831,1,ie,P9n),o.Cd=function(e){Bi(this.a,u(e,317).e)},w(Hm,"BowyerWatsonTriangulation/lambda$1$Type",1831),b(1832,1,ie,Y0n),o.Cd=function(e){u(e,177)},w(Hm,"BowyerWatsonTriangulation/lambda$2$Type",1832),b(1827,1,Ne,I9n),o.Ne=function(e,t){return m3e(this.a,u(e,177),u(t,177))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Hm,"NaiveMinST/lambda$0$Type",1827),b(449,1,{},Vv),w(Hm,"NodeMicroLayout",449),b(177,1,{177:1},bp),o.Fb=function(e){var t;return O(e,177)?(t=u(e,177),mc(this.a,t.a)&&mc(this.b,t.b)||mc(this.a,t.b)&&mc(this.b,t.a)):!1},o.Hb=function(){return kg(this.a)+kg(this.b)};var wNe=w(Hm,"TEdge",177);b(317,1,{317:1},_en),o.Fb=function(e){var t;return O(e,317)?(t=u(e,317),tT(this,t.a)&&tT(this,t.b)&&tT(this,t.c)):!1},o.Hb=function(){return kg(this.a)+kg(this.b)+kg(this.c)},w(Hm,"TTriangle",317),b(225,1,{225:1},LC),w(Hm,"Tree",225),b(1218,1,{},EOn),w(Yzn,"Scanline",1218);var FQn=Nt(Yzn,Zzn);b(1758,1,{},m$n),w(zh,"CGraph",1758),b(316,1,{316:1},TOn),o.b=0,o.c=0,o.d=0,o.g=0,o.i=0,o.k=li,w(zh,"CGroup",316),b(830,1,{},VG),w(zh,"CGroup/CGroupBuilder",830),b(60,1,{60:1},BAn),o.Ib=function(){var e;return this.j?Oe(this.j.Kb(this)):(ll(aP),aP.o+"@"+(e=l0(this)>>>0,e.toString(16)))},o.f=0,o.i=li;var aP=w(zh,"CNode",60);b(829,1,{},WG),w(zh,"CNode/CNodeBuilder",829);var BQn;b(1590,1,{},Z0n),o.ff=function(e,t){return 0},o.gf=function(e,t){return 0},w(zh,eXn,1590),b(1853,1,{},nbn),o.cf=function(e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;for(a=St,r=new C(e.a.b);r.ar.d.c||r.d.c==s.d.c&&r.d.b0?e+this.n.d+this.n.a:0},o.kf=function(){var e,t,i,r,c;if(c=0,this.e)this.b?c=this.b.a:this.a[1][1]&&(c=this.a[1][1].kf());else if(this.g)c=RY(this,Gx(this,null,!0));else for(t=(bf(),S(T(Sw,1),G,237,0,[bc,Wc,wc])),i=0,r=t.length;i0?c+this.n.b+this.n.c:0},o.lf=function(){var e,t,i,r,c;if(this.g)for(e=Gx(this,null,!1),i=(bf(),S(T(Sw,1),G,237,0,[bc,Wc,wc])),r=0,c=i.length;r0&&(r[0]+=this.d,i-=r[0]),r[2]>0&&(r[2]+=this.d,i-=r[2]),this.c.a=y.Math.max(0,i),this.c.d=t.d+e.d+(this.c.a-i)/2,r[1]=y.Math.max(r[1],i),FJ(this,Wc,t.d+e.d+r[0]-(r[1]-i)/2,r)},o.b=null,o.d=0,o.e=!1,o.f=!1,o.g=!1;var h_=0,dP=0;w(kd,"GridContainerCell",1538),b(471,22,{3:1,34:1,22:1,471:1},FD);var ga,Mh,Gs,VQn=we(kd,"HorizontalLabelAlignment",471,ke,L2e,ude),WQn;b(314,217,{217:1,314:1},fOn,k$n,tOn),o.jf=function(){return qSn(this)},o.kf=function(){return eW(this)},o.a=0,o.c=!1;var gNe=w(kd,"LabelCell",314);b(252,336,{217:1,336:1,252:1},C5),o.jf=function(){return N5(this)},o.kf=function(){return $5(this)},o.lf=function(){LF(this)},o.mf=function(){NF(this)},o.b=0,o.c=0,o.d=!1,w(kd,"StripContainerCell",252),b(1691,1,De,obn),o.Mb=function(e){return uhe(u(e,217))},w(kd,"StripContainerCell/lambda$0$Type",1691),b(1692,1,{},sbn),o.Ye=function(e){return u(e,217).kf()},w(kd,"StripContainerCell/lambda$1$Type",1692),b(1693,1,De,fbn),o.Mb=function(e){return ohe(u(e,217))},w(kd,"StripContainerCell/lambda$2$Type",1693),b(1694,1,{},hbn),o.Ye=function(e){return u(e,217).jf()},w(kd,"StripContainerCell/lambda$3$Type",1694),b(472,22,{3:1,34:1,22:1,472:1},BD);var zs,pa,vf,JQn=we(kd,"VerticalLabelAlignment",472,ke,D2e,ode),QQn;b(800,1,{},rtn),o.c=0,o.d=0,o.k=0,o.s=0,o.t=0,o.v=!1,o.w=0,o.D=!1,o.F=!1,w(nS,"NodeContext",800),b(1536,1,Ne,lbn),o.Ne=function(e,t){return eTn(u(e,64),u(t,64))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(nS,"NodeContext/0methodref$comparePortSides$Type",1536),b(1537,1,Ne,abn),o.Ne=function(e,t){return xye(u(e,117),u(t,117))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(nS,"NodeContext/1methodref$comparePortContexts$Type",1537),b(164,22,{3:1,34:1,22:1,164:1},Vo);var YQn,ZQn,nYn,eYn,tYn,iYn,rYn,cYn,uYn,oYn,sYn,fYn,hYn,lYn,aYn,dYn,bYn,wYn,gYn,pYn,mYn,l_,vYn=we(nS,"NodeLabelLocation",164,ke,jx,sde),kYn;b(117,1,{117:1},sHn),o.a=!1,w(nS,"PortContext",117),b(1541,1,ie,dbn),o.Cd=function(e){kEn(u(e,314))},w(Oy,bXn,1541),b(1542,1,De,bbn),o.Mb=function(e){return!!u(e,117).c},w(Oy,wXn,1542),b(1543,1,ie,wbn),o.Cd=function(e){kEn(u(e,117).c)},w(Oy,"LabelPlacer/lambda$2$Type",1543);var ron;b(1540,1,ie,gbn),o.Cd=function(e){Bb(),Rfe(u(e,117))},w(Oy,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),b(801,1,ie,NV),o.Cd=function(e){Zhe(this.b,this.c,this.a,u(e,187))},o.a=!1,o.c=!1,w(Oy,"NodeLabelCellCreator/lambda$0$Type",801),b(1539,1,ie,L9n),o.Cd=function(e){Hfe(this.a,u(e,187))},w(Oy,"PortContextCreator/lambda$0$Type",1539);var bP;b(1902,1,{},pbn),w(Um,"GreedyRectangleStripOverlapRemover",1902),b(1903,1,Ne,mbn),o.Ne=function(e,t){return O1e(u(e,226),u(t,226))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Um,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),b(1849,1,{},qyn),o.a=5,o.e=0,w(Um,"RectangleStripOverlapRemover",1849),b(1850,1,Ne,vbn),o.Ne=function(e,t){return D1e(u(e,226),u(t,226))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Um,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),b(1852,1,Ne,kbn),o.Ne=function(e,t){return ywe(u(e,226),u(t,226))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Um,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),b(417,22,{3:1,34:1,22:1,417:1},sC);var ij,a_,d_,rj,yYn=we(Um,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,ke,Xpe,fde),jYn;b(226,1,{226:1},ZL),w(Um,"RectangleStripOverlapRemover/RectangleNode",226),b(1851,1,ie,N9n),o.Cd=function(e){s7e(this.a,u(e,226))},w(Um,"RectangleStripOverlapRemover/lambda$1$Type",1851),b(1323,1,Ne,ybn),o.Ne=function(e,t){return AIe(u(e,176),u(t,176))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),b(1326,1,{},jbn),o.Kb=function(e){return u(e,334).a},w(mh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),b(1327,1,De,Ebn),o.Mb=function(e){return u(e,332).a},w(mh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),b(1328,1,De,Cbn),o.Mb=function(e){return u(e,332).a},w(mh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),b(1321,1,Ne,Mbn),o.Ne=function(e,t){return rSe(u(e,176),u(t,176))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),b(1324,1,{},Tbn),o.Kb=function(e){return u(e,334).a},w(mh,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),b(781,1,Ne,KU),o.Ne=function(e,t){return Kve(u(e,176),u(t,176))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/MinNumOfExtensionsComparator",781),b(1319,1,Ne,Abn),o.Ne=function(e,t){return Vme(u(e,330),u(t,330))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/MinPerimeterComparator",1319),b(1320,1,Ne,Sbn),o.Ne=function(e,t){return D9e(u(e,330),u(t,330))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),b(1322,1,Ne,Pbn),o.Ne=function(e,t){return CSe(u(e,176),u(t,176))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),b(1325,1,{},Ibn),o.Kb=function(e){return u(e,334).a},w(mh,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),b(782,1,{},Gz),o.Ve=function(e,t){return Rpe(this,u(e,42),u(t,176))},w(mh,"SuccessorCombination",782),b(649,1,{},NO),o.Ve=function(e,t){var i;return eCe((i=u(e,42),u(t,176),i))},w(mh,"SuccessorJitter",649),b(648,1,{},$O),o.Ve=function(e,t){var i;return _Te((i=u(e,42),u(t,176),i))},w(mh,"SuccessorLineByLine",648),b(573,1,{},vE),o.Ve=function(e,t){var i;return eMe((i=u(e,42),u(t,176),i))},w(mh,"SuccessorManhattan",573),b(1344,1,{},Obn),o.Ve=function(e,t){var i;return lTe((i=u(e,42),u(t,176),i))},w(mh,"SuccessorMaxNormWindingInMathPosSense",1344),b(409,1,{},n4),o.Ve=function(e,t){return MW(this,e,t)},o.c=!1,o.d=!1,o.e=!1,o.f=!1,w(mh,"SuccessorQuadrantsGeneric",409),b(1345,1,{},Dbn),o.Kb=function(e){return u(e,334).a},w(mh,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),b(332,22,{3:1,34:1,22:1,332:1},fC),o.a=!1;var cj,uj,oj,sj,EYn=we(tS,Btn,332,ke,Gpe,hde),CYn;b(1317,1,{}),o.Ib=function(){var e,t,i,r,c,s;for(i=" ",e=Y(0),c=0;c=0?"b"+e+"["+XN(this.a)+"]":"b["+XN(this.a)+"]"):"b_"+l0(this)},w(Ly,"FBendpoint",250),b(290,137,{3:1,290:1,96:1,137:1},RAn),o.Ib=function(){return XN(this)},w(Ly,"FEdge",290),b(235,137,{3:1,235:1,96:1,137:1},zM);var mNe=w(Ly,"FGraph",235);b(454,309,{3:1,454:1,309:1,96:1,137:1},_Dn),o.Ib=function(){return this.b==null||this.b.length==0?"l["+XN(this.a)+"]":"l_"+this.b},w(Ly,"FLabel",454),b(153,309,{3:1,153:1,309:1,96:1,137:1},vTn),o.Ib=function(){return aJ(this)},o.a=0,w(Ly,"FNode",153),b(2100,1,{}),o.vf=function(e){xen(this,e)},o.wf=function(){HRn(this)},o.d=0,w(Xtn,"AbstractForceModel",2100),b(641,2100,{641:1},Rxn),o.uf=function(e,t){var i,r,c,s,f;return wGn(this.f,e,t),c=mi(Ki(t.d),e.d),f=y.Math.sqrt(c.a*c.a+c.b*c.b),r=y.Math.max(0,f-X6(e.e)/2-X6(t.e)/2),i=Q_n(this.e,e,t),i>0?s=-mwe(r,this.c)*i:s=X1e(r,this.b)*u(v(e,(qs(),k3)),17).a,rh(c,s/f),c},o.vf=function(e){xen(this,e),this.a=u(v(e,(qs(),kP)),17).a,this.c=$(R(v(e,yP))),this.b=$(R(v(e,k_)))},o.xf=function(e){return e0&&(s-=the(r,this.a)*i),rh(c,s*this.b/f),c},o.vf=function(e){var t,i,r,c,s,f,h;for(xen(this,e),this.b=$(R(v(e,(qs(),y_)))),this.c=this.b/u(v(e,kP),17).a,r=e.e.c.length,s=0,c=0,h=new C(e.e);h.a0},o.a=0,o.b=0,o.c=0,w(Xtn,"FruchtermanReingoldModel",642),b(860,1,ps,N5n),o.hf=function(e){vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,cS),""),"Force Model"),"Determines the model for force calculation."),don),(l1(),Pt)),bon),yn((gf(),xn))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Vtn),""),"Iterations"),"The number of iterations on the force model."),Y(300)),Zr),Gi),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Wtn),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),Y(0)),Zr),Gi),yn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ZB),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),vh),Qi),si),yn(xn)))),ri(e,ZB,cS,UYn),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,nR),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),Qi),si),yn(xn)))),ri(e,nR,cS,_Yn),izn((new $5n,e))};var BYn,RYn,don,KYn,_Yn,HYn,qYn,UYn;w(r8,"ForceMetaDataProvider",860),b(432,22,{3:1,34:1,22:1,432:1},Xz);var v_,vP,bon=we(r8,"ForceModelStrategy",432,ke,Rge,dde),GYn;b(d1,1,ps,$5n),o.hf=function(e){izn(e)};var zYn,XYn,won,kP,gon,VYn,WYn,JYn,QYn,pon,YYn,mon,von,ZYn,k3,nZn,k_,kon,eZn,tZn,yP,y_,iZn,rZn,cZn,yon,uZn;w(r8,"ForceOptions",d1),b(1001,1,{},Wbn),o.sf=function(){var e;return e=new XG,e},o.tf=function(e){},w(r8,"ForceOptions/ForceFactory",1001);var lj,$8,y3,jP;b(861,1,ps,x5n),o.hf=function(e){vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Qtn),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(_n(),!1)),(l1(),yi)),Gt),yn((gf(),pi))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ytn),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),Qi),si),yt(xn,S(T(Zh,1),G,170,0,[Ph]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ztn),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),jon),Pt),Pon),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,nin),""),"Stress Epsilon"),"Termination criterion for the iterative process."),vh),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ein),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),Y(et)),Zr),Gi),yn(xn)))),OGn((new F5n,e))};var oZn,sZn,jon,fZn,hZn,lZn;w(r8,"StressMetaDataProvider",861),b(1004,1,ps,F5n),o.hf=function(e){OGn(e)};var EP,Eon,Con,Mon,Ton,Aon,aZn,dZn,bZn,wZn,Son,gZn;w(r8,"StressOptions",1004),b(1005,1,{},Xbn),o.sf=function(){var e;return e=new KAn,e},o.tf=function(e){},w(r8,"StressOptions/StressFactory",1005),b(1110,205,yd,KAn),o.rf=function(e,t){var i,r,c,s,f;for(t.Ug(SXn,1),on(un(z(e,(zk(),Ton))))?on(un(z(e,Son)))||W7((i=new Vv((c0(),new Qd(e))),i)):VHn(new XG,e,t.eh(1)),c=fFn(e),r=KUn(this.a,c),f=r.Kc();f.Ob();)s=u(f.Pb(),235),!(s.e.c.length<=1)&&(CIe(this.b,s),JCe(this.b),nu(s.d,new Vbn));c=nzn(r),hzn(c),t.Vg()},w(sS,"StressLayoutProvider",1110),b(1111,1,ie,Vbn),o.Cd=function(e){Uen(u(e,454))},w(sS,"StressLayoutProvider/lambda$0$Type",1111),b(1002,1,{},Byn),o.c=0,o.e=0,o.g=0,w(sS,"StressMajorization",1002),b(391,22,{3:1,34:1,22:1,391:1},RD);var j_,E_,C_,Pon=we(sS,"StressMajorization/Dimension",391,ke,$2e,bde),pZn;b(1003,1,Ne,B9n),o.Ne=function(e,t){return Hae(this.a,u(e,153),u(t,153))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(sS,"StressMajorization/lambda$0$Type",1003),b(1192,1,{},zOn),w(b3,"ElkLayered",1192),b(1193,1,ie,R9n),o.Cd=function(e){MEe(this.a,u(e,36))},w(b3,"ElkLayered/lambda$0$Type",1193),b(1194,1,ie,K9n),o.Cd=function(e){qae(this.a,u(e,36))},w(b3,"ElkLayered/lambda$1$Type",1194),b(1281,1,{},PTn);var mZn,vZn,kZn;w(b3,"GraphConfigurator",1281),b(770,1,ie,OG),o.Cd=function(e){e_n(this.a,u(e,10))},w(b3,"GraphConfigurator/lambda$0$Type",770),b(771,1,{},HU),o.Kb=function(e){return LZ(),new Tn(null,new In(u(e,30).a,16))},w(b3,"GraphConfigurator/lambda$1$Type",771),b(772,1,ie,DG),o.Cd=function(e){e_n(this.a,u(e,10))},w(b3,"GraphConfigurator/lambda$2$Type",772),b(1109,205,yd,Uyn),o.rf=function(e,t){var i;i=cIe(new zyn,e),x(z(e,(cn(),Bw)))===x((jl(),M1))?F5e(this.a,i,t):zCe(this.a,i,t),t.$g()||XGn(new B5n,i)},w(b3,"LayeredLayoutProvider",1109),b(367,22,{3:1,34:1,22:1,367:1},f7);var Xs,Jh,Oc,Kc,zr,Ion=we(b3,"LayeredPhases",367,ke,R3e,wde),yZn;b(1717,1,{},ixn),o.i=0;var jZn;w(Ry,"ComponentsToCGraphTransformer",1717);var EZn;b(1718,1,{},zbn),o.yf=function(e,t){return y.Math.min(e.a!=null?$(e.a):e.c.i,t.a!=null?$(t.a):t.c.i)},o.zf=function(e,t){return y.Math.min(e.a!=null?$(e.a):e.c.i,t.a!=null?$(t.a):t.c.i)},w(Ry,"ComponentsToCGraphTransformer/1",1718),b(86,1,{86:1}),o.i=0,o.k=!0,o.o=li;var M_=w(s8,"CNode",86);b(470,86,{470:1,86:1},QX,oZ),o.Ib=function(){return""},w(Ry,"ComponentsToCGraphTransformer/CRectNode",470),b(1688,1,{},Jbn);var T_,A_;w(Ry,"OneDimensionalComponentsCompaction",1688),b(1689,1,{},Qbn),o.Kb=function(e){return T2e(u(e,42))},o.Fb=function(e){return this===e},w(Ry,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),b(1690,1,{},Ybn),o.Kb=function(e){return R5e(u(e,42))},o.Fb=function(e){return this===e},w(Ry,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),b(1720,1,{},ZPn),w(s8,"CGraph",1720),b(194,1,{194:1},vx),o.b=0,o.c=0,o.e=0,o.g=!0,o.i=li,w(s8,"CGroup",194),b(1719,1,{},Zbn),o.yf=function(e,t){return y.Math.max(e.a!=null?$(e.a):e.c.i,t.a!=null?$(t.a):t.c.i)},o.zf=function(e,t){return y.Math.max(e.a!=null?$(e.a):e.c.i,t.a!=null?$(t.a):t.c.i)},w(s8,eXn,1719),b(1721,1,{},Z_n),o.d=!1;var CZn,S_=w(s8,rXn,1721);b(1722,1,{},nwn),o.Kb=function(e){return Nz(),_n(),u(u(e,42).a,86).d.e!=0},o.Fb=function(e){return this===e},w(s8,cXn,1722),b(833,1,{},sW),o.a=!1,o.b=!1,o.c=!1,o.d=!1,w(s8,uXn,833),b(1898,1,{},wPn),w(fS,oXn,1898);var aj=Nt(Ed,Zzn);b(1899,1,{382:1},WIn),o.bf=function(e){nAe(this,u(e,476))},w(fS,sXn,1899),b(fa,1,Ne,ewn),o.Ne=function(e,t){return fge(u(e,86),u(t,86))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(fS,fXn,fa),b(476,1,{476:1},Wz),o.a=!1,w(fS,hXn,476),b(1901,1,Ne,twn),o.Ne=function(e,t){return hke(u(e,476),u(t,476))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(fS,lXn,1901),b(148,1,{148:1},d4,GV),o.Fb=function(e){var t;return e==null||vNe!=wo(e)?!1:(t=u(e,148),mc(this.c,t.c)&&mc(this.d,t.d))},o.Hb=function(){return Dk(S(T(ki,1),Fn,1,5,[this.c,this.d]))},o.Ib=function(){return"("+this.c+ur+this.d+(this.a?"cx":"")+this.b+")"},o.a=!0,o.c=0,o.d=0;var vNe=w(Ed,"Point",148);b(416,22,{3:1,34:1,22:1,416:1},lC);var rb,Pw,a2,Iw,MZn=we(Ed,"Point/Quadrant",416,ke,Vpe,gde),TZn;b(1708,1,{},Hyn),o.b=null,o.c=null,o.d=null,o.e=null,o.f=null;var AZn,SZn,PZn,IZn,OZn;w(Ed,"RectilinearConvexHull",1708),b(583,1,{382:1},eA),o.bf=function(e){B4e(this,u(e,148))},o.b=0;var Oon;w(Ed,"RectilinearConvexHull/MaximalElementsEventHandler",583),b(1710,1,Ne,iwn),o.Ne=function(e,t){return hge(R(e),R(t))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),b(1709,1,{382:1},v$n),o.bf=function(e){wTe(this,u(e,148))},o.a=0,o.b=null,o.c=null,o.d=null,o.e=null,w(Ed,"RectilinearConvexHull/RectangleEventHandler",1709),b(1711,1,Ne,rwn),o.Ne=function(e,t){return mpe(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$0$Type",1711),b(1712,1,Ne,own),o.Ne=function(e,t){return vpe(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$1$Type",1712),b(1713,1,Ne,swn),o.Ne=function(e,t){return ppe(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$2$Type",1713),b(1714,1,Ne,uwn),o.Ne=function(e,t){return kpe(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$3$Type",1714),b(1715,1,Ne,fwn),o.Ne=function(e,t){return Qye(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$4$Type",1715),b(1716,1,{},COn),w(Ed,"Scanline",1716),b(2104,1,{}),w(_f,"AbstractGraphPlacer",2104),b(335,1,{335:1},lAn),o.Ff=function(e){return this.Gf(e)?(Pn(this.b,u(v(e,(W(),Nl)),21),e),!0):!1},o.Gf=function(e){var t,i,r,c;for(t=u(v(e,(W(),Nl)),21),c=u(ot(wt,t),21),r=c.Kc();r.Ob();)if(i=u(r.Pb(),21),!u(ot(this.b,i),15).dc())return!1;return!0};var wt;w(_f,"ComponentGroup",335),b(779,2104,{},JG),o.Hf=function(e){var t,i;for(i=new C(this.a);i.ai&&(d=0,g+=h+r,h=0),l=s.c,Sm(s,d+l.a,g+l.b),sf(l),c=y.Math.max(c,d+a.a),h=y.Math.max(h,a.b),d+=a.a+r;t.f.a=c,t.f.b=g+h},o.Jf=function(e,t){var i,r,c,s,f;if(x(v(t,(cn(),Fw)))===x((dd(),Ow))){for(r=e.Kc();r.Ob();){for(i=u(r.Pb(),36),f=0,s=new C(i.a);s.ai&&!u(v(s,(W(),Nl)),21).Hc((tn(),Xn))||l&&u(v(l,(W(),Nl)),21).Hc((tn(),Zn))||u(v(s,(W(),Nl)),21).Hc((tn(),Wn)))&&(p=g,m+=h+r,h=0),a=s.c,u(v(s,(W(),Nl)),21).Hc((tn(),Xn))&&(p=c+r),Sm(s,p+a.a,m+a.b),c=y.Math.max(c,p+d.a),u(v(s,Nl),21).Hc(ae)&&(g=y.Math.max(g,p+d.a+r)),sf(a),h=y.Math.max(h,d.b),p+=d.a+r,l=s;t.f.a=c,t.f.b=m+h},o.Jf=function(e,t){},w(_f,"ModelOrderRowGraphPlacer",1313),b(1311,1,Ne,awn),o.Ne=function(e,t){return Fve(u(e,36),u(t,36))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(_f,"SimpleRowGraphPlacer/1",1311);var LZn;b(1280,1,ph,dwn),o.Lb=function(e){var t;return t=u(v(u(e,249).b,(cn(),Fr)),75),!!t&&t.b!=0},o.Fb=function(e){return this===e},o.Mb=function(e){var t;return t=u(v(u(e,249).b,(cn(),Fr)),75),!!t&&t.b!=0},w(hS,"CompoundGraphPostprocessor/1",1280),b(1279,1,vt,Xyn),o.Kf=function(e,t){jRn(this,u(e,36),t)},w(hS,"CompoundGraphPreprocessor",1279),b(453,1,{453:1},aBn),o.c=!1,w(hS,"CompoundGraphPreprocessor/ExternalPort",453),b(249,1,{249:1},zC),o.Ib=function(){return SL(this.c)+":"+X_n(this.b)},w(hS,"CrossHierarchyEdge",249),b(777,1,Ne,LG),o.Ne=function(e,t){return B7e(this,u(e,249),u(t,249))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(hS,"CrossHierarchyEdgeComparator",777),b(305,137,{3:1,305:1,96:1,137:1}),o.p=0,w(Bc,"LGraphElement",305),b(18,305,{3:1,18:1,305:1,96:1,137:1},E0),o.Ib=function(){return X_n(this)};var O_=w(Bc,"LEdge",18);b(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},EQ),o.Jc=function(e){qi(this,e)},o.Kc=function(){return new C(this.b)},o.Ib=function(){return this.b.c.length==0?"G-unlayered"+ra(this.a):this.a.c.length==0?"G-layered"+ra(this.b):"G[layerless"+ra(this.a)+", layers"+ra(this.b)+"]"};var NZn=w(Bc,"LGraph",36),$Zn;b(666,1,{}),o.Lf=function(){return this.e.n},o.of=function(e){return v(this.e,e)},o.Mf=function(){return this.e.o},o.Nf=function(){return this.e.p},o.pf=function(e){return kt(this.e,e)},o.Of=function(e){this.e.n.a=e.a,this.e.n.b=e.b},o.Pf=function(e){this.e.o.a=e.a,this.e.o.b=e.b},o.Qf=function(e){this.e.p=e},w(Bc,"LGraphAdapters/AbstractLShapeAdapter",666),b(474,1,{853:1},Wv),o.Rf=function(){var e,t;if(!this.b)for(this.b=Dh(this.a.b.c.length),t=new C(this.a.b);t.a0&&qFn((zn(t-1,e.length),e.charCodeAt(t-1)),NXn);)--t;if(s> ",e),lA(i)),Be(Dc((e.a+="[",e),i.i),"]")),e.a},o.c=!0,o.d=!1;var xon,Fon,Bon,Ron,Kon,_on,FZn=w(Bc,"LPort",12);b(408,1,qh,e4),o.Jc=function(e){qi(this,e)},o.Kc=function(){var e;return e=new C(this.a.e),new _9n(e)},w(Bc,"LPort/1",408),b(1309,1,Si,_9n),o.Nb=function(e){_i(this,e)},o.Pb=function(){return u(E(this.a),18).c},o.Ob=function(){return tc(this.a)},o.Qb=function(){U6(this.a)},w(Bc,"LPort/1/1",1309),b(369,1,qh,tp),o.Jc=function(e){qi(this,e)},o.Kc=function(){var e;return e=new C(this.a.g),new NG(e)},w(Bc,"LPort/2",369),b(776,1,Si,NG),o.Nb=function(e){_i(this,e)},o.Pb=function(){return u(E(this.a),18).d},o.Ob=function(){return tc(this.a)},o.Qb=function(){U6(this.a)},w(Bc,"LPort/2/1",776),b(1302,1,qh,ICn),o.Jc=function(e){qi(this,e)},o.Kc=function(){return new Of(this)},w(Bc,"LPort/CombineIter",1302),b(208,1,Si,Of),o.Nb=function(e){_i(this,e)},o.Qb=function(){sEn()},o.Ob=function(){return L6(this)},o.Pb=function(){return tc(this.a)?E(this.a):E(this.b)},w(Bc,"LPort/CombineIter/1",208),b(1303,1,ph,wwn),o.Lb=function(e){return PPn(e)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).g.c.length!=0},w(Bc,"LPort/lambda$0$Type",1303),b(1304,1,ph,gwn),o.Lb=function(e){return IPn(e)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).e.c.length!=0},w(Bc,"LPort/lambda$1$Type",1304),b(1305,1,ph,pwn),o.Lb=function(e){return Ou(),u(e,12).j==(tn(),Xn)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).j==(tn(),Xn)},w(Bc,"LPort/lambda$2$Type",1305),b(1306,1,ph,mwn),o.Lb=function(e){return Ou(),u(e,12).j==(tn(),Zn)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).j==(tn(),Zn)},w(Bc,"LPort/lambda$3$Type",1306),b(1307,1,ph,vwn),o.Lb=function(e){return Ou(),u(e,12).j==(tn(),ae)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).j==(tn(),ae)},w(Bc,"LPort/lambda$4$Type",1307),b(1308,1,ph,kwn),o.Lb=function(e){return Ou(),u(e,12).j==(tn(),Wn)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).j==(tn(),Wn)},w(Bc,"LPort/lambda$5$Type",1308),b(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},Lc),o.Jc=function(e){qi(this,e)},o.Kc=function(){return new C(this.a)},o.Ib=function(){return"L_"+qr(this.b.b,this,0)+ra(this.a)},w(Bc,"Layer",30),b(1330,1,{},zyn),w(w1,BXn,1330),b(1334,1,{},ywn),o.Kb=function(e){return Gr(u(e,84))},w(w1,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),b(1337,1,{},jwn),o.Kb=function(e){return Gr(u(e,84))},w(w1,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),b(1331,1,ie,H9n),o.Cd=function(e){hHn(this.a,u(e,123))},w(w1,ztn,1331),b(1332,1,ie,q9n),o.Cd=function(e){hHn(this.a,u(e,123))},w(w1,RXn,1332),b(1333,1,{},Ewn),o.Kb=function(e){return new Tn(null,new In(UW(u(e,74)),16))},w(w1,KXn,1333),b(1335,1,De,U9n),o.Mb=function(e){return _le(this.a,u(e,27))},w(w1,_Xn,1335),b(1336,1,{},Cwn),o.Kb=function(e){return new Tn(null,new In(rge(u(e,74)),16))},w(w1,"ElkGraphImporter/lambda$5$Type",1336),b(1338,1,De,G9n),o.Mb=function(e){return Hle(this.a,u(e,27))},w(w1,"ElkGraphImporter/lambda$7$Type",1338),b(1339,1,De,Mwn),o.Mb=function(e){return mge(u(e,74))},w(w1,"ElkGraphImporter/lambda$8$Type",1339),b(1297,1,{},B5n);var BZn;w(w1,"ElkGraphLayoutTransferrer",1297),b(1298,1,De,z9n),o.Mb=function(e){return Iae(this.a,u(e,18))},w(w1,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),b(1299,1,ie,X9n),o.Cd=function(e){o7(),nn(this.a,u(e,18))},w(w1,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),b(1300,1,De,V9n),o.Mb=function(e){return wae(this.a,u(e,18))},w(w1,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),b(1301,1,ie,W9n),o.Cd=function(e){o7(),nn(this.a,u(e,18))},w(w1,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),b(819,1,{},kV),w(Qn,"BiLinkedHashMultiMap",819),b(1550,1,vt,Twn),o.Kf=function(e,t){ive(u(e,36),t)},w(Qn,"CommentNodeMarginCalculator",1550),b(1551,1,{},Awn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"CommentNodeMarginCalculator/lambda$0$Type",1551),b(1552,1,ie,Swn),o.Cd=function(e){iIe(u(e,10))},w(Qn,"CommentNodeMarginCalculator/lambda$1$Type",1552),b(1553,1,vt,Pwn),o.Kf=function(e,t){oAe(u(e,36),t)},w(Qn,"CommentPostprocessor",1553),b(1554,1,vt,Iwn),o.Kf=function(e,t){PDe(u(e,36),t)},w(Qn,"CommentPreprocessor",1554),b(1555,1,vt,Own),o.Kf=function(e,t){CTe(u(e,36),t)},w(Qn,"ConstraintsPostprocessor",1555),b(1556,1,vt,Dwn),o.Kf=function(e,t){Ove(u(e,36),t)},w(Qn,"EdgeAndLayerConstraintEdgeReverser",1556),b(1557,1,vt,Lwn),o.Kf=function(e,t){y8e(u(e,36),t)},w(Qn,"EndLabelPostprocessor",1557),b(1558,1,{},Nwn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"EndLabelPostprocessor/lambda$0$Type",1558),b(1559,1,De,$wn),o.Mb=function(e){return x3e(u(e,10))},w(Qn,"EndLabelPostprocessor/lambda$1$Type",1559),b(1560,1,ie,xwn),o.Cd=function(e){lke(u(e,10))},w(Qn,"EndLabelPostprocessor/lambda$2$Type",1560),b(1561,1,vt,Fwn),o.Kf=function(e,t){Zje(u(e,36),t)},w(Qn,"EndLabelPreprocessor",1561),b(1562,1,{},Bwn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"EndLabelPreprocessor/lambda$0$Type",1562),b(1563,1,ie,pSn),o.Cd=function(e){nle(this.a,this.b,this.c,u(e,10))},o.a=0,o.b=0,o.c=!1,w(Qn,"EndLabelPreprocessor/lambda$1$Type",1563),b(1564,1,De,Rwn),o.Mb=function(e){return x(v(u(e,72),(cn(),Ah)))===x((Nf(),Rv))},w(Qn,"EndLabelPreprocessor/lambda$2$Type",1564),b(1565,1,ie,J9n),o.Cd=function(e){xe(this.a,u(e,72))},w(Qn,"EndLabelPreprocessor/lambda$3$Type",1565),b(1566,1,De,Kwn),o.Mb=function(e){return x(v(u(e,72),(cn(),Ah)))===x((Nf(),Jw))},w(Qn,"EndLabelPreprocessor/lambda$4$Type",1566),b(1567,1,ie,Q9n),o.Cd=function(e){xe(this.a,u(e,72))},w(Qn,"EndLabelPreprocessor/lambda$5$Type",1567),b(1615,1,vt,I5n),o.Kf=function(e,t){k5e(u(e,36),t)};var RZn;w(Qn,"EndLabelSorter",1615),b(1616,1,Ne,_wn),o.Ne=function(e,t){return Z8e(u(e,466),u(t,466))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"EndLabelSorter/1",1616),b(466,1,{466:1},qIn),w(Qn,"EndLabelSorter/LabelGroup",466),b(1617,1,{},Hwn),o.Kb=function(e){return u7(),new Tn(null,new In(u(e,30).a,16))},w(Qn,"EndLabelSorter/lambda$0$Type",1617),b(1618,1,De,qwn),o.Mb=function(e){return u7(),u(e,10).k==(Vn(),zt)},w(Qn,"EndLabelSorter/lambda$1$Type",1618),b(1619,1,ie,Uwn),o.Cd=function(e){dje(u(e,10))},w(Qn,"EndLabelSorter/lambda$2$Type",1619),b(1620,1,De,Gwn),o.Mb=function(e){return u7(),x(v(u(e,72),(cn(),Ah)))===x((Nf(),Jw))},w(Qn,"EndLabelSorter/lambda$3$Type",1620),b(1621,1,De,zwn),o.Mb=function(e){return u7(),x(v(u(e,72),(cn(),Ah)))===x((Nf(),Rv))},w(Qn,"EndLabelSorter/lambda$4$Type",1621),b(1568,1,vt,Xwn),o.Kf=function(e,t){pIe(this,u(e,36))},o.b=0,o.c=0,w(Qn,"FinalSplineBendpointsCalculator",1568),b(1569,1,{},Vwn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),b(1570,1,{},Wwn),o.Kb=function(e){return new Tn(null,new p0(new te(re(Qt(u(e,10)).a.Kc(),new En))))},w(Qn,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),b(1571,1,De,Jwn),o.Mb=function(e){return!fr(u(e,18))},w(Qn,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),b(1572,1,De,Qwn),o.Mb=function(e){return kt(u(e,18),(W(),Dd))},w(Qn,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),b(1573,1,ie,Y9n),o.Cd=function(e){TSe(this.a,u(e,131))},w(Qn,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),b(1574,1,ie,Ywn),o.Cd=function(e){ny(u(e,18).a)},w(Qn,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),b(803,1,vt,$G),o.Kf=function(e,t){lOe(this,u(e,36),t)},w(Qn,"GraphTransformer",803),b(517,22,{3:1,34:1,22:1,517:1},Vz);var L_,dj,KZn=we(Qn,"GraphTransformer/Mode",517,ke,Kge,y0e),_Zn;b(1575,1,vt,Zwn),o.Kf=function(e,t){LMe(u(e,36),t)},w(Qn,"HierarchicalNodeResizingProcessor",1575),b(1576,1,vt,ngn),o.Kf=function(e,t){Yme(u(e,36),t)},w(Qn,"HierarchicalPortConstraintProcessor",1576),b(1577,1,Ne,egn),o.Ne=function(e,t){return k9e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"HierarchicalPortConstraintProcessor/NodeComparator",1577),b(1578,1,vt,tgn),o.Kf=function(e,t){yPe(u(e,36),t)},w(Qn,"HierarchicalPortDummySizeProcessor",1578),b(1579,1,vt,ign),o.Kf=function(e,t){OAe(this,u(e,36),t)},o.a=0,w(Qn,"HierarchicalPortOrthogonalEdgeRouter",1579),b(1580,1,Ne,rgn),o.Ne=function(e,t){return L1e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"HierarchicalPortOrthogonalEdgeRouter/1",1580),b(1581,1,Ne,cgn),o.Ne=function(e,t){return R4e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"HierarchicalPortOrthogonalEdgeRouter/2",1581),b(1582,1,vt,ugn),o.Kf=function(e,t){Vye(u(e,36),t)},w(Qn,"HierarchicalPortPositionProcessor",1582),b(1583,1,vt,R5n),o.Kf=function(e,t){hLe(this,u(e,36))},o.a=0,o.c=0;var CP,MP;w(Qn,"HighDegreeNodeLayeringProcessor",1583),b(580,1,{580:1},ogn),o.b=-1,o.d=-1,w(Qn,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),b(1584,1,{},sgn),o.Kb=function(e){return $7(),ji(u(e,10))},o.Fb=function(e){return this===e},w(Qn,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),b(1585,1,{},fgn),o.Kb=function(e){return $7(),Qt(u(e,10))},o.Fb=function(e){return this===e},w(Qn,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),b(1591,1,vt,hgn),o.Kf=function(e,t){dPe(this,u(e,36),t)},w(Qn,"HyperedgeDummyMerger",1591),b(804,1,{},$V),o.a=!1,o.b=!1,o.c=!1,w(Qn,"HyperedgeDummyMerger/MergeState",804),b(1592,1,{},lgn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"HyperedgeDummyMerger/lambda$0$Type",1592),b(1593,1,{},agn),o.Kb=function(e){return new Tn(null,new In(u(e,10).j,16))},w(Qn,"HyperedgeDummyMerger/lambda$1$Type",1593),b(1594,1,ie,dgn),o.Cd=function(e){u(e,12).p=-1},w(Qn,"HyperedgeDummyMerger/lambda$2$Type",1594),b(1595,1,vt,bgn),o.Kf=function(e,t){lPe(u(e,36),t)},w(Qn,"HypernodesProcessor",1595),b(1596,1,vt,wgn),o.Kf=function(e,t){kPe(u(e,36),t)},w(Qn,"InLayerConstraintProcessor",1596),b(1597,1,vt,ggn),o.Kf=function(e,t){dve(u(e,36),t)},w(Qn,"InnermostNodeMarginCalculator",1597),b(1598,1,vt,pgn),o.Kf=function(e,t){MDe(this,u(e,36))},o.a=li,o.b=li,o.c=St,o.d=St;var kNe=w(Qn,"InteractiveExternalPortPositioner",1598);b(1599,1,{},mgn),o.Kb=function(e){return u(e,18).d.i},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$0$Type",1599),b(1600,1,{},Z9n),o.Kb=function(e){return N1e(this.a,R(e))},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$1$Type",1600),b(1601,1,{},vgn),o.Kb=function(e){return u(e,18).c.i},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$2$Type",1601),b(1602,1,{},n7n),o.Kb=function(e){return $1e(this.a,R(e))},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$3$Type",1602),b(1603,1,{},e7n),o.Kb=function(e){return Dae(this.a,R(e))},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$4$Type",1603),b(1604,1,{},t7n),o.Kb=function(e){return Lae(this.a,R(e))},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$5$Type",1604),b(81,22,{3:1,34:1,22:1,81:1,196:1},ei),o.dg=function(){switch(this.g){case 15:return new xpn;case 22:return new Fpn;case 47:return new Kpn;case 28:case 35:return new Ign;case 32:return new Twn;case 42:return new Pwn;case 1:return new Iwn;case 41:return new Own;case 56:return new $G((V4(),dj));case 0:return new $G((V4(),L_));case 2:return new Dwn;case 54:return new Lwn;case 33:return new Fwn;case 51:return new Xwn;case 55:return new Zwn;case 13:return new ngn;case 38:return new tgn;case 44:return new ign;case 40:return new ugn;case 9:return new R5n;case 49:return new tAn;case 37:return new hgn;case 43:return new bgn;case 27:return new wgn;case 30:return new ggn;case 3:return new pgn;case 18:return new ygn;case 29:return new jgn;case 5:return new K5n;case 50:return new kgn;case 34:return new _5n;case 36:return new Ogn;case 52:return new I5n;case 11:return new Dgn;case 7:return new H5n;case 39:return new Lgn;case 45:return new Ngn;case 16:return new $gn;case 10:return new VCn;case 48:return new Rgn;case 21:return new Kgn;case 23:return new gD((O0(),t9));case 8:return new Hgn;case 12:return new Ugn;case 4:return new Ggn;case 19:return new V5n;case 17:return new e2n;case 53:return new t2n;case 6:return new b2n;case 25:return new Wyn;case 46:return new o2n;case 31:return new UAn;case 14:return new j2n;case 26:return new qpn;case 20:return new A2n;case 24:return new gD((O0(),PI));default:throw M(new Gn(cR+(this.f!=null?this.f:""+this.g)))}};var Hon,qon,Uon,Gon,zon,Xon,Von,Won,Jon,Qon,d2,TP,AP,Yon,Zon,nsn,esn,tsn,isn,rsn,x8,csn,usn,osn,ssn,fsn,N_,SP,PP,hsn,IP,OP,DP,hv,Dw,Lw,lsn,LP,NP,asn,$P,xP,dsn,bsn,wsn,gsn,FP,$_,bj,BP,RP,KP,_P,psn,msn,vsn,ksn,yNe=we(Qn,uR,81,ke,iqn,kde),HZn;b(1605,1,vt,ygn),o.Kf=function(e,t){EDe(u(e,36),t)},w(Qn,"InvertedPortProcessor",1605),b(1606,1,vt,jgn),o.Kf=function(e,t){mSe(u(e,36),t)},w(Qn,"LabelAndNodeSizeProcessor",1606),b(1607,1,De,Egn),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),b(1608,1,De,Cgn),o.Mb=function(e){return u(e,10).k==(Vn(),Zt)},w(Qn,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),b(1609,1,ie,mSn),o.Cd=function(e){ele(this.b,this.a,this.c,u(e,10))},o.a=!1,o.c=!1,w(Qn,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),b(1610,1,vt,K5n),o.Kf=function(e,t){WOe(u(e,36),t)};var qZn;w(Qn,"LabelDummyInserter",1610),b(1611,1,ph,Mgn),o.Lb=function(e){return x(v(u(e,72),(cn(),Ah)))===x((Nf(),Bv))},o.Fb=function(e){return this===e},o.Mb=function(e){return x(v(u(e,72),(cn(),Ah)))===x((Nf(),Bv))},w(Qn,"LabelDummyInserter/1",1611),b(1612,1,vt,kgn),o.Kf=function(e,t){FOe(u(e,36),t)},w(Qn,"LabelDummyRemover",1612),b(1613,1,De,Tgn),o.Mb=function(e){return on(un(v(u(e,72),(cn(),EH))))},w(Qn,"LabelDummyRemover/lambda$0$Type",1613),b(1378,1,vt,_5n),o.Kf=function(e,t){POe(this,u(e,36),t)},o.a=null;var x_;w(Qn,"LabelDummySwitcher",1378),b(293,1,{293:1},tUn),o.c=0,o.d=null,o.f=0,w(Qn,"LabelDummySwitcher/LabelDummyInfo",293),b(1379,1,{},Agn),o.Kb=function(e){return Hp(),new Tn(null,new In(u(e,30).a,16))},w(Qn,"LabelDummySwitcher/lambda$0$Type",1379),b(1380,1,De,Sgn),o.Mb=function(e){return Hp(),u(e,10).k==(Vn(),Ac)},w(Qn,"LabelDummySwitcher/lambda$1$Type",1380),b(1381,1,{},i7n),o.Kb=function(e){return gae(this.a,u(e,10))},w(Qn,"LabelDummySwitcher/lambda$2$Type",1381),b(1382,1,ie,r7n),o.Cd=function(e){xwe(this.a,u(e,293))},w(Qn,"LabelDummySwitcher/lambda$3$Type",1382),b(1383,1,Ne,Pgn),o.Ne=function(e,t){return uwe(u(e,293),u(t,293))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"LabelDummySwitcher/lambda$4$Type",1383),b(802,1,vt,Ign),o.Kf=function(e,t){m4e(u(e,36),t)},w(Qn,"LabelManagementProcessor",802),b(1614,1,vt,Ogn),o.Kf=function(e,t){WTe(u(e,36),t)},w(Qn,"LabelSideSelector",1614),b(1622,1,vt,Dgn),o.Kf=function(e,t){xPe(u(e,36),t)},w(Qn,"LayerConstraintPostprocessor",1622),b(1623,1,vt,H5n),o.Kf=function(e,t){OCe(u(e,36),t)};var ysn;w(Qn,"LayerConstraintPreprocessor",1623),b(371,22,{3:1,34:1,22:1,371:1},dC);var wj,HP,qP,F_,UZn=we(Qn,"LayerConstraintPreprocessor/HiddenNodeConnections",371,ke,Jpe,yde),GZn;b(1624,1,vt,Lgn),o.Kf=function(e,t){ZIe(u(e,36),t)},w(Qn,"LayerSizeAndGraphHeightCalculator",1624),b(1625,1,vt,Ngn),o.Kf=function(e,t){NMe(u(e,36),t)},w(Qn,"LongEdgeJoiner",1625),b(1626,1,vt,$gn),o.Kf=function(e,t){SIe(u(e,36),t)},w(Qn,"LongEdgeSplitter",1626),b(1627,1,vt,VCn),o.Kf=function(e,t){hDe(this,u(e,36),t)},o.e=0,o.f=0,o.j=0,o.k=0,o.n=0,o.o=0;var zZn,XZn;w(Qn,"NodePromotion",1627),b(1628,1,Ne,xgn),o.Ne=function(e,t){return E6e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"NodePromotion/1",1628),b(1629,1,Ne,Fgn),o.Ne=function(e,t){return C6e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"NodePromotion/2",1629),b(1630,1,{},Bgn),o.Kb=function(e){return u(e,42),VC(),_n(),!0},o.Fb=function(e){return this===e},w(Qn,"NodePromotion/lambda$0$Type",1630),b(1631,1,{},s7n),o.Kb=function(e){return v2e(this.a,u(e,42))},o.Fb=function(e){return this===e},o.a=0,w(Qn,"NodePromotion/lambda$1$Type",1631),b(1632,1,{},f7n),o.Kb=function(e){return m2e(this.a,u(e,42))},o.Fb=function(e){return this===e},o.a=0,w(Qn,"NodePromotion/lambda$2$Type",1632),b(1633,1,vt,Rgn),o.Kf=function(e,t){rLe(u(e,36),t)},w(Qn,"NorthSouthPortPostprocessor",1633),b(1634,1,vt,Kgn),o.Kf=function(e,t){BDe(u(e,36),t)},w(Qn,"NorthSouthPortPreprocessor",1634),b(1635,1,Ne,_gn),o.Ne=function(e,t){return Bve(u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"NorthSouthPortPreprocessor/lambda$0$Type",1635),b(1636,1,vt,Hgn),o.Kf=function(e,t){ZSe(u(e,36),t)},w(Qn,"PartitionMidprocessor",1636),b(1637,1,De,qgn),o.Mb=function(e){return kt(u(e,10),(cn(),Cv))},w(Qn,"PartitionMidprocessor/lambda$0$Type",1637),b(1638,1,ie,h7n),o.Cd=function(e){vge(this.a,u(e,10))},w(Qn,"PartitionMidprocessor/lambda$1$Type",1638),b(1639,1,vt,Ugn),o.Kf=function(e,t){eTe(u(e,36),t)},w(Qn,"PartitionPostprocessor",1639),b(1640,1,vt,Ggn),o.Kf=function(e,t){wCe(u(e,36),t)},w(Qn,"PartitionPreprocessor",1640),b(1641,1,De,zgn),o.Mb=function(e){return kt(u(e,10),(cn(),Cv))},w(Qn,"PartitionPreprocessor/lambda$0$Type",1641),b(1642,1,{},Xgn),o.Kb=function(e){return new Tn(null,new p0(new te(re(Qt(u(e,10)).a.Kc(),new En))))},w(Qn,"PartitionPreprocessor/lambda$1$Type",1642),b(1643,1,De,Vgn),o.Mb=function(e){return c9e(u(e,18))},w(Qn,"PartitionPreprocessor/lambda$2$Type",1643),b(1644,1,ie,Wgn),o.Cd=function(e){e6e(u(e,18))},w(Qn,"PartitionPreprocessor/lambda$3$Type",1644),b(1645,1,vt,V5n),o.Kf=function(e,t){LSe(u(e,36),t)};var jsn,VZn,WZn,JZn,Esn,Csn;w(Qn,"PortListSorter",1645),b(1648,1,Ne,Jgn),o.Ne=function(e,t){return XDn(u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"PortListSorter/lambda$0$Type",1648),b(1650,1,Ne,Qgn),o.Ne=function(e,t){return TUn(u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"PortListSorter/lambda$1$Type",1650),b(1646,1,{},Ygn),o.Kb=function(e){return cm(),u(e,12).e},w(Qn,"PortListSorter/lambda$2$Type",1646),b(1647,1,{},Zgn),o.Kb=function(e){return cm(),u(e,12).g},w(Qn,"PortListSorter/lambda$3$Type",1647),b(1649,1,Ne,n2n),o.Ne=function(e,t){return P7e(u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"PortListSorter/lambda$4$Type",1649),b(1651,1,vt,e2n),o.Kf=function(e,t){UCe(u(e,36),t)},w(Qn,"PortSideProcessor",1651),b(1652,1,vt,t2n),o.Kf=function(e,t){GAe(u(e,36),t)},w(Qn,"ReversedEdgeRestorer",1652),b(1657,1,vt,Wyn),o.Kf=function(e,t){l7e(this,u(e,36),t)},w(Qn,"SelfLoopPortRestorer",1657),b(1658,1,{},i2n),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"SelfLoopPortRestorer/lambda$0$Type",1658),b(1659,1,De,r2n),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"SelfLoopPortRestorer/lambda$1$Type",1659),b(1660,1,De,c2n),o.Mb=function(e){return kt(u(e,10),(W(),hb))},w(Qn,"SelfLoopPortRestorer/lambda$2$Type",1660),b(1661,1,{},u2n),o.Kb=function(e){return u(v(u(e,10),(W(),hb)),337)},w(Qn,"SelfLoopPortRestorer/lambda$3$Type",1661),b(1662,1,ie,u7n),o.Cd=function(e){Tje(this.a,u(e,337))},w(Qn,"SelfLoopPortRestorer/lambda$4$Type",1662),b(805,1,ie,GU),o.Cd=function(e){Rje(u(e,105))},w(Qn,"SelfLoopPortRestorer/lambda$5$Type",805),b(1663,1,vt,o2n),o.Kf=function(e,t){p9e(u(e,36),t)},w(Qn,"SelfLoopPostProcessor",1663),b(1664,1,{},s2n),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"SelfLoopPostProcessor/lambda$0$Type",1664),b(1665,1,De,f2n),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"SelfLoopPostProcessor/lambda$1$Type",1665),b(1666,1,De,h2n),o.Mb=function(e){return kt(u(e,10),(W(),hb))},w(Qn,"SelfLoopPostProcessor/lambda$2$Type",1666),b(1667,1,ie,l2n),o.Cd=function(e){Ske(u(e,10))},w(Qn,"SelfLoopPostProcessor/lambda$3$Type",1667),b(1668,1,{},a2n),o.Kb=function(e){return new Tn(null,new In(u(e,105).f,1))},w(Qn,"SelfLoopPostProcessor/lambda$4$Type",1668),b(1669,1,ie,c7n),o.Cd=function(e){n3e(this.a,u(e,340))},w(Qn,"SelfLoopPostProcessor/lambda$5$Type",1669),b(1670,1,De,d2n),o.Mb=function(e){return!!u(e,105).i},w(Qn,"SelfLoopPostProcessor/lambda$6$Type",1670),b(1671,1,ie,o7n),o.Cd=function(e){nhe(this.a,u(e,105))},w(Qn,"SelfLoopPostProcessor/lambda$7$Type",1671),b(1653,1,vt,b2n),o.Kf=function(e,t){vMe(u(e,36),t)},w(Qn,"SelfLoopPreProcessor",1653),b(1654,1,{},w2n),o.Kb=function(e){return new Tn(null,new In(u(e,105).f,1))},w(Qn,"SelfLoopPreProcessor/lambda$0$Type",1654),b(1655,1,{},g2n),o.Kb=function(e){return u(e,340).a},w(Qn,"SelfLoopPreProcessor/lambda$1$Type",1655),b(1656,1,ie,p2n),o.Cd=function(e){i1e(u(e,18))},w(Qn,"SelfLoopPreProcessor/lambda$2$Type",1656),b(1672,1,vt,UAn),o.Kf=function(e,t){oje(this,u(e,36),t)},w(Qn,"SelfLoopRouter",1672),b(1673,1,{},m2n),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"SelfLoopRouter/lambda$0$Type",1673),b(1674,1,De,v2n),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"SelfLoopRouter/lambda$1$Type",1674),b(1675,1,De,k2n),o.Mb=function(e){return kt(u(e,10),(W(),hb))},w(Qn,"SelfLoopRouter/lambda$2$Type",1675),b(1676,1,{},y2n),o.Kb=function(e){return u(v(u(e,10),(W(),hb)),337)},w(Qn,"SelfLoopRouter/lambda$3$Type",1676),b(1677,1,ie,SCn),o.Cd=function(e){dge(this.a,this.b,u(e,337))},w(Qn,"SelfLoopRouter/lambda$4$Type",1677),b(1678,1,vt,j2n),o.Kf=function(e,t){FTe(u(e,36),t)},w(Qn,"SemiInteractiveCrossMinProcessor",1678),b(1679,1,De,E2n),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),b(1680,1,De,C2n),o.Mb=function(e){return oPn(u(e,10))._b((cn(),Hw))},w(Qn,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),b(1681,1,Ne,M2n),o.Ne=function(e,t){return nve(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),b(1682,1,{},T2n),o.Ve=function(e,t){return kge(u(e,10),u(t,10))},w(Qn,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),b(1684,1,vt,A2n),o.Kf=function(e,t){oIe(u(e,36),t)},w(Qn,"SortByInputModelProcessor",1684),b(1685,1,De,S2n),o.Mb=function(e){return u(e,12).g.c.length!=0},w(Qn,"SortByInputModelProcessor/lambda$0$Type",1685),b(1686,1,ie,l7n),o.Cd=function(e){Uje(this.a,u(e,12))},w(Qn,"SortByInputModelProcessor/lambda$1$Type",1686),b(1759,817,{},pxn),o.df=function(e){var t,i,r,c;switch(this.c=e,this.a.g){case 2:t=new Z,qt(ut(new Tn(null,new In(this.c.a.b,16)),new H2n),new FCn(this,t)),ey(this,new I2n),nu(t,new O2n),t.c.length=0,qt(ut(new Tn(null,new In(this.c.a.b,16)),new D2n),new d7n(t)),ey(this,new L2n),nu(t,new N2n),t.c.length=0,i=mTn(O$(Ub(new Tn(null,new In(this.c.a.b,16)),new b7n(this))),new $2n),qt(new Tn(null,new In(this.c.a.a,16)),new OCn(i,t)),ey(this,new F2n),nu(t,new B2n),t.c.length=0;break;case 3:r=new Z,ey(this,new P2n),c=mTn(O$(Ub(new Tn(null,new In(this.c.a.b,16)),new a7n(this))),new x2n),qt(ut(new Tn(null,new In(this.c.a.b,16)),new R2n),new LCn(c,r)),ey(this,new K2n),nu(r,new _2n),r.c.length=0;break;default:throw M(new xyn)}},o.b=0,w(di,"EdgeAwareScanlineConstraintCalculation",1759),b(1760,1,ph,P2n),o.Lb=function(e){return O(u(e,60).g,154)},o.Fb=function(e){return this===e},o.Mb=function(e){return O(u(e,60).g,154)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),b(1761,1,{},a7n),o.Ye=function(e){return AEe(this.a,u(e,60))},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),b(1769,1,JA,PCn),o.de=function(){I5(this.a,this.b,-1)},o.b=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),b(1771,1,ph,I2n),o.Lb=function(e){return O(u(e,60).g,154)},o.Fb=function(e){return this===e},o.Mb=function(e){return O(u(e,60).g,154)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),b(1772,1,ie,O2n),o.Cd=function(e){u(e,380).de()},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),b(1773,1,De,D2n),o.Mb=function(e){return O(u(e,60).g,10)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),b(1775,1,ie,d7n),o.Cd=function(e){X5e(this.a,u(e,60))},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),b(1774,1,JA,NCn),o.de=function(){I5(this.b,this.a,-1)},o.a=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),b(1776,1,ph,L2n),o.Lb=function(e){return O(u(e,60).g,10)},o.Fb=function(e){return this===e},o.Mb=function(e){return O(u(e,60).g,10)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),b(1777,1,ie,N2n),o.Cd=function(e){u(e,380).de()},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),b(1778,1,{},b7n),o.Ye=function(e){return SEe(this.a,u(e,60))},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),b(1779,1,{},$2n),o.We=function(){return 0},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),b(1762,1,{},x2n),o.We=function(){return 0},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),b(1781,1,ie,OCn),o.Cd=function(e){Ybe(this.a,this.b,u(e,316))},o.a=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),b(1780,1,JA,DCn),o.de=function(){DHn(this.a,this.b,-1)},o.b=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),b(1782,1,ph,F2n),o.Lb=function(e){return u(e,60),!0},o.Fb=function(e){return this===e},o.Mb=function(e){return u(e,60),!0},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),b(1783,1,ie,B2n),o.Cd=function(e){u(e,380).de()},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),b(1763,1,De,R2n),o.Mb=function(e){return O(u(e,60).g,10)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),b(1765,1,ie,LCn),o.Cd=function(e){Zbe(this.a,this.b,u(e,60))},o.a=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),b(1764,1,JA,$Cn),o.de=function(){I5(this.b,this.a,-1)},o.a=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),b(1766,1,ph,K2n),o.Lb=function(e){return u(e,60),!0},o.Fb=function(e){return this===e},o.Mb=function(e){return u(e,60),!0},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),b(1767,1,ie,_2n),o.Cd=function(e){u(e,380).de()},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),b(1768,1,De,H2n),o.Mb=function(e){return O(u(e,60).g,154)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),b(1770,1,ie,FCn),o.Cd=function(e){pme(this.a,this.b,u(e,60))},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),b(1586,1,vt,tAn),o.Kf=function(e,t){NIe(this,u(e,36),t)};var QZn;w(di,"HorizontalGraphCompactor",1586),b(1587,1,{},w7n),o.ff=function(e,t){var i,r,c;return rQ(e,t)||(i=Sg(e),r=Sg(t),i&&i.k==(Vn(),Zt)||r&&r.k==(Vn(),Zt))?0:(c=u(v(this.a.a,(W(),j2)),312),R1e(c,i?i.k:(Vn(),Mi),r?r.k:(Vn(),Mi)))},o.gf=function(e,t){var i,r,c;return rQ(e,t)?1:(i=Sg(e),r=Sg(t),c=u(v(this.a.a,(W(),j2)),312),WX(c,i?i.k:(Vn(),Mi),r?r.k:(Vn(),Mi)))},w(di,"HorizontalGraphCompactor/1",1587),b(1588,1,{},q2n),o.ef=function(e,t){return s6(),e.a.i==0},w(di,"HorizontalGraphCompactor/lambda$0$Type",1588),b(1589,1,{},g7n),o.ef=function(e,t){return Ege(this.a,e,t)},w(di,"HorizontalGraphCompactor/lambda$1$Type",1589),b(1730,1,{},zNn);var YZn,ZZn;w(di,"LGraphToCGraphTransformer",1730),b(1738,1,De,U2n),o.Mb=function(e){return e!=null},w(di,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),b(1731,1,{},G2n),o.Kb=function(e){return xs(),Jr(v(u(u(e,60).g,10),(W(),st)))},w(di,"LGraphToCGraphTransformer/lambda$0$Type",1731),b(1732,1,{},z2n),o.Kb=function(e){return xs(),iBn(u(u(e,60).g,154))},w(di,"LGraphToCGraphTransformer/lambda$1$Type",1732),b(1741,1,De,X2n),o.Mb=function(e){return xs(),O(u(e,60).g,10)},w(di,"LGraphToCGraphTransformer/lambda$10$Type",1741),b(1742,1,ie,V2n),o.Cd=function(e){Sge(u(e,60))},w(di,"LGraphToCGraphTransformer/lambda$11$Type",1742),b(1743,1,De,W2n),o.Mb=function(e){return xs(),O(u(e,60).g,154)},w(di,"LGraphToCGraphTransformer/lambda$12$Type",1743),b(1747,1,ie,J2n),o.Cd=function(e){c5e(u(e,60))},w(di,"LGraphToCGraphTransformer/lambda$13$Type",1747),b(1744,1,ie,p7n),o.Cd=function(e){Dle(this.a,u(e,8))},o.a=0,w(di,"LGraphToCGraphTransformer/lambda$14$Type",1744),b(1745,1,ie,m7n),o.Cd=function(e){Nle(this.a,u(e,116))},o.a=0,w(di,"LGraphToCGraphTransformer/lambda$15$Type",1745),b(1746,1,ie,v7n),o.Cd=function(e){Lle(this.a,u(e,8))},o.a=0,w(di,"LGraphToCGraphTransformer/lambda$16$Type",1746),b(1748,1,{},Q2n),o.Kb=function(e){return xs(),new Tn(null,new p0(new te(re(Qt(u(e,10)).a.Kc(),new En))))},w(di,"LGraphToCGraphTransformer/lambda$17$Type",1748),b(1749,1,De,Y2n),o.Mb=function(e){return xs(),fr(u(e,18))},w(di,"LGraphToCGraphTransformer/lambda$18$Type",1749),b(1750,1,ie,k7n),o.Cd=function(e){W4e(this.a,u(e,18))},w(di,"LGraphToCGraphTransformer/lambda$19$Type",1750),b(1734,1,ie,y7n),o.Cd=function(e){jpe(this.a,u(e,154))},w(di,"LGraphToCGraphTransformer/lambda$2$Type",1734),b(1751,1,{},Z2n),o.Kb=function(e){return xs(),new Tn(null,new In(u(e,30).a,16))},w(di,"LGraphToCGraphTransformer/lambda$20$Type",1751),b(1752,1,{},npn),o.Kb=function(e){return xs(),new Tn(null,new p0(new te(re(Qt(u(e,10)).a.Kc(),new En))))},w(di,"LGraphToCGraphTransformer/lambda$21$Type",1752),b(1753,1,{},epn),o.Kb=function(e){return xs(),u(v(u(e,18),(W(),Dd)),15)},w(di,"LGraphToCGraphTransformer/lambda$22$Type",1753),b(1754,1,De,tpn),o.Mb=function(e){return K1e(u(e,15))},w(di,"LGraphToCGraphTransformer/lambda$23$Type",1754),b(1755,1,ie,j7n),o.Cd=function(e){gEe(this.a,u(e,15))},w(di,"LGraphToCGraphTransformer/lambda$24$Type",1755),b(1733,1,ie,BCn),o.Cd=function(e){v3e(this.a,this.b,u(e,154))},w(di,"LGraphToCGraphTransformer/lambda$3$Type",1733),b(1735,1,{},ipn),o.Kb=function(e){return xs(),new Tn(null,new In(u(e,30).a,16))},w(di,"LGraphToCGraphTransformer/lambda$4$Type",1735),b(1736,1,{},rpn),o.Kb=function(e){return xs(),new Tn(null,new p0(new te(re(Qt(u(e,10)).a.Kc(),new En))))},w(di,"LGraphToCGraphTransformer/lambda$5$Type",1736),b(1737,1,{},cpn),o.Kb=function(e){return xs(),u(v(u(e,18),(W(),Dd)),15)},w(di,"LGraphToCGraphTransformer/lambda$6$Type",1737),b(1739,1,ie,E7n),o.Cd=function(e){PEe(this.a,u(e,15))},w(di,"LGraphToCGraphTransformer/lambda$8$Type",1739),b(1740,1,ie,RCn),o.Cd=function(e){r1e(this.a,this.b,u(e,154))},w(di,"LGraphToCGraphTransformer/lambda$9$Type",1740),b(1729,1,{},upn),o.cf=function(e){var t,i,r,c,s;for(this.a=e,this.d=new oD,this.c=K(ion,Fn,125,this.a.a.a.c.length,0,1),this.b=0,i=new C(this.a.a.a);i.a=j&&(nn(s,Y(d)),D=y.Math.max(D,N[d-1]-g),h+=k,A+=N[d-1]-A,g=N[d-1],k=l[d]),k=y.Math.max(k,l[d]),++d;h+=k}m=y.Math.min(1/D,1/t.b/h),m>r&&(r=m,i=s)}return i},o.pg=function(){return!1},w(yh,"MSDCutIndexHeuristic",816),b(1683,1,vt,qpn),o.Kf=function(e,t){BPe(u(e,36),t)},w(yh,"SingleEdgeGraphWrapper",1683),b(232,22,{3:1,34:1,22:1,232:1},g6);var w2,dv,bv,Nw,F8,g2,wv=we(Tc,"CenterEdgeLabelPlacementStrategy",232,ke,E4e,Mde),lne;b(431,22,{3:1,34:1,22:1,431:1},Jz);var Tsn,V_,Asn=we(Tc,"ConstraintCalculationStrategy",431,ke,qge,Tde),ane;b(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},_D),o.dg=function(){return K_n(this)},o.qg=function(){return K_n(this)};var pj,B8,Ssn,Psn=we(Tc,"CrossingMinimizationStrategy",322,ke,F2e,Ade),dne;b(351,22,{3:1,34:1,22:1,351:1},HD);var Isn,W_,VP,Osn=we(Tc,"CuttingStrategy",351,ke,B2e,Sde),bne;b(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},l7),o.dg=function(){return IHn(this)},o.qg=function(){return IHn(this)};var Dsn,J_,gv,Q_,pv,Lsn=we(Tc,"CycleBreakingStrategy",348,ke,_3e,Pde),wne;b(428,22,{3:1,34:1,22:1,428:1},Qz);var WP,Nsn,$sn=we(Tc,"DirectionCongruency",428,ke,Hge,Ide),gne;b(460,22,{3:1,34:1,22:1,460:1},qD);var mv,Y_,p2,pne=we(Tc,"EdgeConstraint",460,ke,R2e,Fde),mne;b(283,22,{3:1,34:1,22:1,283:1},p6);var Z_,nH,eH,tH,JP,iH,xsn=we(Tc,"EdgeLabelSideSelection",283,ke,k4e,Bde),vne;b(488,22,{3:1,34:1,22:1,488:1},Yz);var QP,Fsn,Bsn=we(Tc,"EdgeStraighteningStrategy",488,ke,Jge,Rde),kne;b(281,22,{3:1,34:1,22:1,281:1},m6);var rH,Rsn,Ksn,YP,_sn,Hsn,qsn=we(Tc,"FixedAlignment",281,ke,y4e,xde),yne;b(282,22,{3:1,34:1,22:1,282:1},v6);var Usn,Gsn,zsn,Xsn,R8,Vsn,Wsn=we(Tc,"GraphCompactionStrategy",282,ke,j4e,Ode),jne;b(259,22,{3:1,34:1,22:1,259:1},Db);var vv,ZP,kv,cs,K8,nI,yv,m2,eI,_8,cH=we(Tc,"GraphProperties",259,ke,uve,Dde),Ene;b(299,22,{3:1,34:1,22:1,299:1},UD);var mj,uH,oH,sH=we(Tc,"GreedySwitchType",299,ke,K2e,Lde),Cne;b(311,22,{3:1,34:1,22:1,311:1},GD);var E3,vj,v2,Mne=we(Tc,"InLayerConstraint",311,ke,_2e,Nde),Tne;b(429,22,{3:1,34:1,22:1,429:1},Zz);var fH,Jsn,Qsn=we(Tc,"InteractiveReferencePoint",429,ke,_ge,$de),Ane,Ysn,C3,ob,tI,Zsn,nfn,iI,efn,kj,rI,H8,M3,Nl,hH,cI,gc,tfn,va,Hc,lH,aH,yj,Od,sb,T3,ifn,A3,jj,$w,kf,js,dH,k2,dt,st,rfn,cfn,ufn,ofn,sfn,bH,uI,Xu,fb,wH,S3,q8,Gf,y2,hb,j2,E2,jv,Dd,ffn,gH,pH,P3;b(171,22,{3:1,34:1,22:1,171:1},a7);var U8,ka,G8,xw,Ej,hfn=we(Tc,"LayerConstraint",171,ke,q3e,Kde),Sne;b(859,1,ps,e8n),o.hf=function(e){vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,uin),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),kfn),(l1(),Pt)),$sn),yn((gf(),xn))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,oin),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(_n(),!1)),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,lS),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),Tfn),Pt),Qsn),yn(xn)))),ri(e,lS,fR,jee),ri(e,lS,h8,yee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,sin),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,fin),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),yi),Gt),yn(xn)))),vn(e,new ln(Dhe(pn(gn(mn(Sn(an(wn(dn(bn(new hn,hin),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),yi),Gt),yn(Kd)),S(T(fn,1),J,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,lin),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),Nfn),Pt),qhn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ain),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),Y(7)),Zr),Gi),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,din),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,bin),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,fR),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),vfn),Pt),Lsn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Hy),LR),"Node Layering Strategy"),"Strategy for node layering."),Pfn),Pt),Ohn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,win),LR),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),Afn),Pt),hfn),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,gin),LR),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Zr),Gi),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,pin),LR),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),Y(-1)),Zr),Gi),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,hR),YXn),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),Y(4)),Zr),Gi),yn(xn)))),ri(e,hR,Hy,Pee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,lR),YXn),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),Y(2)),Zr),Gi),yn(xn)))),ri(e,lR,Hy,Oee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,aR),ZXn),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),Sfn),Pt),Khn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,dR),ZXn),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),Y(0)),Zr),Gi),yn(xn)))),ri(e,dR,aR,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,bR),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),Y(et)),Zr),Gi),yn(xn)))),ri(e,bR,Hy,Cee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,h8),Wm),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),mfn),Pt),Psn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,min),Wm),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,wR),Wm),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),Qi),si),yn(xn)))),ri(e,wR,CS,Vne),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,gR),Wm),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),yi),Gt),yn(xn)))),ri(e,gR,h8,nee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vin),Wm),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),N2),fn),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,kin),Wm),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),N2),fn),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,yin),Wm),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Zr),Gi),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,jin),Wm),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),Y(-1)),Zr),Gi),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ein),nVn),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),Y(40)),Zr),Gi),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,pR),nVn),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),pfn),Pt),sH),yn(xn)))),ri(e,pR,h8,zne),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,aS),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),gfn),Pt),sH),yn(xn)))),ri(e,aS,h8,qne),ri(e,aS,CS,Une),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,r2),eVn),"Node Placement Strategy"),"Strategy for node placement."),Lfn),Pt),$hn),yn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,dS),eVn),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),yi),Gt),yn(xn)))),ri(e,dS,r2,Hee),ri(e,dS,r2,qee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,mR),tVn),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),Ifn),Pt),Bsn),yn(xn)))),ri(e,mR,r2,Bee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vR),tVn),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),Ofn),Pt),qsn),yn(xn)))),ri(e,vR,r2,Kee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,kR),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),Qi),si),yn(xn)))),ri(e,kR,r2,Gee),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,yR),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),Pt),RH),yn(pi)))),ri(e,yR,r2,Wee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,jR),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),Dfn),Pt),RH),yn(xn)))),ri(e,jR,r2,Vee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Cin),iVn),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),Efn),Pt),zhn),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Min),iVn),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),Cfn),Pt),Xhn),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,bS),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),Mfn),Pt),Whn),yn(xn)))),ri(e,bS,qy,lee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,wS),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),Qi),si),yn(xn)))),ri(e,wS,qy,dee),ri(e,wS,bS,bee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ER),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),Qi),si),yn(xn)))),ri(e,ER,qy,oee),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,Tin),Hf),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ain),Hf),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Sin),Hf),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Pin),Hf),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Iin),Kin),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),Y(0)),Zr),Gi),yn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Oin),Kin),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),Y(0)),Zr),Gi),yn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Din),Kin),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),Y(0)),Zr),Gi),yn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,CR),_in),vXn),"Tries to further compact components (disconnected sub-graphs)."),!1),yi),Gt),yn(xn)))),ri(e,CR,c8,!0),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Lin),rVn),"Post Compaction Strategy"),cVn),afn),Pt),Wsn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Nin),rVn),"Post Compaction Constraint Calculation"),cVn),lfn),Pt),Asn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,gS),Hin),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,MR),Hin),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),Y(16)),Zr),Gi),yn(xn)))),ri(e,MR,gS,!0),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,TR),Hin),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),Y(5)),Zr),Gi),yn(xn)))),ri(e,TR,gS,!0),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ol),qin),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),Ffn),Pt),Zhn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,pS),qin),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),Qi),si),yn(xn)))),ri(e,pS,Ol,ste),ri(e,pS,Ol,fte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,mS),qin),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),Qi),si),yn(xn)))),ri(e,mS,Ol,lte),ri(e,mS,Ol,ate),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,l8),uVn),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),xfn),Pt),Osn),yn(xn)))),ri(e,l8,Ol,mte),ri(e,l8,Ol,vte),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,AR),uVn),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),Xf),rs),yn(xn)))),ri(e,AR,l8,bte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,SR),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),$fn),Zr),Gi),yn(xn)))),ri(e,SR,l8,gte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vS),oVn),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),Bfn),Pt),Yhn),yn(xn)))),ri(e,vS,Ol,Ote),ri(e,vS,Ol,Dte),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,kS),oVn),"Valid Indices for Wrapping"),null),Xf),rs),yn(xn)))),ri(e,kS,Ol,Ste),ri(e,kS,Ol,Pte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,yS),Uin),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),yi),Gt),yn(xn)))),ri(e,yS,Ol,Ete),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,jS),Uin),"Distance Penalty When Improving Cuts"),null),2),Qi),si),yn(xn)))),ri(e,jS,Ol,yte),ri(e,jS,yS,!0),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,PR),Uin),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),yi),Gt),yn(xn)))),ri(e,PR,Ol,Mte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,$in),NR),"Edge Label Side Selection"),"Method to decide on edge label sides."),jfn),Pt),xsn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,xin),NR),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),yfn),Pt),wv),yt(xn,S(T(Zh,1),G,170,0,[E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ES),a8),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),wfn),Pt),Hhn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Fin),a8),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Bin),a8),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),yi),Gt),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,IR),a8),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),dfn),Pt),Lon),yn(xn)))),ri(e,IR,c8,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Rin),a8),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),bfn),Pt),Lhn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,OR),a8),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),Qi),si),yn(xn)))),ri(e,OR,ES,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,DR),a8),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),Qi),si),yn(xn)))),ri(e,DR,ES,null),Czn((new t8n,e))};var Pne,Ine,One,lfn,Dne,afn,Lne,dfn,Nne,$ne,xne,bfn,Fne,Bne,Rne,wfn,Kne,_ne,Hne,gfn,qne,Une,Gne,pfn,zne,Xne,Vne,Wne,Jne,Qne,Yne,Zne,nee,eee,mfn,tee,vfn,iee,kfn,ree,yfn,cee,jfn,uee,oee,see,Efn,fee,Cfn,hee,Mfn,lee,aee,dee,bee,wee,gee,pee,mee,vee,kee,Tfn,yee,jee,Eee,Cee,Mee,Tee,Afn,Aee,See,Pee,Iee,Oee,Dee,Lee,Sfn,Nee,Pfn,$ee,xee,Fee,Ifn,Bee,Ree,Ofn,Kee,_ee,Hee,qee,Uee,Gee,zee,Xee,Dfn,Vee,Wee,Jee,Lfn,Qee,Nfn,Yee,Zee,nte,ete,tte,ite,rte,cte,ute,ote,ste,fte,hte,lte,ate,dte,bte,wte,$fn,gte,pte,xfn,mte,vte,kte,yte,jte,Ete,Cte,Mte,Tte,Ffn,Ate,Ste,Pte,Ite,Bfn,Ote,Dte;w(Tc,"LayeredMetaDataProvider",859),b(998,1,ps,t8n),o.hf=function(e){Czn(e)};var Th,mH,oI,z8,sI,Rfn,fI,Fw,hI,Kfn,_fn,lI,vH,Yh,kH,lb,Hfn,Cj,yH,qfn,Lte,Nte,$te,aI,jH,X8,Ld,xte,Do,Ufn,Gfn,dI,EH,Ah,bI,$l,zfn,Xfn,Vfn,CH,MH,Wfn,m1,TH,Jfn,Bw,Qfn,Yfn,Zfn,wI,Rw,Nd,nhn,ehn,Fr,thn,Fte,ou,gI,ihn,rhn,chn,ya,$d,pI,uhn,ohn,mI,ab,shn,AH,V8,fhn,db,W8,vI,xd,SH,Ev,kI,Fd,hhn,lhn,ahn,Cv,dhn,Bte,Rte,Kte,_te,bb,Kw,Kt,v1,Hte,_w,bhn,Mv,whn,Hw,qte,Tv,ghn,I3,Ute,Gte,Mj,PH,phn,Tj,Vs,C2,M2,wb,Bd,yI,qw,IH,Av,Sv,gb,T2,OH,Aj,J8,Q8,zte,Xte,Vte,mhn,Wte,DH,vhn,khn,yhn,jhn,LH,Ehn,Chn,Mhn,Thn,NH,jI;w(Tc,"LayeredOptions",998),b(999,1,{},Upn),o.sf=function(){var e;return e=new Uyn,e},o.tf=function(e){},w(Tc,"LayeredOptions/LayeredFactory",999),b(1391,1,{}),o.a=0;var Jte;w(dc,"ElkSpacings/AbstractSpacingsBuilder",1391),b(792,1391,{},XY);var EI,Qte;w(Tc,"LayeredSpacings/LayeredSpacingsBuilder",792),b(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},ag),o.dg=function(){return Rqn(this)},o.qg=function(){return Rqn(this)};var Pv,$H,Iv,Ahn,Shn,Phn,CI,xH,Ihn,Ohn=we(Tc,"LayeringStrategy",265,ke,xme,_de),Yte;b(390,22,{3:1,34:1,22:1,390:1},zD);var FH,Dhn,MI,Lhn=we(Tc,"LongEdgeOrderingStrategy",390,ke,H2e,Hde),Zte;b(203,22,{3:1,34:1,22:1,203:1},wC);var A2,S2,TI,BH,RH=we(Tc,"NodeFlexibility",203,ke,Qpe,qde),nie;b(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},d7),o.dg=function(){return PHn(this)},o.qg=function(){return PHn(this)};var Y8,KH,_H,Z8,Nhn,$hn=we(Tc,"NodePlacementStrategy",323,ke,H3e,Ude),eie;b(243,22,{3:1,34:1,22:1,243:1},Lb);var xhn,pb,Uw,Sj,Fhn,Bhn,Pj,Rhn,AI,SI,Khn=we(Tc,"NodePromotionStrategy",243,ke,ove,Gde),tie;b(284,22,{3:1,34:1,22:1,284:1},gC);var _hn,k1,HH,qH,Hhn=we(Tc,"OrderingStrategy",284,ke,Ype,zde),iie;b(430,22,{3:1,34:1,22:1,430:1},nX);var UH,GH,qhn=we(Tc,"PortSortingStrategy",430,ke,Uge,Xde),rie;b(463,22,{3:1,34:1,22:1,463:1},XD);var Vu,Jc,n9,cie=we(Tc,"PortType",463,ke,q2e,Vde),uie;b(387,22,{3:1,34:1,22:1,387:1},VD);var Uhn,zH,Ghn,zhn=we(Tc,"SelfLoopDistributionStrategy",387,ke,U2e,Wde),oie;b(349,22,{3:1,34:1,22:1,349:1},WD);var XH,Ij,VH,Xhn=we(Tc,"SelfLoopOrderingStrategy",349,ke,G2e,Jde),sie;b(312,1,{312:1},yGn),w(Tc,"Spacings",312),b(350,22,{3:1,34:1,22:1,350:1},JD);var WH,Vhn,e9,Whn=we(Tc,"SplineRoutingMode",350,ke,z2e,Qde),fie;b(352,22,{3:1,34:1,22:1,352:1},QD);var JH,Jhn,Qhn,Yhn=we(Tc,"ValidifyStrategy",352,ke,X2e,Yde),hie;b(388,22,{3:1,34:1,22:1,388:1},YD);var Gw,QH,Ov,Zhn=we(Tc,"WrappingStrategy",388,ke,V2e,Zde),lie;b(1398,1,vr,X5n),o.rg=function(e){return u(e,36),aie},o.Kf=function(e,t){OIe(this,u(e,36),t)};var aie;w(SS,"DepthFirstCycleBreaker",1398),b(793,1,vr,dW),o.rg=function(e){return u(e,36),die},o.Kf=function(e,t){$Le(this,u(e,36),t)},o.sg=function(e){return u(sn(e,cA(this.d,e.c.length)),10)};var die;w(SS,"GreedyCycleBreaker",793),b(1401,793,vr,KMn),o.sg=function(e){var t,i,r,c;for(c=null,t=et,r=new C(e);r.a1&&(on(un(v(Hi((Ln(0,e.c.length),u(e.c[0],10))),(cn(),lb))))?HHn(e,this.d,u(this,669)):(Dn(),Yt(e,this.d)),qxn(this.e,e))},o.lg=function(e,t,i,r){var c,s,f,h,l,a,d;for(t!=uPn(i,e.length)&&(s=e[t-(i?1:-1)],HJ(this.f,s,i?(gr(),Jc):(gr(),Vu))),c=e[t][0],d=!r||c.k==(Vn(),Zt),a=If(e[t]),this.vg(a,d,!1,i),f=0,l=new C(a);l.a"),e0?DN(this.a,e[t-1],e[t]):!i&&t1&&(on(un(v(Hi((Ln(0,e.c.length),u(e.c[0],10))),(cn(),lb))))?HHn(e,this.d,this):(Dn(),Yt(e,this.d)),on(un(v(Hi((Ln(0,e.c.length),u(e.c[0],10))),lb)))||qxn(this.e,e))},w(Nu,"ModelOrderBarycenterHeuristic",669),b(1866,1,Ne,q7n),o.Ne=function(e,t){return Oje(this.a,u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Nu,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),b(1423,1,vr,r8n),o.rg=function(e){var t;return u(e,36),t=DC(Pie),Re(t,(Vi(),Oc),(tr(),FP)),t},o.Kf=function(e,t){bge((u(e,36),t))};var Pie;w(Nu,"NoCrossingMinimizer",1423),b(809,413,Mrn,Ez),o.tg=function(e,t,i){var r,c,s,f,h,l,a,d,g,p,m;switch(g=this.g,i.g){case 1:{for(c=0,s=0,d=new C(e.j);d.a1&&(c.j==(tn(),Zn)?this.b[e]=!0:c.j==Wn&&e>0&&(this.b[e-1]=!0))},o.f=0,w(Vh,"AllCrossingsCounter",1861),b(595,1,{},ET),o.b=0,o.d=0,w(Vh,"BinaryIndexedTree",595),b(532,1,{},N7);var tln,II;w(Vh,"CrossingsCounter",532),b(1950,1,Ne,U7n),o.Ne=function(e,t){return Kbe(this.a,u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Vh,"CrossingsCounter/lambda$0$Type",1950),b(1951,1,Ne,G7n),o.Ne=function(e,t){return _be(this.a,u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Vh,"CrossingsCounter/lambda$1$Type",1951),b(1952,1,Ne,z7n),o.Ne=function(e,t){return Hbe(this.a,u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Vh,"CrossingsCounter/lambda$2$Type",1952),b(1953,1,Ne,X7n),o.Ne=function(e,t){return qbe(this.a,u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Vh,"CrossingsCounter/lambda$3$Type",1953),b(1954,1,ie,V7n),o.Cd=function(e){q4e(this.a,u(e,12))},w(Vh,"CrossingsCounter/lambda$4$Type",1954),b(1955,1,De,W7n),o.Mb=function(e){return ble(this.a,u(e,12))},w(Vh,"CrossingsCounter/lambda$5$Type",1955),b(1956,1,ie,J7n),o.Cd=function(e){OMn(this,e)},w(Vh,"CrossingsCounter/lambda$6$Type",1956),b(1957,1,ie,HCn),o.Cd=function(e){var t;k4(),V1(this.b,(t=this.a,u(e,12),t))},w(Vh,"CrossingsCounter/lambda$7$Type",1957),b(839,1,ph,YU),o.Lb=function(e){return k4(),kt(u(e,12),(W(),Xu))},o.Fb=function(e){return this===e},o.Mb=function(e){return k4(),kt(u(e,12),(W(),Xu))},w(Vh,"CrossingsCounter/lambda$8$Type",839),b(1949,1,{},Q7n),w(Vh,"HyperedgeCrossingsCounter",1949),b(478,1,{34:1,478:1},GAn),o.Fd=function(e){return H8e(this,u(e,478))},o.b=0,o.c=0,o.e=0,o.f=0;var jNe=w(Vh,"HyperedgeCrossingsCounter/Hyperedge",478);b(374,1,{34:1,374:1},CM),o.Fd=function(e){return tMe(this,u(e,374))},o.b=0,o.c=0;var Iie=w(Vh,"HyperedgeCrossingsCounter/HyperedgeCorner",374);b(531,22,{3:1,34:1,22:1,531:1},eX);var i9,r9,Oie=we(Vh,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,ke,Gge,e0e),Die;b(1425,1,vr,c8n),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?Lie:null},o.Kf=function(e,t){dke(this,u(e,36),t)};var Lie;w(kr,"InteractiveNodePlacer",1425),b(1426,1,vr,u8n),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?Nie:null},o.Kf=function(e,t){Q9e(this,u(e,36),t)};var Nie,OI,DI;w(kr,"LinearSegmentsNodePlacer",1426),b(261,1,{34:1,261:1},QG),o.Fd=function(e){return The(this,u(e,261))},o.Fb=function(e){var t;return O(e,261)?(t=u(e,261),this.b==t.b):!1},o.Hb=function(){return this.b},o.Ib=function(){return"ls"+ra(this.e)},o.a=0,o.b=0,o.c=-1,o.d=-1,o.g=0;var $ie=w(kr,"LinearSegmentsNodePlacer/LinearSegment",261);b(1428,1,vr,gPn),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?xie:null},o.Kf=function(e,t){TLe(this,u(e,36),t)},o.b=0,o.g=0;var xie;w(kr,"NetworkSimplexPlacer",1428),b(1447,1,Ne,n3n),o.Ne=function(e,t){return jc(u(e,17).a,u(t,17).a)},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(kr,"NetworkSimplexPlacer/0methodref$compare$Type",1447),b(1449,1,Ne,e3n),o.Ne=function(e,t){return jc(u(e,17).a,u(t,17).a)},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(kr,"NetworkSimplexPlacer/1methodref$compare$Type",1449),b(655,1,{655:1},qCn);var ENe=w(kr,"NetworkSimplexPlacer/EdgeRep",655);b(412,1,{412:1},XW),o.b=!1;var CNe=w(kr,"NetworkSimplexPlacer/NodeRep",412);b(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},Zyn),w(kr,"NetworkSimplexPlacer/Path",515),b(1429,1,{},t3n),o.Kb=function(e){return u(e,18).d.i.k},w(kr,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),b(1430,1,De,i3n),o.Mb=function(e){return u(e,273)==(Vn(),Mi)},w(kr,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),b(1431,1,{},r3n),o.Kb=function(e){return u(e,18).d.i},w(kr,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),b(1432,1,De,Y7n),o.Mb=function(e){return PAn(DBn(u(e,10)))},w(kr,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),b(1433,1,De,c3n),o.Mb=function(e){return Cbe(u(e,12))},w(kr,"NetworkSimplexPlacer/lambda$0$Type",1433),b(1434,1,ie,UCn),o.Cd=function(e){c1e(this.a,this.b,u(e,12))},w(kr,"NetworkSimplexPlacer/lambda$1$Type",1434),b(1443,1,ie,Z7n),o.Cd=function(e){OEe(this.a,u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$10$Type",1443),b(1444,1,{},u3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$11$Type",1444),b(1445,1,ie,nkn),o.Cd=function(e){MAe(this.a,u(e,10))},w(kr,"NetworkSimplexPlacer/lambda$12$Type",1445),b(1446,1,{},o3n),o.Kb=function(e){return ko(),Y(u(e,125).e)},w(kr,"NetworkSimplexPlacer/lambda$13$Type",1446),b(1448,1,{},s3n),o.Kb=function(e){return ko(),Y(u(e,125).e)},w(kr,"NetworkSimplexPlacer/lambda$15$Type",1448),b(1450,1,De,f3n),o.Mb=function(e){return ko(),u(e,412).c.k==(Vn(),zt)},w(kr,"NetworkSimplexPlacer/lambda$17$Type",1450),b(1451,1,De,h3n),o.Mb=function(e){return ko(),u(e,412).c.j.c.length>1},w(kr,"NetworkSimplexPlacer/lambda$18$Type",1451),b(1452,1,ie,CIn),o.Cd=function(e){h8e(this.c,this.b,this.d,this.a,u(e,412))},o.c=0,o.d=0,w(kr,"NetworkSimplexPlacer/lambda$19$Type",1452),b(1435,1,{},l3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$2$Type",1435),b(1453,1,ie,ekn),o.Cd=function(e){o1e(this.a,u(e,12))},o.a=0,w(kr,"NetworkSimplexPlacer/lambda$20$Type",1453),b(1454,1,{},a3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$21$Type",1454),b(1455,1,ie,tkn),o.Cd=function(e){v1e(this.a,u(e,10))},w(kr,"NetworkSimplexPlacer/lambda$22$Type",1455),b(1456,1,De,d3n),o.Mb=function(e){return PAn(e)},w(kr,"NetworkSimplexPlacer/lambda$23$Type",1456),b(1457,1,{},b3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$24$Type",1457),b(1458,1,De,ikn),o.Mb=function(e){return Sle(this.a,u(e,10))},w(kr,"NetworkSimplexPlacer/lambda$25$Type",1458),b(1459,1,ie,GCn),o.Cd=function(e){$je(this.a,this.b,u(e,10))},w(kr,"NetworkSimplexPlacer/lambda$26$Type",1459),b(1460,1,De,w3n),o.Mb=function(e){return ko(),!fr(u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$27$Type",1460),b(1461,1,De,g3n),o.Mb=function(e){return ko(),!fr(u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$28$Type",1461),b(1462,1,{},rkn),o.Ve=function(e,t){return u1e(this.a,u(e,30),u(t,30))},w(kr,"NetworkSimplexPlacer/lambda$29$Type",1462),b(1436,1,{},p3n),o.Kb=function(e){return ko(),new Tn(null,new p0(new te(re(Qt(u(e,10)).a.Kc(),new En))))},w(kr,"NetworkSimplexPlacer/lambda$3$Type",1436),b(1437,1,De,m3n),o.Mb=function(e){return ko(),xpe(u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$4$Type",1437),b(1438,1,ie,ckn),o.Cd=function(e){NPe(this.a,u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$5$Type",1438),b(1439,1,{},v3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$6$Type",1439),b(1440,1,De,k3n),o.Mb=function(e){return ko(),u(e,10).k==(Vn(),zt)},w(kr,"NetworkSimplexPlacer/lambda$7$Type",1440),b(1441,1,{},y3n),o.Kb=function(e){return ko(),new Tn(null,new p0(new te(re(Cl(u(e,10)).a.Kc(),new En))))},w(kr,"NetworkSimplexPlacer/lambda$8$Type",1441),b(1442,1,De,j3n),o.Mb=function(e){return ko(),Ebe(u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$9$Type",1442),b(1424,1,vr,o8n),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?Fie:null},o.Kf=function(e,t){bIe(u(e,36),t)};var Fie;w(kr,"SimpleNodePlacer",1424),b(185,1,{185:1},Vg),o.Ib=function(){var e;return e="",this.c==(sh(),mb)?e+=f3:this.c==y1&&(e+=s3),this.o==(Sf(),Rd)?e+=_B:this.o==zf?e+="UP":e+="BALANCED",e},w(aa,"BKAlignedLayout",185),b(523,22,{3:1,34:1,22:1,523:1},tX);var y1,mb,Bie=we(aa,"BKAlignedLayout/HDirection",523,ke,Xge,t0e),Rie;b(522,22,{3:1,34:1,22:1,522:1},iX);var Rd,zf,Kie=we(aa,"BKAlignedLayout/VDirection",522,ke,Vge,i0e),_ie;b(1699,1,{},zCn),w(aa,"BKAligner",1699),b(1702,1,{},iKn),w(aa,"BKCompactor",1702),b(663,1,{663:1},E3n),o.a=0,w(aa,"BKCompactor/ClassEdge",663),b(467,1,{467:1},Jyn),o.a=null,o.b=0,w(aa,"BKCompactor/ClassNode",467),b(1427,1,vr,JCn),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?Hie:null},o.Kf=function(e,t){ULe(this,u(e,36),t)},o.d=!1;var Hie;w(aa,"BKNodePlacer",1427),b(1700,1,{},C3n),o.d=0,w(aa,"NeighborhoodInformation",1700),b(1701,1,Ne,ukn),o.Ne=function(e,t){return mme(this,u(e,42),u(t,42))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(aa,"NeighborhoodInformation/NeighborComparator",1701),b(823,1,{}),w(aa,"ThresholdStrategy",823),b(1825,823,{},Qyn),o.wg=function(e,t,i){return this.a.o==(Sf(),zf)?St:li},o.xg=function(){},w(aa,"ThresholdStrategy/NullThresholdStrategy",1825),b(587,1,{587:1},QCn),o.c=!1,o.d=!1,w(aa,"ThresholdStrategy/Postprocessable",587),b(1826,823,{},Yyn),o.wg=function(e,t,i){var r,c,s;return c=t==i,r=this.a.a[i.p]==t,c||r?(s=e,this.a.c==(sh(),mb)?(c&&(s=KF(this,t,!0)),!isNaN(s)&&!isFinite(s)&&r&&(s=KF(this,i,!1))):(c&&(s=KF(this,t,!0)),!isNaN(s)&&!isFinite(s)&&r&&(s=KF(this,i,!1))),s):e},o.xg=function(){for(var e,t,i,r,c;this.d.b!=0;)c=u(f2e(this.d),587),r=PUn(this,c),r.a&&(e=r.a,i=on(this.a.f[this.a.g[c.b.p].p]),!(!i&&!fr(e)&&e.c.i.c==e.d.i.c)&&(t=NHn(this,c),t||Ole(this.e,c)));for(;this.e.a.c.length!=0;)NHn(this,u($Fn(this.e),587))},w(aa,"ThresholdStrategy/SimpleThresholdStrategy",1826),b(645,1,{645:1,188:1,196:1},M3n),o.dg=function(){return Uxn(this)},o.qg=function(){return Uxn(this)};var YH;w(RR,"EdgeRouterFactory",645),b(1485,1,vr,s8n),o.rg=function(e){return eAe(u(e,36))},o.Kf=function(e,t){kIe(u(e,36),t)};var qie,Uie,Gie,zie,Xie,iln,Vie,Wie;w(RR,"OrthogonalEdgeRouter",1485),b(1478,1,vr,WCn),o.rg=function(e){return Eke(u(e,36))},o.Kf=function(e,t){UDe(this,u(e,36),t)};var Jie,Qie,Yie,Zie,Dj,nre;w(RR,"PolylineEdgeRouter",1478),b(1479,1,ph,A3n),o.Lb=function(e){return UQ(u(e,10))},o.Fb=function(e){return this===e},o.Mb=function(e){return UQ(u(e,10))},w(RR,"PolylineEdgeRouter/1",1479),b(1872,1,De,S3n),o.Mb=function(e){return u(e,132).c==(lf(),ja)},w(pf,"HyperEdgeCycleDetector/lambda$0$Type",1872),b(1873,1,{},P3n),o.Ze=function(e){return u(e,132).d},w(pf,"HyperEdgeCycleDetector/lambda$1$Type",1873),b(1874,1,De,I3n),o.Mb=function(e){return u(e,132).c==(lf(),ja)},w(pf,"HyperEdgeCycleDetector/lambda$2$Type",1874),b(1875,1,{},O3n),o.Ze=function(e){return u(e,132).d},w(pf,"HyperEdgeCycleDetector/lambda$3$Type",1875),b(1876,1,{},D3n),o.Ze=function(e){return u(e,132).d},w(pf,"HyperEdgeCycleDetector/lambda$4$Type",1876),b(1877,1,{},T3n),o.Ze=function(e){return u(e,132).d},w(pf,"HyperEdgeCycleDetector/lambda$5$Type",1877),b(118,1,{34:1,118:1},Ek),o.Fd=function(e){return Ahe(this,u(e,118))},o.Fb=function(e){var t;return O(e,118)?(t=u(e,118),this.g==t.g):!1},o.Hb=function(){return this.g},o.Ib=function(){var e,t,i,r;for(e=new mo("{"),r=new C(this.n);r.a"+this.b+" ("+z1e(this.c)+")"},o.d=0,w(pf,"HyperEdgeSegmentDependency",132),b(528,22,{3:1,34:1,22:1,528:1},rX);var ja,zw,ere=we(pf,"HyperEdgeSegmentDependency/DependencyType",528,ke,Wge,r0e),tre;b(1878,1,{},okn),w(pf,"HyperEdgeSegmentSplitter",1878),b(1879,1,{},Zjn),o.a=0,o.b=0,w(pf,"HyperEdgeSegmentSplitter/AreaRating",1879),b(339,1,{339:1},KL),o.a=0,o.b=0,o.c=0,w(pf,"HyperEdgeSegmentSplitter/FreeArea",339),b(1880,1,Ne,L3n),o.Ne=function(e,t){return zae(u(e,118),u(t,118))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(pf,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),b(1881,1,ie,MIn),o.Cd=function(e){k3e(this.a,this.d,this.c,this.b,u(e,118))},o.b=0,w(pf,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),b(1882,1,{},N3n),o.Kb=function(e){return new Tn(null,new In(u(e,118).e,16))},w(pf,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),b(1883,1,{},$3n),o.Kb=function(e){return new Tn(null,new In(u(e,118).j,16))},w(pf,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),b(1884,1,{},x3n),o.Ye=function(e){return $(R(e))},w(pf,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),b(664,1,{},lN),o.a=0,o.b=0,o.c=0,w(pf,"OrthogonalRoutingGenerator",664),b(1703,1,{},F3n),o.Kb=function(e){return new Tn(null,new In(u(e,118).e,16))},w(pf,"OrthogonalRoutingGenerator/lambda$0$Type",1703),b(1704,1,{},B3n),o.Kb=function(e){return new Tn(null,new In(u(e,118).j,16))},w(pf,"OrthogonalRoutingGenerator/lambda$1$Type",1704),b(670,1,{}),w(KR,"BaseRoutingDirectionStrategy",670),b(1870,670,{},tjn),o.yg=function(e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j;if(!(e.r&&!e.q))for(d=t+e.o*i,a=new C(e.n);a.avh&&(s=d,c=e,r=new V(g,s),xe(f.a,r),q0(this,f,c,r,!1),p=e.r,p&&(m=$(R(Zo(p.e,0))),r=new V(m,s),xe(f.a,r),q0(this,f,c,r,!1),s=t+p.o*i,c=p,r=new V(m,s),xe(f.a,r),q0(this,f,c,r,!1)),r=new V(j,s),xe(f.a,r),q0(this,f,c,r,!1)))},o.zg=function(e){return e.i.n.a+e.n.a+e.a.a},o.Ag=function(){return tn(),ae},o.Bg=function(){return tn(),Xn},w(KR,"NorthToSouthRoutingStrategy",1870),b(1871,670,{},ijn),o.yg=function(e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j;if(!(e.r&&!e.q))for(d=t-e.o*i,a=new C(e.n);a.avh&&(s=d,c=e,r=new V(g,s),xe(f.a,r),q0(this,f,c,r,!1),p=e.r,p&&(m=$(R(Zo(p.e,0))),r=new V(m,s),xe(f.a,r),q0(this,f,c,r,!1),s=t-p.o*i,c=p,r=new V(m,s),xe(f.a,r),q0(this,f,c,r,!1)),r=new V(j,s),xe(f.a,r),q0(this,f,c,r,!1)))},o.zg=function(e){return e.i.n.a+e.n.a+e.a.a},o.Ag=function(){return tn(),Xn},o.Bg=function(){return tn(),ae},w(KR,"SouthToNorthRoutingStrategy",1871),b(1869,670,{},rjn),o.yg=function(e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j;if(!(e.r&&!e.q))for(d=t+e.o*i,a=new C(e.n);a.avh&&(s=d,c=e,r=new V(s,g),xe(f.a,r),q0(this,f,c,r,!0),p=e.r,p&&(m=$(R(Zo(p.e,0))),r=new V(s,m),xe(f.a,r),q0(this,f,c,r,!0),s=t+p.o*i,c=p,r=new V(s,m),xe(f.a,r),q0(this,f,c,r,!0)),r=new V(s,j),xe(f.a,r),q0(this,f,c,r,!0)))},o.zg=function(e){return e.i.n.b+e.n.b+e.a.b},o.Ag=function(){return tn(),Zn},o.Bg=function(){return tn(),Wn},w(KR,"WestToEastRoutingStrategy",1869),b(828,1,{},Hen),o.Ib=function(){return ra(this.a)},o.b=0,o.c=!1,o.d=!1,o.f=0,w(jw,"NubSpline",828),b(418,1,{418:1},dqn,iOn),w(jw,"NubSpline/PolarCP",418),b(1480,1,vr,WRn),o.rg=function(e){return aye(u(e,36))},o.Kf=function(e,t){fLe(this,u(e,36),t)};var ire,rre,cre,ure,ore;w(jw,"SplineEdgeRouter",1480),b(274,1,{274:1},XM),o.Ib=function(){return this.a+" ->("+this.c+") "+this.b},o.c=0,w(jw,"SplineEdgeRouter/Dependency",274),b(465,22,{3:1,34:1,22:1,465:1},cX);var Ea,P2,sre=we(jw,"SplineEdgeRouter/SideToProcess",465,ke,e2e,c0e),fre;b(1481,1,De,R3n),o.Mb=function(e){return _5(),!u(e,131).o},w(jw,"SplineEdgeRouter/lambda$0$Type",1481),b(1482,1,{},K3n),o.Ze=function(e){return _5(),u(e,131).v+1},w(jw,"SplineEdgeRouter/lambda$1$Type",1482),b(1483,1,ie,YCn),o.Cd=function(e){Abe(this.a,this.b,u(e,42))},w(jw,"SplineEdgeRouter/lambda$2$Type",1483),b(1484,1,ie,ZCn),o.Cd=function(e){Sbe(this.a,this.b,u(e,42))},w(jw,"SplineEdgeRouter/lambda$3$Type",1484),b(131,1,{34:1,131:1},A_n,Ven),o.Fd=function(e){return Ihe(this,u(e,131))},o.b=0,o.e=!1,o.f=0,o.g=0,o.j=!1,o.k=!1,o.n=0,o.o=!1,o.p=!1,o.q=!1,o.s=0,o.u=0,o.v=0,o.F=0,w(jw,"SplineSegment",131),b(468,1,{468:1},_3n),o.a=0,o.b=!1,o.c=!1,o.d=!1,o.e=!1,o.f=0,w(jw,"SplineSegment/EdgeInformation",468),b(1198,1,{},H3n),w(Ll,Gtn,1198),b(1199,1,Ne,q3n),o.Ne=function(e,t){return VEe(u(e,121),u(t,121))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ll,EXn,1199),b(1197,1,{},wEn),w(Ll,"MrTree",1197),b(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},pC),o.dg=function(){return V_n(this)},o.qg=function(){return V_n(this)};var LI,c9,u9,o9,rln=we(Ll,"TreeLayoutPhases",405,ke,i3e,u0e),hre;b(1112,205,yd,qAn),o.rf=function(e,t){var i,r,c,s,f,h,l,a;for(on(un(z(e,(lc(),Pln))))||W7((i=new Vv((c0(),new Qd(e))),i)),f=t.eh(qR),f.Ug("build tGraph",1),h=(l=new rk,Ur(l,e),U(l,(pt(),f9),e),a=new de,KSe(e,l,a),cPe(e,l,a),l),f.Vg(),f=t.eh(qR),f.Ug("Split graph",1),s=zSe(this.a,h),f.Vg(),c=new C(s);c.a"+td(this.c):"e_"+mt(this)},w(d8,"TEdge",65),b(121,137,{3:1,121:1,96:1,137:1},rk),o.Ib=function(){var e,t,i,r,c;for(c=null,r=ge(this.b,0);r.b!=r.d.c;)i=u(be(r),40),c+=(i.c==null||i.c.length==0?"n_"+i.g:"n_"+i.c)+` +`;for(t=ge(this.a,0);t.b!=t.d.c;)e=u(be(t),65),c+=(e.b&&e.c?td(e.b)+"->"+td(e.c):"e_"+mt(e))+` +`;return c};var MNe=w(d8,"TGraph",121);b(643,508,{3:1,508:1,643:1,96:1,137:1}),w(d8,"TShape",643),b(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},q$),o.Ib=function(){return td(this)};var NI=w(d8,"TNode",40);b(236,1,qh,sl),o.Jc=function(e){qi(this,e)},o.Kc=function(){var e;return e=ge(this.a.d,0),new sg(e)},w(d8,"TNode/2",236),b(329,1,Si,sg),o.Nb=function(e){_i(this,e)},o.Pb=function(){return u(be(this.a),65).c},o.Ob=function(){return Z9(this.a)},o.Qb=function(){p$(this.a)},w(d8,"TNode/2/1",329),b(1923,1,vt,J3n),o.Kf=function(e,t){RLe(this,u(e,121),t)},w(Rc,"CompactionProcessor",1923),b(1924,1,Ne,akn),o.Ne=function(e,t){return Tve(this.a,u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$0$Type",1924),b(1925,1,De,eMn),o.Mb=function(e){return Dge(this.b,this.a,u(e,42))},o.a=0,o.b=0,w(Rc,"CompactionProcessor/lambda$1$Type",1925),b(1934,1,Ne,Q3n),o.Ne=function(e,t){return Ewe(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$10$Type",1934),b(1935,1,Ne,Y3n),o.Ne=function(e,t){return F1e(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$11$Type",1935),b(1936,1,Ne,Z3n),o.Ne=function(e,t){return Cwe(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$12$Type",1936),b(1926,1,De,dkn),o.Mb=function(e){return k1e(this.a,u(e,42))},o.a=0,w(Rc,"CompactionProcessor/lambda$2$Type",1926),b(1927,1,De,bkn),o.Mb=function(e){return y1e(this.a,u(e,42))},o.a=0,w(Rc,"CompactionProcessor/lambda$3$Type",1927),b(1928,1,De,n4n),o.Mb=function(e){return u(e,40).c.indexOf(IS)==-1},w(Rc,"CompactionProcessor/lambda$4$Type",1928),b(1929,1,{},wkn),o.Kb=function(e){return Npe(this.a,u(e,40))},o.a=0,w(Rc,"CompactionProcessor/lambda$5$Type",1929),b(1930,1,{},gkn),o.Kb=function(e){return H4e(this.a,u(e,40))},o.a=0,w(Rc,"CompactionProcessor/lambda$6$Type",1930),b(1931,1,Ne,pkn),o.Ne=function(e,t){return Z3e(this.a,u(e,240),u(t,240))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$7$Type",1931),b(1932,1,Ne,mkn),o.Ne=function(e,t){return n4e(this.a,u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$8$Type",1932),b(1933,1,Ne,e4n),o.Ne=function(e,t){return B1e(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$9$Type",1933),b(1921,1,vt,t4n),o.Kf=function(e,t){$Ae(u(e,121),t)},w(Rc,"DirectionProcessor",1921),b(1913,1,vt,HAn),o.Kf=function(e,t){iPe(this,u(e,121),t)},w(Rc,"FanProcessor",1913),b(1937,1,vt,i4n),o.Kf=function(e,t){EAe(u(e,121),t)},w(Rc,"GraphBoundsProcessor",1937),b(1938,1,{},r4n),o.Ye=function(e){return u(e,40).e.a},w(Rc,"GraphBoundsProcessor/lambda$0$Type",1938),b(1939,1,{},c4n),o.Ye=function(e){return u(e,40).e.b},w(Rc,"GraphBoundsProcessor/lambda$1$Type",1939),b(1940,1,{},u4n),o.Ye=function(e){return ile(u(e,40))},w(Rc,"GraphBoundsProcessor/lambda$2$Type",1940),b(1941,1,{},o4n),o.Ye=function(e){return tle(u(e,40))},w(Rc,"GraphBoundsProcessor/lambda$3$Type",1941),b(262,22,{3:1,34:1,22:1,262:1,196:1},u0),o.dg=function(){switch(this.g){case 0:return new mjn;case 1:return new HAn;case 2:return new pjn;case 3:return new a4n;case 4:return new f4n;case 8:return new s4n;case 5:return new t4n;case 6:return new b4n;case 7:return new J3n;case 9:return new i4n;case 10:return new w4n;default:throw M(new Gn(cR+(this.f!=null?this.f:""+this.g)))}};var cln,uln,oln,sln,fln,hln,lln,aln,dln,bln,ZH,TNe=we(Rc,uR,262,ke,xxn,o0e),lre;b(1920,1,vt,s4n),o.Kf=function(e,t){xDe(u(e,121),t)},w(Rc,"LevelCoordinatesProcessor",1920),b(1918,1,vt,f4n),o.Kf=function(e,t){iTe(this,u(e,121),t)},o.a=0,w(Rc,"LevelHeightProcessor",1918),b(1919,1,qh,h4n),o.Jc=function(e){qi(this,e)},o.Kc=function(){return Dn(),l4(),fv},w(Rc,"LevelHeightProcessor/1",1919),b(1914,1,vt,pjn),o.Kf=function(e,t){pAe(this,u(e,121),t)},w(Rc,"LevelProcessor",1914),b(1915,1,De,l4n),o.Mb=function(e){return on(un(v(u(e,40),(pt(),Ca))))},w(Rc,"LevelProcessor/lambda$0$Type",1915),b(1916,1,vt,a4n),o.Kf=function(e,t){nEe(this,u(e,121),t)},o.a=0,w(Rc,"NeighborsProcessor",1916),b(1917,1,qh,d4n),o.Jc=function(e){qi(this,e)},o.Kc=function(){return Dn(),l4(),fv},w(Rc,"NeighborsProcessor/1",1917),b(1922,1,vt,b4n),o.Kf=function(e,t){tPe(this,u(e,121),t)},o.a=0,w(Rc,"NodePositionProcessor",1922),b(1912,1,vt,mjn),o.Kf=function(e,t){BIe(this,u(e,121),t)},w(Rc,"RootProcessor",1912),b(1942,1,vt,w4n),o.Kf=function(e,t){N9e(u(e,121),t)},w(Rc,"Untreeifyer",1942),b(392,22,{3:1,34:1,22:1,392:1},eL);var Lj,nq,wln,gln=we(Gy,"EdgeRoutingMode",392,ke,J2e,s0e),are,Nj,Dv,eq,pln,mln,tq,iq,vln,rq,kln,cq,s9,uq,$I,xI,Ws,yf,Lv,f9,h9,j1,yln,dre,oq,Ca,$j,xj;b(862,1,ps,f8n),o.hf=function(e){vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Srn),""),wVn),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(_n(),!1)),(l1(),yi)),Gt),yn((gf(),xn))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Prn),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Irn),""),"Tree Level"),"The index for the tree level the node is in"),Y(0)),Zr),Gi),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Orn),""),wVn),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),Y(-1)),Zr),Gi),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Drn),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),Cln),Pt),xln),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Lrn),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),jln),Pt),gln),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Nrn),""),"Search Order"),"Which search order to use when computing a spanning tree."),Eln),Pt),Bln),yn(xn)))),rzn((new a8n,e))};var bre,wre,gre,jln,pre,mre,Eln,vre,kre,Cln;w(Gy,"MrTreeMetaDataProvider",862),b(1006,1,ps,a8n),o.hf=function(e){rzn(e)};var yre,Mln,Tln,vb,Aln,Sln,sq,jre,Ere,Cre,Mre,Tre,Are,Sre,Pln,Iln,Oln,Pre,I2,FI,Dln,Ire,Lln,fq,Ore,Dre,Lre,Nln,Nre,Sh,$ln;w(Gy,"MrTreeOptions",1006),b(1007,1,{},g4n),o.sf=function(){var e;return e=new qAn,e},o.tf=function(e){},w(Gy,"MrTreeOptions/MrtreeFactory",1007),b(353,22,{3:1,34:1,22:1,353:1},mC);var hq,BI,lq,aq,xln=we(Gy,"OrderWeighting",353,ke,r3e,f0e),$re;b(433,22,{3:1,34:1,22:1,433:1},uX);var Fln,dq,Bln=we(Gy,"TreeifyingOrder",433,ke,Zge,h0e),xre;b(1486,1,vr,d8n),o.rg=function(e){return u(e,121),Fre},o.Kf=function(e,t){bve(this,u(e,121),t)};var Fre;w("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),b(1487,1,vr,b8n),o.rg=function(e){return u(e,121),Bre},o.Kf=function(e,t){yAe(this,u(e,121),t)};var Bre;w(Jm,"NodeOrderer",1487),b(1494,1,{},_se),o.td=function(e){return WSn(e)},w(Jm,"NodeOrderer/0methodref$lambda$6$Type",1494),b(1488,1,De,D4n),o.Mb=function(e){return _p(),on(un(v(u(e,40),(pt(),Ca))))},w(Jm,"NodeOrderer/lambda$0$Type",1488),b(1489,1,De,L4n),o.Mb=function(e){return _p(),u(v(u(e,40),(lc(),I2)),17).a<0},w(Jm,"NodeOrderer/lambda$1$Type",1489),b(1490,1,De,kkn),o.Mb=function(e){return qme(this.a,u(e,40))},w(Jm,"NodeOrderer/lambda$2$Type",1490),b(1491,1,De,vkn),o.Mb=function(e){return Fpe(this.a,u(e,40))},w(Jm,"NodeOrderer/lambda$3$Type",1491),b(1492,1,Ne,N4n),o.Ne=function(e,t){return ame(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Jm,"NodeOrderer/lambda$4$Type",1492),b(1493,1,De,$4n),o.Mb=function(e){return _p(),u(v(u(e,40),(pt(),iq)),17).a!=0},w(Jm,"NodeOrderer/lambda$5$Type",1493),b(1495,1,vr,l8n),o.rg=function(e){return u(e,121),Rre},o.Kf=function(e,t){PSe(this,u(e,121),t)},o.b=0;var Rre;w("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),b(1496,1,vr,h8n),o.rg=function(e){return u(e,121),Kre},o.Kf=function(e,t){lSe(u(e,121),t)};var Kre,ANe=w(po,"EdgeRouter",1496);b(1498,1,Ne,O4n),o.Ne=function(e,t){return jc(u(e,17).a,u(t,17).a)},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/0methodref$compare$Type",1498),b(1503,1,{},m4n),o.Ye=function(e){return $(R(e))},w(po,"EdgeRouter/1methodref$doubleValue$Type",1503),b(1505,1,Ne,v4n),o.Ne=function(e,t){return bt($(R(e)),$(R(t)))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/2methodref$compare$Type",1505),b(1507,1,Ne,k4n),o.Ne=function(e,t){return bt($(R(e)),$(R(t)))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/3methodref$compare$Type",1507),b(1509,1,{},p4n),o.Ye=function(e){return $(R(e))},w(po,"EdgeRouter/4methodref$doubleValue$Type",1509),b(1511,1,Ne,y4n),o.Ne=function(e,t){return bt($(R(e)),$(R(t)))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/5methodref$compare$Type",1511),b(1513,1,Ne,j4n),o.Ne=function(e,t){return bt($(R(e)),$(R(t)))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/6methodref$compare$Type",1513),b(1497,1,{},E4n),o.Kb=function(e){return kl(),u(v(u(e,40),(lc(),Sh)),17)},w(po,"EdgeRouter/lambda$0$Type",1497),b(1508,1,{},C4n),o.Kb=function(e){return Q1e(u(e,40))},w(po,"EdgeRouter/lambda$11$Type",1508),b(1510,1,{},tMn),o.Kb=function(e){return Mbe(this.b,this.a,u(e,40))},o.a=0,o.b=0,w(po,"EdgeRouter/lambda$13$Type",1510),b(1512,1,{},iMn),o.Kb=function(e){return Y1e(this.b,this.a,u(e,40))},o.a=0,o.b=0,w(po,"EdgeRouter/lambda$15$Type",1512),b(1514,1,Ne,M4n),o.Ne=function(e,t){return h9e(u(e,65),u(t,65))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$17$Type",1514),b(1515,1,Ne,T4n),o.Ne=function(e,t){return l9e(u(e,65),u(t,65))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$18$Type",1515),b(1516,1,Ne,A4n),o.Ne=function(e,t){return d9e(u(e,65),u(t,65))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$19$Type",1516),b(1499,1,De,ykn),o.Mb=function(e){return b2e(this.a,u(e,40))},o.a=0,w(po,"EdgeRouter/lambda$2$Type",1499),b(1517,1,Ne,S4n),o.Ne=function(e,t){return a9e(u(e,65),u(t,65))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$20$Type",1517),b(1500,1,Ne,P4n),o.Ne=function(e,t){return lbe(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$3$Type",1500),b(1501,1,Ne,I4n),o.Ne=function(e,t){return abe(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$4$Type",1501),b(1502,1,{},x4n),o.Kb=function(e){return Z1e(u(e,40))},w(po,"EdgeRouter/lambda$5$Type",1502),b(1504,1,{},rMn),o.Kb=function(e){return Tbe(this.b,this.a,u(e,40))},o.a=0,o.b=0,w(po,"EdgeRouter/lambda$7$Type",1504),b(1506,1,{},cMn),o.Kb=function(e){return nae(this.b,this.a,u(e,40))},o.a=0,o.b=0,w(po,"EdgeRouter/lambda$9$Type",1506),b(675,1,{675:1},FRn),o.e=0,o.f=!1,o.g=!1,w(po,"MultiLevelEdgeNodeNodeGap",675),b(1943,1,Ne,F4n),o.Ne=function(e,t){return C2e(u(e,240),u(t,240))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),b(1944,1,Ne,B4n),o.Ne=function(e,t){return M2e(u(e,240),u(t,240))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var O2;b(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},oX),o.dg=function(){return EBn(this)},o.qg=function(){return EBn(this)};var RI,D2,Rln=we($rn,"RadialLayoutPhases",501,ke,zge,l0e),_re;b(1113,205,yd,bEn),o.rf=function(e,t){var i,r,c,s,f,h;if(i=sqn(this,e),t.Ug("Radial layout",i.c.length),on(un(z(e,(ua(),Jln))))||W7((r=new Vv((c0(),new Qd(e))),r)),h=wye(e),ht(e,(Mg(),O2),h),!h)throw M(new Gn("The given graph is not a tree!"));for(c=$(R(z(e,HI))),c==0&&(c=H_n(e)),ht(e,HI,c),f=new C(sqn(this,e));f.a=3)for(X=u(L(N,0),27),en=u(L(N,1),27),s=0;s+2=X.f+en.f+d||en.f>=H.f+X.f+d){jn=!0;break}else++s;else jn=!0;if(!jn){for(p=N.i,h=new ne(N);h.e!=h.i.gc();)f=u(ce(h),27),ht(f,(qe(),Jj),Y(p)),--p;BUn(e,new up),t.Vg();return}for(i=(U7(this.a),ff(this.a,(XT(),Bj),u(z(e,M1n),188)),ff(this.a,qI,u(z(e,v1n),188)),ff(this.a,Mq,u(z(e,j1n),188)),MX(this.a,(Rn=new ii,Re(Rn,Bj,(rA(),Sq)),Re(Rn,qI,Aq),on(un(z(e,p1n)))&&Re(Rn,Bj,Tq),Rn)),gy(this.a,e)),a=1/i.c.length,k=new C(i);k.a0&&XFn((zn(t-1,e.length),e.charCodeAt(t-1)),NXn);)--t;if(r>=t)throw M(new Gn("The given string does not contain any numbers."));if(c=ww((Fi(r,t,e.length),e.substr(r,t-r)),`,|;|\r| +`),c.length!=2)throw M(new Gn("Exactly two numbers are expected, "+c.length+" were found."));try{this.a=sw(fw(c[0])),this.b=sw(fw(c[1]))}catch(s){throw s=It(s),O(s,130)?(i=s,M(new Gn($Xn+i))):M(s)}},o.Ib=function(){return"("+this.a+","+this.b+")"},o.a=0,o.b=0;var Ei=w(Ky,"KVector",8);b(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},Mu,GE,aAn),o.Pc=function(){return O6e(this)},o.cg=function(e){var t,i,r,c,s,f;r=ww(e,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),vo(this);try{for(i=0,s=0,c=0,f=0;i0&&(s%2==0?c=sw(r[i]):f=sw(r[i]),s>0&&s%2!=0&&xe(this,new V(c,f)),++s),++i}catch(h){throw h=It(h),O(h,130)?(t=h,M(new Gn("The given string does not match the expected format for vectors."+t))):M(h)}},o.Ib=function(){var e,t,i;for(e=new mo("("),t=ge(this,0);t.b!=t.d.c;)i=u(be(t),8),Be(e,i.a+","+i.b),t.b!=t.d.c&&(e.a+="; ");return(e.a+=")",e).a};var san=w(Ky,"KVectorChain",75);b(255,22,{3:1,34:1,22:1,255:1},k6);var Vq,ZI,nO,qj,Uj,eO,fan=we(uo,"Alignment",255,ke,S4e,$0e),yue;b(991,1,ps,E8n),o.hf=function(e){yUn(e)};var han,Wq,jue,lan,aan,Eue,dan,Cue,Mue,ban,wan,Tue;w(uo,"BoxLayouterOptions",991),b(992,1,{},zmn),o.sf=function(){var e;return e=new Wmn,e},o.tf=function(e){},w(uo,"BoxLayouterOptions/BoxFactory",992),b(298,22,{3:1,34:1,22:1,298:1},y6);var m9,Jq,v9,k9,y9,Qq,Yq=we(uo,"ContentAlignment",298,ke,P4e,x0e),Aue;b(699,1,ps,cG),o.hf=function(e){vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,xVn),""),"Layout Algorithm"),"Select a specific layout algorithm."),(l1(),N2)),fn),yn((gf(),xn))))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,FVn),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),Xf),INe),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,rrn),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),gan),Pt),fan),yn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,l3),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,pcn),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),Xf),san),yn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,MS),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),man),L3),Yq),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Uy),""),"Debug Mode"),"Whether additional debug information shall be generated."),(_n(),!1)),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,xR),""),Btn),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),van),Pt),E9),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,qy),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),jan),Pt),aU),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,wcn),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,CS),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),Man),Pt),ldn),yt(xn,S(T(Zh,1),G,170,0,[pi]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,W0),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),Nan),Xf),$on),yt(xn,S(T(Zh,1),G,170,0,[pi]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,u8),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,AS),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,o8),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,tR),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),Ran),Pt),bdn),yn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,TS),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),Xf),Ei),yt(pi,S(T(Zh,1),G,170,0,[Kd,E1]))))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,Ny),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),Zr),Gi),yt(pi,S(T(Zh,1),G,170,0,[Ph]))))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,uS),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),Zr),Gi),yn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,c8),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,wrn),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),Tan),Xf),san),yn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,mrn),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),yi),Gt),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vrn),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),yi),Gt),yn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,iNe),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),Xf),$Ne),yt(xn,S(T(Zh,1),G,170,0,[E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,yrn),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),Aan),Xf),Non),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,trn),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),yi),Gt),yt(pi,S(T(Zh,1),G,170,0,[Ph,Kd,E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,BVn),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),Qi),si),yn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,RVn),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,KVn),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,$y),""),OVn),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),yi),Gt),yn(xn)))),ri(e,$y,J0,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,_Vn),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,HVn),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),Y(100)),Zr),Gi),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,qVn),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,UVn),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),Y(4e3)),Zr),Gi),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,GVn),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),Y(400)),Zr),Gi),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,zVn),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,XVn),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,VVn),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,WVn),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,gcn),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),pan),Pt),Cdn),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Gin),Hf),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,zin),Hf),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,WB),Hf),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Xin),Hf),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,eR),Hf),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,$R),Hf),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Vin),Hf),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Qin),Hf),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Win),Hf),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Jin),Hf),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,yw),Hf),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Yin),Hf),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),Qi),si),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Zin),Hf),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),Qi),si),yt(xn,S(T(Zh,1),G,170,0,[pi]))))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,nrn),Hf),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),Xf),boe),yt(pi,S(T(Zh,1),G,170,0,[Ph,Kd,E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,jrn),Hf),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),Jan),Xf),Non),yn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,BR),YVn),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),Zr),Gi),yt(xn,S(T(Zh,1),G,170,0,[pi]))))),ri(e,BR,FR,xue),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,FR),YVn),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),$an),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,orn),ZVn),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),Pan),Xf),$on),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Xm),ZVn),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),Ian),L3),yr),yt(pi,S(T(Zh,1),G,170,0,[E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,hrn),FS),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),Fan),Pt),A9),yn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,lrn),FS),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),Pt),A9),yn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,arn),FS),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),Pt),A9),yn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,drn),FS),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),Pt),A9),yn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,brn),FS),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),Pt),A9),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,i2),uK),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),Oan),L3),I9),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,a3),uK),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),Lan),L3),gdn),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,d3),uK),"Node Size Minimum"),"The minimal size to which a node can be reduced."),Dan),Xf),Ei),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,zm),uK),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),yi),Gt),yn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,grn),NR),"Edge Label Placement"),"Gives a hint on where to put edge labels."),kan),Pt),Zan),yn(E1)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,oS),NR),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),yi),Gt),yn(E1)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,rNe),"font"),"Font Name"),"Font name used for a label."),N2),fn),yn(E1)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,JVn),"font"),"Font Size"),"Font size used for a label."),Zr),Gi),yn(E1)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,krn),oK),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),Xf),Ei),yn(Kd)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,prn),oK),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),Zr),Gi),yn(Kd)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,irn),oK),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),Han),Pt),lr),yn(Kd)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,ern),oK),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),Qi),si),yn(Kd)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Vm),kcn),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),Kan),L3),oO),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,srn),kcn),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),yi),Gt),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,frn),kcn),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),yi),Gt),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,xy),Xy),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),Qi),si),yn(xn)))),ri(e,xy,J0,Uue),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,mcn),Xy),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),Pt),dO),yn(pi)))),ri(e,mcn,J0,Gue),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Fy),Xy),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),Qi),si),yt(xn,S(T(Zh,1),G,170,0,[pi]))))),ri(e,Fy,J0,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,By),Xy),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),Qi),si),yt(xn,S(T(Zh,1),G,170,0,[pi]))))),ri(e,By,J0,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,J0),Xy),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),Pt),mdn),yn(pi)))),ri(e,J0,zm,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vcn),Xy),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),Qi),si),yn(xn)))),ri(e,vcn,J0,que),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,crn),nWn),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),yi),Gt),yn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,urn),nWn),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),yi),Gt),yn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,JB),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),Qi),si),yn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,QVn),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),Can),Pt),cdn),yn(Ph)))),h6(e,new Np(c6(u4(c4(new ep,Yn),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),h6(e,new Np(c6(u4(c4(new ep,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),h6(e,new Np(c6(u4(c4(new ep,cu),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),h6(e,new Np(c6(u4(c4(new ep,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),h6(e,new Np(c6(u4(c4(new ep,gVn),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),h6(e,new Np(c6(u4(c4(new ep,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),h6(e,new Np(c6(u4(c4(new ep,es),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),uUn((new C8n,e)),yUn((new E8n,e)),Nqn((new M8n,e))};var $v,Sue,gan,$2,Pue,Iue,pan,x2,F2,Oue,Gj,man,zj,_d,van,Zq,nU,kan,yan,jan,Ean,Can,Due,B2,Man,Lue,Xj,eU,Vj,tU,kb,Tan,xv,Aan,San,Pan,R2,Ian,Hd,Oan,Vw,K2,Dan,Ma,Lan,tO,Wj,C1,Nan,Nue,$an,$ue,xue,xan,Fan,iU,rU,cU,uU,Ban,oo,j9,Ran,oU,sU,Ww,Kan,_an,_2,Han,N3,Jj,fU,H2,Fue,hU,Bue,Rue,qan,Kue,Uan,Gan,$3,zan,iO,Xan,Van,qd,_ue,Wan,Jan,Qan,rO,Qj,Fv,x3,Hue,que,cO,Uue,Yan,Gue;w(uo,"CoreOptions",699),b(88,22,{3:1,34:1,22:1,88:1},v7);var Vf,Br,Xr,Wf,us,E9=we(uo,Btn,88,ke,L3e,F0e),zue;b(278,22,{3:1,34:1,22:1,278:1},fL);var Bv,Jw,Rv,Zan=we(uo,"EdgeLabelPlacement",278,ke,spe,B0e),Xue;b(223,22,{3:1,34:1,22:1,223:1},kC);var Kv,Yj,F3,lU,aU=we(uo,"EdgeRouting",223,ke,s3e,R0e),Vue;b(321,22,{3:1,34:1,22:1,321:1},j6);var ndn,edn,tdn,idn,dU,rdn,cdn=we(uo,"EdgeType",321,ke,A4e,K0e),Wue;b(989,1,ps,C8n),o.hf=function(e){uUn(e)};var udn,odn,sdn,fdn,Jue,hdn,C9;w(uo,"FixedLayouterOptions",989),b(990,1,{},Xmn),o.sf=function(){var e;return e=new rvn,e},o.tf=function(e){},w(uo,"FixedLayouterOptions/FixedFactory",990),b(346,22,{3:1,34:1,22:1,346:1},hL);var M1,uO,M9,ldn=we(uo,"HierarchyHandling",346,ke,upe,_0e),Que;b(291,22,{3:1,34:1,22:1,291:1},yC);var nl,Ta,Zj,nE,Yue=we(uo,"LabelSide",291,ke,o3e,H0e),Zue;b(95,22,{3:1,34:1,22:1,95:1},dg);var xl,Js,Es,Qs,Lo,Ys,Cs,el,Zs,yr=we(uo,"NodeLabelPlacement",95,ke,Sme,q0e),noe;b(256,22,{3:1,34:1,22:1,256:1},k7);var adn,T9,Aa,ddn,eE,A9=we(uo,"PortAlignment",256,ke,V3e,U0e),eoe;b(101,22,{3:1,34:1,22:1,101:1},E6);var Ud,qc,tl,_v,Jf,Sa,bdn=we(uo,"PortConstraints",101,ke,T4e,G0e),toe;b(279,22,{3:1,34:1,22:1,279:1},C6);var S9,P9,Fl,tE,Pa,B3,oO=we(uo,"PortLabelPlacement",279,ke,M4e,z0e),ioe;b(64,22,{3:1,34:1,22:1,64:1},y7);var Zn,Xn,os,ss,pu,su,Qf,nf,Wu,xu,Uc,Ju,mu,vu,ef,No,$o,Ms,ae,sc,Wn,lr=we(uo,"PortSide",64,ke,N3e,X0e),roe;b(993,1,ps,M8n),o.hf=function(e){Nqn(e)};var coe,uoe,wdn,ooe,soe;w(uo,"RandomLayouterOptions",993),b(994,1,{},Vmn),o.sf=function(){var e;return e=new evn,e},o.tf=function(e){},w(uo,"RandomLayouterOptions/RandomFactory",994),b(386,22,{3:1,34:1,22:1,386:1},jC);var Qw,iE,rE,Gd,I9=we(uo,"SizeConstraint",386,ke,u3e,V0e),foe;b(264,22,{3:1,34:1,22:1,264:1},bg);var cE,sO,Hv,bU,uE,O9,fO,hO,lO,gdn=we(uo,"SizeOptions",264,ke,Kme,W0e),hoe;b(280,22,{3:1,34:1,22:1,280:1},lL);var Yw,pdn,aO,mdn=we(uo,"TopdownNodeTypes",280,ke,fpe,J0e),loe;b(347,22,ycn);var vdn,kdn,dO=we(uo,"TopdownSizeApproximator",347,ke,r2e,Y0e);b(987,347,ycn,VSn),o.Tg=function(e){return CRn(e)},we(uo,"TopdownSizeApproximator/1",987,dO,null,null),b(988,347,ycn,LPn),o.Tg=function(e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn,Rn;for(t=u(z(e,(qe(),H2)),143),en=(B1(),m=new Zv,m),uy(en,e),jn=new de,s=new ne((!e.a&&(e.a=new q(Qe,e,10,11)),e.a));s.e!=s.i.gc();)r=u(ce(s),27),D=(p=new Zv,p),SA(D,en),uy(D,r),Rn=CRn(r),vg(D,y.Math.max(r.g,Rn.a),y.Math.max(r.f,Rn.b)),Vc(jn.f,r,D);for(c=new ne((!e.a&&(e.a=new q(Qe,e,10,11)),e.a));c.e!=c.i.gc();)for(r=u(ce(c),27),d=new ne((!r.e&&(r.e=new Nn(Vt,r,7,4)),r.e));d.e!=d.i.gc();)a=u(ce(d),74),H=u(Kr(wr(jn.f,r)),27),X=u(ee(jn,L((!a.c&&(a.c=new Nn(he,a,5,8)),a.c),0)),27),N=(g=new HO,g),ve((!N.b&&(N.b=new Nn(he,N,4,7)),N.b),H),ve((!N.c&&(N.c=new Nn(he,N,5,8)),N.c),X),AA(N,At(H)),uy(N,a);j=u(V7(t.f),205);try{j.rf(en,new ovn),hIn(t.f,j)}catch(Kn){throw Kn=It(Kn),O(Kn,103)?(k=Kn,M(k)):M(Kn)}return Df(en,F2)||Df(en,x2)||otn(en),l=$(R(z(en,F2))),h=$(R(z(en,x2))),f=l/h,i=$(R(z(en,Qj)))*y.Math.sqrt((!en.a&&(en.a=new q(Qe,en,10,11)),en.a).i),kn=u(z(en,C1),107),I=kn.b+kn.c+1,A=kn.d+kn.a+1,new V(y.Math.max(I,i),y.Math.max(A,i/f))},we(uo,"TopdownSizeApproximator/2",988,dO,null,null);var aoe;b(344,1,{871:1},up),o.Ug=function(e,t){return FKn(this,e,t)},o.Vg=function(){u_n(this)},o.Wg=function(){return this.q},o.Xg=function(){return this.f?TN(this.f):null},o.Yg=function(){return TN(this.a)},o.Zg=function(){return this.p},o.$g=function(){return!1},o._g=function(){return this.n},o.ah=function(){return this.p!=null&&!this.b},o.bh=function(e){var t;this.n&&(t=e,nn(this.f,t))},o.dh=function(e,t){var i,r;this.n&&e&&Cpe(this,(i=new GPn,r=IF(i,e),cDe(i),r),(LT(),gU))},o.eh=function(e){var t;return this.b?null:(t=fme(this,this.g),xe(this.a,t),t.i=this,this.d=e,t)},o.fh=function(e){e>0&&!this.b&&CQ(this,e)},o.b=!1,o.c=0,o.d=-1,o.e=null,o.f=null,o.g=-1,o.j=!1,o.k=!1,o.n=!1,o.o=0,o.q=0,o.r=0,w(dc,"BasicProgressMonitor",344),b(717,205,yd,Wmn),o.rf=function(e,t){BUn(e,t)},w(dc,"BoxLayoutProvider",717),b(983,1,Ne,Lkn),o.Ne=function(e,t){return cTe(this,u(e,27),u(t,27))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},o.a=!1,w(dc,"BoxLayoutProvider/1",983),b(163,1,{163:1},hT,mAn),o.Ib=function(){return this.c?Een(this.c):ra(this.b)},w(dc,"BoxLayoutProvider/Group",163),b(320,22,{3:1,34:1,22:1,320:1},EC);var ydn,jdn,Edn,wU,Cdn=we(dc,"BoxLayoutProvider/PackingMode",320,ke,f3e,Z0e),doe;b(984,1,Ne,Jmn),o.Ne=function(e,t){return Cge(u(e,163),u(t,163))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(dc,"BoxLayoutProvider/lambda$0$Type",984),b(985,1,Ne,Qmn),o.Ne=function(e,t){return gge(u(e,163),u(t,163))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(dc,"BoxLayoutProvider/lambda$1$Type",985),b(986,1,Ne,Ymn),o.Ne=function(e,t){return pge(u(e,163),u(t,163))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(dc,"BoxLayoutProvider/lambda$2$Type",986),b(1384,1,{845:1},Zmn),o.Mg=function(e,t){return nC(),!O(t,167)||vEn((qp(),u(e,167)),t)},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),b(1385,1,ie,Nkn),o.Cd=function(e){N6e(this.a,u(e,149))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),b(1386,1,ie,tvn),o.Cd=function(e){u(e,96),nC()},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),b(1390,1,ie,$kn),o.Cd=function(e){tve(this.a,u(e,96))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),b(1388,1,De,fMn),o.Mb=function(e){return w6e(this.a,this.b,u(e,149))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),b(1387,1,De,hMn),o.Mb=function(e){return J1e(this.a,this.b,u(e,845))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),b(1389,1,ie,lMn),o.Cd=function(e){fwe(this.a,this.b,u(e,149))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),b(947,1,{},ivn),o.Kb=function(e){return uTn(e)},o.Fb=function(e){return this===e},w(dc,"ElkUtil/lambda$0$Type",947),b(948,1,ie,aMn),o.Cd=function(e){sCe(this.a,this.b,u(e,74))},o.a=0,o.b=0,w(dc,"ElkUtil/lambda$1$Type",948),b(949,1,ie,dMn),o.Cd=function(e){Zfe(this.a,this.b,u(e,166))},o.a=0,o.b=0,w(dc,"ElkUtil/lambda$2$Type",949),b(950,1,ie,bMn),o.Cd=function(e){Vle(this.a,this.b,u(e,135))},o.a=0,o.b=0,w(dc,"ElkUtil/lambda$3$Type",950),b(951,1,ie,xkn),o.Cd=function(e){Ibe(this.a,u(e,377))},w(dc,"ElkUtil/lambda$4$Type",951),b(325,1,{34:1,325:1},Pfe),o.Fd=function(e){return E1e(this,u(e,242))},o.Fb=function(e){var t;return O(e,325)?(t=u(e,325),this.a==t.a):!1},o.Hb=function(){return wi(this.a)},o.Ib=function(){return this.a+" (exclusive)"},o.a=0,w(dc,"ExclusiveBounds/ExclusiveLowerBound",325),b(1119,205,yd,rvn),o.rf=function(e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I,D,N,H,X,en,jn,kn;for(t.Ug("Fixed Layout",1),s=u(z(e,(qe(),yan)),223),g=0,p=0,D=new ne((!e.a&&(e.a=new q(Qe,e,10,11)),e.a));D.e!=D.i.gc();){for(A=u(ce(D),27),kn=u(z(A,(NT(),C9)),8),kn&&(Ro(A,kn.a,kn.b),u(z(A,odn),181).Hc((go(),Qw))&&(m=u(z(A,fdn),8),m.a>0&&m.b>0&&G0(A,m.a,m.b,!0,!0))),g=y.Math.max(g,A.i+A.g),p=y.Math.max(p,A.j+A.f),a=new ne((!A.n&&(A.n=new q(Ar,A,1,7)),A.n));a.e!=a.i.gc();)h=u(ce(a),135),kn=u(z(h,C9),8),kn&&Ro(h,kn.a,kn.b),g=y.Math.max(g,A.i+h.i+h.g),p=y.Math.max(p,A.j+h.j+h.f);for(X=new ne((!A.c&&(A.c=new q(Qu,A,9,9)),A.c));X.e!=X.i.gc();)for(H=u(ce(X),123),kn=u(z(H,C9),8),kn&&Ro(H,kn.a,kn.b),en=A.i+H.i,jn=A.j+H.j,g=y.Math.max(g,en+H.g),p=y.Math.max(p,jn+H.f),l=new ne((!H.n&&(H.n=new q(Ar,H,1,7)),H.n));l.e!=l.i.gc();)h=u(ce(l),135),kn=u(z(h,C9),8),kn&&Ro(h,kn.a,kn.b),g=y.Math.max(g,en+h.i+h.g),p=y.Math.max(p,jn+h.j+h.f);for(c=new te(re(Al(A).a.Kc(),new En));pe(c);)i=u(fe(c),74),d=YGn(i),g=y.Math.max(g,d.a),p=y.Math.max(p,d.b);for(r=new te(re(cy(A).a.Kc(),new En));pe(r);)i=u(fe(r),74),At(Kh(i))!=e&&(d=YGn(i),g=y.Math.max(g,d.a),p=y.Math.max(p,d.b))}if(s==(El(),Kv))for(I=new ne((!e.a&&(e.a=new q(Qe,e,10,11)),e.a));I.e!=I.i.gc();)for(A=u(ce(I),27),r=new te(re(Al(A).a.Kc(),new En));pe(r);)i=u(fe(r),74),f=hPe(i),f.b==0?ht(i,kb,null):ht(i,kb,f);on(un(z(e,(NT(),sdn))))||(N=u(z(e,Jue),107),j=g+N.b+N.c,k=p+N.d+N.a,G0(e,j,k,!0,!0)),t.Vg()},w(dc,"FixedLayoutProvider",1119),b(385,137,{3:1,423:1,385:1,96:1,137:1},_O,JNn),o.cg=function(e){var t,i,r,c,s,f,h,l,a;if(e)try{for(l=ww(e,";,;"),s=l,f=0,h=s.length;f>16&ui|t^r<<16},o.Kc=function(){return new Fkn(this)},o.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+Jr(this.b)+")":this.b==null?"pair("+Jr(this.a)+",null)":"pair("+Jr(this.a)+","+Jr(this.b)+")"},w(dc,"Pair",42),b(995,1,Si,Fkn),o.Nb=function(e){_i(this,e)},o.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},o.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw M(new nc)},o.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),M(new Cu)},o.b=!1,o.c=!1,w(dc,"Pair/1",995),b(455,1,{455:1},TIn),o.Fb=function(e){return mc(this.a,u(e,455).a)&&mc(this.c,u(e,455).c)&&mc(this.d,u(e,455).d)&&mc(this.b,u(e,455).b)},o.Hb=function(){return Dk(S(T(ki,1),Fn,1,5,[this.a,this.c,this.d,this.b]))},o.Ib=function(){return"("+this.a+ur+this.c+ur+this.d+ur+this.b+")"},w(dc,"Quadruple",455),b(1108,205,yd,evn),o.rf=function(e,t){var i,r,c,s,f;if(t.Ug("Random Layout",1),(!e.a&&(e.a=new q(Qe,e,10,11)),e.a).i==0){t.Vg();return}s=u(z(e,(YY(),ooe)),17),s&&s.a!=0?c=new qM(s.a):c=new dx,i=Y9(R(z(e,coe))),f=Y9(R(z(e,soe))),r=u(z(e,uoe),107),SDe(e,c,i,f,r),t.Vg()},w(dc,"RandomLayoutProvider",1108),b(240,1,{240:1},_L),o.Fb=function(e){return mc(this.a,u(e,240).a)&&mc(this.b,u(e,240).b)&&mc(this.c,u(e,240).c)},o.Hb=function(){return Dk(S(T(ki,1),Fn,1,5,[this.a,this.b,this.c]))},o.Ib=function(){return"("+this.a+ur+this.b+ur+this.c+")"},w(dc,"Triple",240);var poe;b(562,1,{}),o.Lf=function(){return new V(this.f.i,this.f.j)},o.of=function(e){return nOn(e,(qe(),oo))?z(this.f,moe):z(this.f,e)},o.Mf=function(){return new V(this.f.g,this.f.f)},o.Nf=function(){return this.g},o.pf=function(e){return Df(this.f,e)},o.Of=function(e){eu(this.f,e.a),tu(this.f,e.b)},o.Pf=function(e){I0(this.f,e.a),P0(this.f,e.b)},o.Qf=function(e){this.g=e},o.g=0;var moe;w(g8,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),b(563,1,{853:1},DE),o.Rf=function(){var e,t;if(!this.b)for(this.b=RM(jM(this.a).i),t=new ne(jM(this.a));t.e!=t.i.gc();)e=u(ce(t),135),nn(this.b,new pD(e));return this.b},o.b=null,w(g8,"ElkGraphAdapters/ElkEdgeAdapter",563),b(289,562,{},Qd),o.Sf=function(){return zRn(this)},o.a=null,w(g8,"ElkGraphAdapters/ElkGraphAdapter",289),b(640,562,{187:1},pD),w(g8,"ElkGraphAdapters/ElkLabelAdapter",640),b(639,562,{695:1},ML),o.Rf=function(){return w7e(this)},o.Vf=function(){var e;return e=u(z(this.f,(qe(),xv)),140),!e&&(e=new Yv),e},o.Xf=function(){return g7e(this)},o.Zf=function(e){var t;t=new qL(e),ht(this.f,(qe(),xv),t)},o.$f=function(e){ht(this.f,(qe(),C1),new HV(e))},o.Tf=function(){return this.d},o.Uf=function(){var e,t;if(!this.a)for(this.a=new Z,t=new te(re(cy(u(this.f,27)).a.Kc(),new En));pe(t);)e=u(fe(t),74),nn(this.a,new DE(e));return this.a},o.Wf=function(){var e,t;if(!this.c)for(this.c=new Z,t=new te(re(Al(u(this.f,27)).a.Kc(),new En));pe(t);)e=u(fe(t),74),nn(this.c,new DE(e));return this.c},o.Yf=function(){return AM(u(this.f,27)).i!=0||on(un(u(this.f,27).of((qe(),Xj))))},o._f=function(){V4e(this,(c0(),poe))},o.a=null,o.b=null,o.c=null,o.d=null,o.e=null,w(g8,"ElkGraphAdapters/ElkNodeAdapter",639),b(1284,562,{852:1},Bkn),o.Rf=function(){return C7e(this)},o.Uf=function(){var e,t;if(!this.a)for(this.a=Dh(u(this.f,123).hh().i),t=new ne(u(this.f,123).hh());t.e!=t.i.gc();)e=u(ce(t),74),nn(this.a,new DE(e));return this.a},o.Wf=function(){var e,t;if(!this.c)for(this.c=Dh(u(this.f,123).ih().i),t=new ne(u(this.f,123).ih());t.e!=t.i.gc();)e=u(ce(t),74),nn(this.c,new DE(e));return this.c},o.ag=function(){return u(u(this.f,123).of((qe(),_2)),64)},o.bg=function(){var e,t,i,r,c,s,f,h;for(r=Af(u(this.f,123)),i=new ne(u(this.f,123).ih());i.e!=i.i.gc();)for(e=u(ce(i),74),h=new ne((!e.c&&(e.c=new Nn(he,e,5,8)),e.c));h.e!=h.i.gc();){if(f=u(ce(h),84),Yb(Gr(f),r))return!0;if(Gr(f)==r&&on(un(z(e,(qe(),eU)))))return!0}for(t=new ne(u(this.f,123).hh());t.e!=t.i.gc();)for(e=u(ce(t),74),s=new ne((!e.b&&(e.b=new Nn(he,e,4,7)),e.b));s.e!=s.i.gc();)if(c=u(ce(s),84),Yb(Gr(c),r))return!0;return!1},o.a=null,o.b=null,o.c=null,w(g8,"ElkGraphAdapters/ElkPortAdapter",1284),b(1285,1,Ne,nvn),o.Ne=function(e,t){return tSe(u(e,123),u(t,123))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(g8,"ElkGraphAdapters/PortComparator",1285);var Ia=Nt(ts,"EObject"),qv=Nt(u2,iWn),xo=Nt(u2,rWn),oE=Nt(u2,cWn),sE=Nt(u2,"ElkShape"),he=Nt(u2,uWn),Vt=Nt(u2,jcn),Mt=Nt(u2,oWn),fE=Nt(ts,sWn),D9=Nt(ts,"EFactory"),voe,pU=Nt(ts,fWn),jf=Nt(ts,"EPackage"),Ti,koe,yoe,Sdn,bO,joe,Pdn,Idn,Odn,il,Eoe,Coe,Ar=Nt(u2,Ecn),Qe=Nt(u2,Ccn),Qu=Nt(u2,Mcn);b(93,1,hWn),o.th=function(){return this.uh(),null},o.uh=function(){return null},o.vh=function(){return this.uh(),!1},o.wh=function(){return!1},o.xh=function(e){it(this,e)},w(g3,"BasicNotifierImpl",93),b(99,93,bWn),o.Yh=function(){return fo(this)},o.yh=function(e,t){return e},o.zh=function(){throw M(new Pe)},o.Ah=function(e){var t;return t=br(u($n(this.Dh(),this.Fh()),19)),this.Ph().Th(this,t.n,t.f,e)},o.Bh=function(e,t){throw M(new Pe)},o.Ch=function(e,t,i){return So(this,e,t,i)},o.Dh=function(){var e;return this.zh()&&(e=this.zh().Nk(),e)?e:this.ii()},o.Eh=function(){return dF(this)},o.Fh=function(){throw M(new Pe)},o.Gh=function(){var e,t;return t=this.$h().Ok(),!t&&this.zh().Tk(t=(a6(),e=eJ(bh(this.Dh())),e==null?MU:new T7(this,e))),t},o.Hh=function(e,t){return e},o.Ih=function(e){var t;return t=e.pk(),t?e.Lj():Ot(this.Dh(),e)},o.Jh=function(){var e;return e=this.zh(),e?e.Qk():null},o.Kh=function(){return this.zh()?this.zh().Nk():null},o.Lh=function(e,t,i){return tA(this,e,t,i)},o.Mh=function(e){return x4(this,e)},o.Nh=function(e,t){return YN(this,e,t)},o.Oh=function(){var e;return e=this.zh(),!!e&&e.Rk()},o.Ph=function(){throw M(new Pe)},o.Qh=function(){return WT(this)},o.Rh=function(e,t,i,r){return Wp(this,e,t,r)},o.Sh=function(e,t,i){var r;return r=u($n(this.Dh(),t),69),r.wk().zk(this,this.hi(),t-this.ji(),e,i)},o.Th=function(e,t,i,r){return OM(this,e,t,r)},o.Uh=function(e,t,i){var r;return r=u($n(this.Dh(),t),69),r.wk().Ak(this,this.hi(),t-this.ji(),e,i)},o.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},o.Wh=function(e){return Cx(this,e)},o.Xh=function(e){return bOn(this,e)},o.Zh=function(e){return xGn(this,e)},o.$h=function(){throw M(new Pe)},o._h=function(){return this.zh()?this.zh().Pk():null},o.ai=function(){return WT(this)},o.bi=function(e,t){sF(this,e,t)},o.ci=function(e){this.$h().Sk(e)},o.di=function(e){this.$h().Vk(e)},o.ei=function(e){this.$h().Uk(e)},o.fi=function(e,t){var i,r,c,s;return s=this.Jh(),s&&e&&(t=cr(s.El(),this,t),s.Il(this)),r=this.Ph(),r&&(AF(this,this.Ph(),this.Fh()).Bb&hr?(c=r.Qh(),c&&(e?!s&&c.Il(this):c.Hl(this))):(t=(i=this.Fh(),i>=0?this.Ah(t):this.Ph().Th(this,-1-i,null,t)),t=this.Ch(null,-1,t))),this.di(e),t},o.gi=function(e){var t,i,r,c,s,f,h,l;if(i=this.Dh(),s=Ot(i,e),t=this.ji(),s>=t)return u(e,69).wk().Dk(this,this.hi(),s-t);if(s<=-1)if(f=Jg((Du(),zi),i,e),f){if(dr(),u(f,69).xk()||(f=$p(Lr(zi,f))),c=(r=this.Ih(f),u(r>=0?this.Lh(r,!0,!0):H0(this,f,!0),160)),l=f.Ik(),l>1||l==-1)return u(u(c,220).Sl(e,!1),79)}else throw M(new Gn(da+e.xe()+sK));else if(e.Jk())return r=this.Ih(e),u(r>=0?this.Lh(r,!1,!0):H0(this,e,!1),79);return h=new DMn(this,e),h},o.hi=function(){return uQ(this)},o.ii=function(){return(G1(),Hn).S},o.ji=function(){return se(this.ii())},o.ki=function(e){cF(this,e)},o.Ib=function(){return _s(this)},w(qn,"BasicEObjectImpl",99);var Moe;b(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),o.li=function(e){var t;return t=cQ(this),t[e]},o.mi=function(e,t){var i;i=cQ(this),$t(i,e,t)},o.ni=function(e){var t;t=cQ(this),$t(t,e,null)},o.th=function(){return u(Un(this,4),129)},o.uh=function(){throw M(new Pe)},o.vh=function(){return(this.Db&4)!=0},o.zh=function(){throw M(new Pe)},o.oi=function(e){Xp(this,2,e)},o.Bh=function(e,t){this.Db=t<<16|this.Db&255,this.oi(e)},o.Dh=function(){return au(this)},o.Fh=function(){return this.Db>>16},o.Gh=function(){var e,t;return a6(),t=eJ(bh((e=u(Un(this,16),29),e||this.ii()))),t==null?MU:new T7(this,t)},o.wh=function(){return(this.Db&1)==0},o.Jh=function(){return u(Un(this,128),2034)},o.Kh=function(){return u(Un(this,16),29)},o.Oh=function(){return(this.Db&32)!=0},o.Ph=function(){return u(Un(this,2),54)},o.Vh=function(){return(this.Db&64)!=0},o.$h=function(){throw M(new Pe)},o._h=function(){return u(Un(this,64),288)},o.ci=function(e){Xp(this,16,e)},o.di=function(e){Xp(this,128,e)},o.ei=function(e){Xp(this,64,e)},o.hi=function(){return iu(this)},o.Db=0,w(qn,"MinimalEObjectImpl",119),b(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.oi=function(e){this.Cb=e},o.Ph=function(){return this.Cb},w(qn,"MinimalEObjectImpl/Container",120),b(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.Lh=function(e,t,i){return yZ(this,e,t,i)},o.Uh=function(e,t,i){return hnn(this,e,t,i)},o.Wh=function(e){return wJ(this,e)},o.bi=function(e,t){uY(this,e,t)},o.ii=function(){return Cc(),Coe},o.ki=function(e){WQ(this,e)},o.nf=function(){return aRn(this)},o.gh=function(){return!this.o&&(this.o=new Iu((Cc(),il),T1,this,0)),this.o},o.of=function(e){return z(this,e)},o.pf=function(e){return Df(this,e)},o.qf=function(e,t){return ht(this,e,t)},w(Md,"EMapPropertyHolderImpl",2083),b(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},yE),o.Lh=function(e,t,i){switch(e){case 0:return this.a;case 1:return this.b}return tA(this,e,t,i)},o.Wh=function(e){switch(e){case 0:return this.a!=0;case 1:return this.b!=0}return Cx(this,e)},o.bi=function(e,t){switch(e){case 0:aT(this,$(R(t)));return;case 1:lT(this,$(R(t)));return}sF(this,e,t)},o.ii=function(){return Cc(),koe},o.ki=function(e){switch(e){case 0:aT(this,0);return;case 1:lT(this,0);return}cF(this,e)},o.Ib=function(){var e;return this.Db&64?_s(this):(e=new ls(_s(this)),e.a+=" (x: ",fg(e,this.a),e.a+=", y: ",fg(e,this.b),e.a+=")",e.a)},o.a=0,o.b=0,w(Md,"ElkBendPointImpl",572),b(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.Lh=function(e,t,i){return PY(this,e,t,i)},o.Sh=function(e,t,i){return Yx(this,e,t,i)},o.Uh=function(e,t,i){return $$(this,e,t,i)},o.Wh=function(e){return qQ(this,e)},o.bi=function(e,t){KZ(this,e,t)},o.ii=function(){return Cc(),joe},o.ki=function(e){kY(this,e)},o.jh=function(){return this.k},o.kh=function(){return jM(this)},o.Ib=function(){return ox(this)},o.k=null,w(Md,"ElkGraphElementImpl",739),b(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.Lh=function(e,t,i){return FY(this,e,t,i)},o.Wh=function(e){return qY(this,e)},o.bi=function(e,t){_Z(this,e,t)},o.ii=function(){return Cc(),Eoe},o.ki=function(e){JY(this,e)},o.lh=function(){return this.f},o.mh=function(){return this.g},o.nh=function(){return this.i},o.oh=function(){return this.j},o.ph=function(e,t){vg(this,e,t)},o.qh=function(e,t){Ro(this,e,t)},o.rh=function(e){eu(this,e)},o.sh=function(e){tu(this,e)},o.Ib=function(){return iF(this)},o.f=0,o.g=0,o.i=0,o.j=0,w(Md,"ElkShapeImpl",740),b(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.Lh=function(e,t,i){return bZ(this,e,t,i)},o.Sh=function(e,t,i){return NZ(this,e,t,i)},o.Uh=function(e,t,i){return $Z(this,e,t,i)},o.Wh=function(e){return cY(this,e)},o.bi=function(e,t){Vnn(this,e,t)},o.ii=function(){return Cc(),yoe},o.ki=function(e){fZ(this,e)},o.hh=function(){return!this.d&&(this.d=new Nn(Vt,this,8,5)),this.d},o.ih=function(){return!this.e&&(this.e=new Nn(Vt,this,7,4)),this.e},w(Md,"ElkConnectableShapeImpl",741),b(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},HO),o.Ah=function(e){return IZ(this,e)},o.Lh=function(e,t,i){switch(e){case 3:return J7(this);case 4:return!this.b&&(this.b=new Nn(he,this,4,7)),this.b;case 5:return!this.c&&(this.c=new Nn(he,this,5,8)),this.c;case 6:return!this.a&&(this.a=new q(Mt,this,6,6)),this.a;case 7:return _n(),!this.b&&(this.b=new Nn(he,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Nn(he,this,5,8)),this.c.i<=1));case 8:return _n(),!!F5(this);case 9:return _n(),!!_0(this);case 10:return _n(),!this.b&&(this.b=new Nn(he,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Nn(he,this,5,8)),this.c.i!=0)}return PY(this,e,t,i)},o.Sh=function(e,t,i){var r;switch(t){case 3:return this.Cb&&(i=(r=this.Db>>16,r>=0?IZ(this,i):this.Cb.Th(this,-1-r,null,i))),lV(this,u(e,27),i);case 4:return!this.b&&(this.b=new Nn(he,this,4,7)),Xc(this.b,e,i);case 5:return!this.c&&(this.c=new Nn(he,this,5,8)),Xc(this.c,e,i);case 6:return!this.a&&(this.a=new q(Mt,this,6,6)),Xc(this.a,e,i)}return Yx(this,e,t,i)},o.Uh=function(e,t,i){switch(t){case 3:return lV(this,null,i);case 4:return!this.b&&(this.b=new Nn(he,this,4,7)),cr(this.b,e,i);case 5:return!this.c&&(this.c=new Nn(he,this,5,8)),cr(this.c,e,i);case 6:return!this.a&&(this.a=new q(Mt,this,6,6)),cr(this.a,e,i)}return $$(this,e,t,i)},o.Wh=function(e){switch(e){case 3:return!!J7(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new Nn(he,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Nn(he,this,5,8)),this.c.i<=1));case 8:return F5(this);case 9:return _0(this);case 10:return!this.b&&(this.b=new Nn(he,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Nn(he,this,5,8)),this.c.i!=0)}return qQ(this,e)},o.bi=function(e,t){switch(e){case 3:AA(this,u(t,27));return;case 4:!this.b&&(this.b=new Nn(he,this,4,7)),me(this.b),!this.b&&(this.b=new Nn(he,this,4,7)),Bt(this.b,u(t,16));return;case 5:!this.c&&(this.c=new Nn(he,this,5,8)),me(this.c),!this.c&&(this.c=new Nn(he,this,5,8)),Bt(this.c,u(t,16));return;case 6:!this.a&&(this.a=new q(Mt,this,6,6)),me(this.a),!this.a&&(this.a=new q(Mt,this,6,6)),Bt(this.a,u(t,16));return}KZ(this,e,t)},o.ii=function(){return Cc(),Sdn},o.ki=function(e){switch(e){case 3:AA(this,null);return;case 4:!this.b&&(this.b=new Nn(he,this,4,7)),me(this.b);return;case 5:!this.c&&(this.c=new Nn(he,this,5,8)),me(this.c);return;case 6:!this.a&&(this.a=new q(Mt,this,6,6)),me(this.a);return}kY(this,e)},o.Ib=function(){return nGn(this)},w(Md,"ElkEdgeImpl",326),b(452,2083,{110:1,342:1,166:1,452:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},jE),o.Ah=function(e){return TZ(this,e)},o.Lh=function(e,t,i){switch(e){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new ti(xo,this,5)),this.a;case 6:return hOn(this);case 7:return t?Px(this):this.i;case 8:return t?Sx(this):this.f;case 9:return!this.g&&(this.g=new Nn(Mt,this,9,10)),this.g;case 10:return!this.e&&(this.e=new Nn(Mt,this,10,9)),this.e;case 11:return this.d}return yZ(this,e,t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 6:return this.Cb&&(i=(c=this.Db>>16,c>=0?TZ(this,i):this.Cb.Th(this,-1-c,null,i))),hV(this,u(e,74),i);case 9:return!this.g&&(this.g=new Nn(Mt,this,9,10)),Xc(this.g,e,i);case 10:return!this.e&&(this.e=new Nn(Mt,this,10,9)),Xc(this.e,e,i)}return s=u($n((r=u(Un(this,16),29),r||(Cc(),bO)),t),69),s.wk().zk(this,iu(this),t-se((Cc(),bO)),e,i)},o.Uh=function(e,t,i){switch(t){case 5:return!this.a&&(this.a=new ti(xo,this,5)),cr(this.a,e,i);case 6:return hV(this,null,i);case 9:return!this.g&&(this.g=new Nn(Mt,this,9,10)),cr(this.g,e,i);case 10:return!this.e&&(this.e=new Nn(Mt,this,10,9)),cr(this.e,e,i)}return hnn(this,e,t,i)},o.Wh=function(e){switch(e){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!hOn(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return wJ(this,e)},o.bi=function(e,t){switch(e){case 1:H4(this,$(R(t)));return;case 2:U4(this,$(R(t)));return;case 3:_4(this,$(R(t)));return;case 4:q4(this,$(R(t)));return;case 5:!this.a&&(this.a=new ti(xo,this,5)),me(this.a),!this.a&&(this.a=new ti(xo,this,5)),Bt(this.a,u(t,16));return;case 6:ZHn(this,u(t,74));return;case 7:vT(this,u(t,84));return;case 8:mT(this,u(t,84));return;case 9:!this.g&&(this.g=new Nn(Mt,this,9,10)),me(this.g),!this.g&&(this.g=new Nn(Mt,this,9,10)),Bt(this.g,u(t,16));return;case 10:!this.e&&(this.e=new Nn(Mt,this,10,9)),me(this.e),!this.e&&(this.e=new Nn(Mt,this,10,9)),Bt(this.e,u(t,16));return;case 11:OQ(this,Oe(t));return}uY(this,e,t)},o.ii=function(){return Cc(),bO},o.ki=function(e){switch(e){case 1:H4(this,0);return;case 2:U4(this,0);return;case 3:_4(this,0);return;case 4:q4(this,0);return;case 5:!this.a&&(this.a=new ti(xo,this,5)),me(this.a);return;case 6:ZHn(this,null);return;case 7:vT(this,null);return;case 8:mT(this,null);return;case 9:!this.g&&(this.g=new Nn(Mt,this,9,10)),me(this.g);return;case 10:!this.e&&(this.e=new Nn(Mt,this,10,9)),me(this.e);return;case 11:OQ(this,null);return}WQ(this,e)},o.Ib=function(){return dHn(this)},o.b=0,o.c=0,o.d=null,o.j=0,o.k=0,w(Md,"ElkEdgeSectionImpl",452),b(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),o.Lh=function(e,t,i){var r;return e==0?(!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab):zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Sh=function(e,t,i){var r,c;return t==0?(!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i)):(c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().zk(this,iu(this),t-se(this.ii()),e,i))},o.Uh=function(e,t,i){var r,c;return t==0?(!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i)):(c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().Ak(this,iu(this),t-se(this.ii()),e,i))},o.Wh=function(e){var t;return e==0?!!this.Ab&&this.Ab.i!=0:Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.Zh=function(e){return ctn(this,e)},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.di=function(e){Xp(this,128,e)},o.ii=function(){return On(),qoe},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.pi=function(){this.Bb|=1},o.qi=function(e){return U5(this,e)},o.Bb=0,w(qn,"EModelElementImpl",158),b(720,158,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},oG),o.ri=function(e,t){return PGn(this,e,t)},o.si=function(e){var t,i,r,c,s;if(this.a!=jo(e)||e.Bb&256)throw M(new Gn(hK+e.zb+nb));for(r=Hr(e);Sc(r.a).i!=0;){if(i=u(py(r,0,(t=u(L(Sc(r.a),0),89),s=t.c,O(s,90)?u(s,29):(On(),Ps))),29),K0(i))return c=jo(i).wi().si(i),u(c,54).ci(e),c;r=Hr(i)}return(e.D!=null?e.D:e.B)=="java.util.Map$Entry"?new zSn(e):new ZV(e)},o.ti=function(e,t){return z0(this,e,t)},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.a}return zo(this,e-se((On(),Na)),$n((r=u(Un(this,16),29),r||Na),e),t,i)},o.Sh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i);case 1:return this.a&&(i=u(this.a,54).Th(this,4,jf,i)),vY(this,u(e,241),i)}return c=u($n((r=u(Un(this,16),29),r||(On(),Na)),t),69),c.wk().zk(this,iu(this),t-se((On(),Na)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 1:return vY(this,null,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),Na)),t),69),c.wk().Ak(this,iu(this),t-se((On(),Na)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return Uo(this,e-se((On(),Na)),$n((t=u(Un(this,16),29),t||Na),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:JKn(this,u(t,241));return}Jo(this,e-se((On(),Na)),$n((i=u(Un(this,16),29),i||Na),e),t)},o.ii=function(){return On(),Na},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:JKn(this,null);return}Wo(this,e-se((On(),Na)),$n((t=u(Un(this,16),29),t||Na),e))};var L9,Ddn,Toe;w(qn,"EFactoryImpl",720),b(1037,720,{110:1,2113:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},fvn),o.ri=function(e,t){switch(e.hk()){case 12:return u(t,149).Pg();case 13:return Jr(t);default:throw M(new Gn(ev+e.xe()+nb))}},o.si=function(e){var t,i,r,c,s,f,h,l;switch(e.G==-1&&(e.G=(t=jo(e),t?f1(t.vi(),e):-1)),e.G){case 4:return s=new eG,s;case 6:return f=new Zv,f;case 7:return h=new ez,h;case 8:return r=new HO,r;case 9:return i=new yE,i;case 10:return c=new jE,c;case 11:return l=new hvn,l;default:throw M(new Gn(hK+e.zb+nb))}},o.ti=function(e,t){switch(e.hk()){case 13:case 12:return null;default:throw M(new Gn(ev+e.xe()+nb))}},w(Md,"ElkGraphFactoryImpl",1037),b(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),o.Gh=function(){var e,t;return t=(e=u(Un(this,16),29),eJ(bh(e||this.ii()))),t==null?(a6(),a6(),MU):new wAn(this,t)},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.xe()}return zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:this.ui(Oe(t));return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.ii=function(){return On(),Uoe},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:this.ui(null);return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.xe=function(){return this.zb},o.ui=function(e){zc(this,e)},o.Ib=function(){return m5(this)},o.zb=null,w(qn,"ENamedElementImpl",448),b(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},HIn),o.Ah=function(e){return oKn(this,e)},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new Hb(this,Ef,this)),this.rb;case 6:return!this.vb&&(this.vb=new jp(jf,this,6,7)),this.vb;case 7:return t?this.Db>>16==7?u(this.Cb,241):null:pOn(this)}return zo(this,e-se((On(),I1)),$n((r=u(Un(this,16),29),r||I1),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i);case 4:return this.sb&&(i=u(this.sb,54).Th(this,1,D9,i)),jY(this,u(e,480),i);case 5:return!this.rb&&(this.rb=new Hb(this,Ef,this)),Xc(this.rb,e,i);case 6:return!this.vb&&(this.vb=new jp(jf,this,6,7)),Xc(this.vb,e,i);case 7:return this.Cb&&(i=(c=this.Db>>16,c>=0?oKn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,7,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),I1)),t),69),s.wk().zk(this,iu(this),t-se((On(),I1)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 4:return jY(this,null,i);case 5:return!this.rb&&(this.rb=new Hb(this,Ef,this)),cr(this.rb,e,i);case 6:return!this.vb&&(this.vb=new jp(jf,this,6,7)),cr(this.vb,e,i);case 7:return So(this,null,7,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),I1)),t),69),c.wk().Ak(this,iu(this),t-se((On(),I1)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!pOn(this)}return Uo(this,e-se((On(),I1)),$n((t=u(Un(this,16),29),t||I1),e))},o.Zh=function(e){var t;return t=pTe(this,e),t||ctn(this,e)},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:zc(this,Oe(t));return;case 2:MT(this,Oe(t));return;case 3:CT(this,Oe(t));return;case 4:tF(this,u(t,480));return;case 5:!this.rb&&(this.rb=new Hb(this,Ef,this)),me(this.rb),!this.rb&&(this.rb=new Hb(this,Ef,this)),Bt(this.rb,u(t,16));return;case 6:!this.vb&&(this.vb=new jp(jf,this,6,7)),me(this.vb),!this.vb&&(this.vb=new jp(jf,this,6,7)),Bt(this.vb,u(t,16));return}Jo(this,e-se((On(),I1)),$n((i=u(Un(this,16),29),i||I1),e),t)},o.ei=function(e){var t,i;if(e&&this.rb)for(i=new ne(this.rb);i.e!=i.i.gc();)t=ce(i),O(t,364)&&(u(t,364).w=null);Xp(this,64,e)},o.ii=function(){return On(),I1},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:zc(this,null);return;case 2:MT(this,null);return;case 3:CT(this,null);return;case 4:tF(this,null);return;case 5:!this.rb&&(this.rb=new Hb(this,Ef,this)),me(this.rb);return;case 6:!this.vb&&(this.vb=new jp(jf,this,6,7)),me(this.vb);return}Wo(this,e-se((On(),I1)),$n((t=u(Un(this,16),29),t||I1),e))},o.pi=function(){Hx(this)},o.vi=function(){return!this.rb&&(this.rb=new Hb(this,Ef,this)),this.rb},o.wi=function(){return this.sb},o.xi=function(){return this.ub},o.yi=function(){return this.xb},o.zi=function(){return this.yb},o.Ai=function(e){this.ub=e},o.Ib=function(){var e;return this.Db&64?m5(this):(e=new ls(m5(this)),e.a+=" (nsURI: ",Er(e,this.yb),e.a+=", nsPrefix: ",Er(e,this.xb),e.a+=")",e.a)},o.xb=null,o.yb=null,w(qn,"EPackageImpl",184),b(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},jHn),o.q=!1,o.r=!1;var Aoe=!1;w(Md,"ElkGraphPackageImpl",569),b(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},eG),o.Ah=function(e){return AZ(this,e)},o.Lh=function(e,t,i){switch(e){case 7:return mOn(this);case 8:return this.a}return FY(this,e,t,i)},o.Sh=function(e,t,i){var r;switch(t){case 7:return this.Cb&&(i=(r=this.Db>>16,r>=0?AZ(this,i):this.Cb.Th(this,-1-r,null,i))),bW(this,u(e,167),i)}return Yx(this,e,t,i)},o.Uh=function(e,t,i){return t==7?bW(this,null,i):$$(this,e,t,i)},o.Wh=function(e){switch(e){case 7:return!!mOn(this);case 8:return!An("",this.a)}return qY(this,e)},o.bi=function(e,t){switch(e){case 7:oen(this,u(t,167));return;case 8:TQ(this,Oe(t));return}_Z(this,e,t)},o.ii=function(){return Cc(),Pdn},o.ki=function(e){switch(e){case 7:oen(this,null);return;case 8:TQ(this,"");return}JY(this,e)},o.Ib=function(){return h_n(this)},o.a="",w(Md,"ElkLabelImpl",366),b(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},Zv),o.Ah=function(e){return OZ(this,e)},o.Lh=function(e,t,i){switch(e){case 9:return!this.c&&(this.c=new q(Qu,this,9,9)),this.c;case 10:return!this.a&&(this.a=new q(Qe,this,10,11)),this.a;case 11:return At(this);case 12:return!this.b&&(this.b=new q(Vt,this,12,3)),this.b;case 13:return _n(),!this.a&&(this.a=new q(Qe,this,10,11)),this.a.i>0}return bZ(this,e,t,i)},o.Sh=function(e,t,i){var r;switch(t){case 9:return!this.c&&(this.c=new q(Qu,this,9,9)),Xc(this.c,e,i);case 10:return!this.a&&(this.a=new q(Qe,this,10,11)),Xc(this.a,e,i);case 11:return this.Cb&&(i=(r=this.Db>>16,r>=0?OZ(this,i):this.Cb.Th(this,-1-r,null,i))),yV(this,u(e,27),i);case 12:return!this.b&&(this.b=new q(Vt,this,12,3)),Xc(this.b,e,i)}return NZ(this,e,t,i)},o.Uh=function(e,t,i){switch(t){case 9:return!this.c&&(this.c=new q(Qu,this,9,9)),cr(this.c,e,i);case 10:return!this.a&&(this.a=new q(Qe,this,10,11)),cr(this.a,e,i);case 11:return yV(this,null,i);case 12:return!this.b&&(this.b=new q(Vt,this,12,3)),cr(this.b,e,i)}return $Z(this,e,t,i)},o.Wh=function(e){switch(e){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!At(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new q(Qe,this,10,11)),this.a.i>0}return cY(this,e)},o.bi=function(e,t){switch(e){case 9:!this.c&&(this.c=new q(Qu,this,9,9)),me(this.c),!this.c&&(this.c=new q(Qu,this,9,9)),Bt(this.c,u(t,16));return;case 10:!this.a&&(this.a=new q(Qe,this,10,11)),me(this.a),!this.a&&(this.a=new q(Qe,this,10,11)),Bt(this.a,u(t,16));return;case 11:SA(this,u(t,27));return;case 12:!this.b&&(this.b=new q(Vt,this,12,3)),me(this.b),!this.b&&(this.b=new q(Vt,this,12,3)),Bt(this.b,u(t,16));return}Vnn(this,e,t)},o.ii=function(){return Cc(),Idn},o.ki=function(e){switch(e){case 9:!this.c&&(this.c=new q(Qu,this,9,9)),me(this.c);return;case 10:!this.a&&(this.a=new q(Qe,this,10,11)),me(this.a);return;case 11:SA(this,null);return;case 12:!this.b&&(this.b=new q(Vt,this,12,3)),me(this.b);return}fZ(this,e)},o.Ib=function(){return Een(this)},w(Md,"ElkNodeImpl",207),b(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},ez),o.Ah=function(e){return SZ(this,e)},o.Lh=function(e,t,i){return e==9?Af(this):bZ(this,e,t,i)},o.Sh=function(e,t,i){var r;switch(t){case 9:return this.Cb&&(i=(r=this.Db>>16,r>=0?SZ(this,i):this.Cb.Th(this,-1-r,null,i))),aV(this,u(e,27),i)}return NZ(this,e,t,i)},o.Uh=function(e,t,i){return t==9?aV(this,null,i):$Z(this,e,t,i)},o.Wh=function(e){return e==9?!!Af(this):cY(this,e)},o.bi=function(e,t){switch(e){case 9:ien(this,u(t,27));return}Vnn(this,e,t)},o.ii=function(){return Cc(),Odn},o.ki=function(e){switch(e){case 9:ien(this,null);return}fZ(this,e)},o.Ib=function(){return Yqn(this)},w(Md,"ElkPortImpl",193);var Soe=Nt(or,"BasicEMap/Entry");b(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},hvn),o.Fb=function(e){return this===e},o.ld=function(){return this.b},o.Hb=function(){return l0(this)},o.Di=function(e){AQ(this,u(e,149))},o.Lh=function(e,t,i){switch(e){case 0:return this.b;case 1:return this.c}return tA(this,e,t,i)},o.Wh=function(e){switch(e){case 0:return!!this.b;case 1:return this.c!=null}return Cx(this,e)},o.bi=function(e,t){switch(e){case 0:AQ(this,u(t,149));return;case 1:MQ(this,t);return}sF(this,e,t)},o.ii=function(){return Cc(),il},o.ki=function(e){switch(e){case 0:AQ(this,null);return;case 1:MQ(this,null);return}cF(this,e)},o.Bi=function(){var e;return this.a==-1&&(e=this.b,this.a=e?mt(e):0),this.a},o.md=function(){return this.c},o.Ci=function(e){this.a=e},o.nd=function(e){var t;return t=this.c,MQ(this,e),t},o.Ib=function(){var e;return this.Db&64?_s(this):(e=new x1,Be(Be(Be(e,this.b?this.b.Pg():gu),iR),D6(this.c)),e.a)},o.a=-1,o.c=null;var T1=w(Md,"ElkPropertyToValueMapEntryImpl",1122);b(996,1,{},dvn),w(Ui,"JsonAdapter",996),b(216,63,Pl,nh),w(Ui,"JsonImportException",216),b(868,1,{},sKn),w(Ui,"JsonImporter",868),b(903,1,{},wMn),w(Ui,"JsonImporter/lambda$0$Type",903),b(904,1,{},gMn),w(Ui,"JsonImporter/lambda$1$Type",904),b(912,1,{},Rkn),w(Ui,"JsonImporter/lambda$10$Type",912),b(914,1,{},pMn),w(Ui,"JsonImporter/lambda$11$Type",914),b(915,1,{},mMn),w(Ui,"JsonImporter/lambda$12$Type",915),b(921,1,{},IIn),w(Ui,"JsonImporter/lambda$13$Type",921),b(920,1,{},OIn),w(Ui,"JsonImporter/lambda$14$Type",920),b(916,1,{},vMn),w(Ui,"JsonImporter/lambda$15$Type",916),b(917,1,{},kMn),w(Ui,"JsonImporter/lambda$16$Type",917),b(918,1,{},yMn),w(Ui,"JsonImporter/lambda$17$Type",918),b(919,1,{},jMn),w(Ui,"JsonImporter/lambda$18$Type",919),b(924,1,{},Kkn),w(Ui,"JsonImporter/lambda$19$Type",924),b(905,1,{},_kn),w(Ui,"JsonImporter/lambda$2$Type",905),b(922,1,{},Hkn),w(Ui,"JsonImporter/lambda$20$Type",922),b(923,1,{},qkn),w(Ui,"JsonImporter/lambda$21$Type",923),b(927,1,{},Ukn),w(Ui,"JsonImporter/lambda$22$Type",927),b(925,1,{},Gkn),w(Ui,"JsonImporter/lambda$23$Type",925),b(926,1,{},zkn),w(Ui,"JsonImporter/lambda$24$Type",926),b(929,1,{},Xkn),w(Ui,"JsonImporter/lambda$25$Type",929),b(928,1,{},Vkn),w(Ui,"JsonImporter/lambda$26$Type",928),b(930,1,ie,EMn),o.Cd=function(e){O4e(this.b,this.a,Oe(e))},w(Ui,"JsonImporter/lambda$27$Type",930),b(931,1,ie,CMn),o.Cd=function(e){D4e(this.b,this.a,Oe(e))},w(Ui,"JsonImporter/lambda$28$Type",931),b(932,1,{},MMn),w(Ui,"JsonImporter/lambda$29$Type",932),b(908,1,{},Wkn),w(Ui,"JsonImporter/lambda$3$Type",908),b(933,1,{},TMn),w(Ui,"JsonImporter/lambda$30$Type",933),b(934,1,{},Jkn),w(Ui,"JsonImporter/lambda$31$Type",934),b(935,1,{},Qkn),w(Ui,"JsonImporter/lambda$32$Type",935),b(936,1,{},Ykn),w(Ui,"JsonImporter/lambda$33$Type",936),b(937,1,{},Zkn),w(Ui,"JsonImporter/lambda$34$Type",937),b(870,1,{},nyn),w(Ui,"JsonImporter/lambda$35$Type",870),b(941,1,{},kSn),w(Ui,"JsonImporter/lambda$36$Type",941),b(938,1,ie,eyn),o.Cd=function(e){F3e(this.a,u(e,377))},w(Ui,"JsonImporter/lambda$37$Type",938),b(939,1,ie,AMn),o.Cd=function(e){mle(this.a,this.b,u(e,166))},w(Ui,"JsonImporter/lambda$38$Type",939),b(940,1,ie,SMn),o.Cd=function(e){vle(this.a,this.b,u(e,166))},w(Ui,"JsonImporter/lambda$39$Type",940),b(906,1,{},tyn),w(Ui,"JsonImporter/lambda$4$Type",906),b(942,1,ie,iyn),o.Cd=function(e){B3e(this.a,u(e,8))},w(Ui,"JsonImporter/lambda$40$Type",942),b(907,1,{},ryn),w(Ui,"JsonImporter/lambda$5$Type",907),b(911,1,{},cyn),w(Ui,"JsonImporter/lambda$6$Type",911),b(909,1,{},uyn),w(Ui,"JsonImporter/lambda$7$Type",909),b(910,1,{},oyn),w(Ui,"JsonImporter/lambda$8$Type",910),b(913,1,{},syn),w(Ui,"JsonImporter/lambda$9$Type",913),b(961,1,ie,fyn),o.Cd=function(e){Ip(this.a,new qb(Oe(e)))},w(Ui,"JsonMetaDataConverter/lambda$0$Type",961),b(962,1,ie,hyn),o.Cd=function(e){Pwe(this.a,u(e,245))},w(Ui,"JsonMetaDataConverter/lambda$1$Type",962),b(963,1,ie,lyn),o.Cd=function(e){S2e(this.a,u(e,143))},w(Ui,"JsonMetaDataConverter/lambda$2$Type",963),b(964,1,ie,ayn),o.Cd=function(e){Iwe(this.a,u(e,170))},w(Ui,"JsonMetaDataConverter/lambda$3$Type",964),b(245,22,{3:1,34:1,22:1,245:1},gp);var wO,gO,mU,pO,mO,vO,vU,kU,kO=we(Dy,"GraphFeature",245,ke,dme,tbe),Poe;b(11,1,{34:1,149:1},lt,Dt,Mn,Ni),o.Fd=function(e){return C1e(this,u(e,149))},o.Fb=function(e){return nOn(this,e)},o.Sg=function(){return rn(this)},o.Pg=function(){return this.b},o.Hb=function(){return t1(this.b)},o.Ib=function(){return this.b},w(Dy,"Property",11),b(671,1,Ne,tD),o.Ne=function(e,t){return N5e(this,u(e,96),u(t,96))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Dy,"PropertyHolderComparator",671),b(709,1,Si,xG),o.Nb=function(e){_i(this,e)},o.Pb=function(){return $4e(this)},o.Qb=function(){sEn()},o.Ob=function(){return!!this.a},w(_S,"ElkGraphUtil/AncestorIterator",709);var Ldn=Nt(or,"EList");b(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),o.bd=function(e,t){k5(this,e,t)},o.Fc=function(e){return ve(this,e)},o.cd=function(e,t){return JQ(this,e,t)},o.Gc=function(e){return Bt(this,e)},o.Ii=function(){return new yp(this)},o.Ji=function(){return new A7(this)},o.Ki=function(e){return vk(this,e)},o.Li=function(){return!0},o.Mi=function(e,t){},o.Ni=function(){},o.Oi=function(e,t){t$(this,e,t)},o.Pi=function(e,t,i){},o.Qi=function(e,t){},o.Ri=function(e,t,i){},o.Fb=function(e){return xqn(this,e)},o.Hb=function(){return zQ(this)},o.Si=function(){return!1},o.Kc=function(){return new ne(this)},o.ed=function(){return new kp(this)},o.fd=function(e){var t;if(t=this.gc(),e<0||e>t)throw M(new Kb(e,t));return new oN(this,e)},o.Ui=function(e,t){this.Ti(e,this.dd(t))},o.Mc=function(e){return rT(this,e)},o.Wi=function(e,t){return t},o.hd=function(e,t){return Bg(this,e,t)},o.Ib=function(){return KY(this)},o.Yi=function(){return!0},o.Zi=function(e,t){return rm(this,t)},w(or,"AbstractEList",70),b(66,70,Ch,EE,S0,KQ),o.Ei=function(e,t){return Zx(this,e,t)},o.Fi=function(e){return LRn(this,e)},o.Gi=function(e,t){Nk(this,e,t)},o.Hi=function(e){ik(this,e)},o.$i=function(e){return nQ(this,e)},o.$b=function(){t5(this)},o.Hc=function(e){return km(this,e)},o.Xb=function(e){return L(this,e)},o._i=function(e){var t,i,r;++this.j,i=this.g==null?0:this.g.length,e>i&&(r=this.g,t=i+(i/2|0)+4,t=0?(this.gd(t),!0):!1},o.Xi=function(e,t){return this.Dj(e,this.Zi(e,t))},o.gc=function(){return this.Ej()},o.Pc=function(){return this.Fj()},o.Qc=function(e){return this.Gj(e)},o.Ib=function(){return this.Hj()},w(or,"DelegatingEList",2093),b(2094,2093,YWn),o.Ei=function(e,t){return $en(this,e,t)},o.Fi=function(e){return this.Ei(this.Ej(),e)},o.Gi=function(e,t){EHn(this,e,t)},o.Hi=function(e){lHn(this,e)},o.Li=function(){return!this.Mj()},o.$b=function(){J5(this)},o.Ij=function(e,t,i,r,c){return new ZIn(this,e,t,i,r,c)},o.Jj=function(e){it(this.jj(),e)},o.Kj=function(){return null},o.Lj=function(){return-1},o.jj=function(){return null},o.Mj=function(){return!1},o.Nj=function(e,t){return t},o.Oj=function(e,t){return t},o.Pj=function(){return!1},o.Qj=function(){return!this.Aj()},o.Ti=function(e,t){var i,r;return this.Pj()?(r=this.Qj(),i=onn(this,e,t),this.Jj(this.Ij(7,Y(t),i,e,r)),i):onn(this,e,t)},o.gd=function(e){var t,i,r,c;return this.Pj()?(i=null,r=this.Qj(),t=this.Ij(4,c=tM(this,e),null,e,r),this.Mj()&&c?(i=this.Oj(c,i),i?(i.nj(t),i.oj()):this.Jj(t)):i?(i.nj(t),i.oj()):this.Jj(t),c):(c=tM(this,e),this.Mj()&&c&&(i=this.Oj(c,null),i&&i.oj()),c)},o.Xi=function(e,t){return IUn(this,e,t)},w(g3,"DelegatingNotifyingListImpl",2094),b(152,1,Wy),o.nj=function(e){return zZ(this,e)},o.oj=function(){h$(this)},o.gj=function(){return this.d},o.Kj=function(){return null},o.Rj=function(){return null},o.hj=function(e){return-1},o.ij=function(){return pqn(this)},o.jj=function(){return null},o.kj=function(){return aen(this)},o.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},o.Sj=function(){return!1},o.mj=function(e){var t,i,r,c,s,f,h,l,a,d,g;switch(this.d){case 1:case 2:switch(c=e.gj(),c){case 1:case 2:if(s=e.jj(),x(s)===x(this.jj())&&this.hj(null)==e.hj(null))return this.g=e.ij(),e.gj()==1&&(this.d=1),!0}case 4:{switch(c=e.gj(),c){case 4:{if(s=e.jj(),x(s)===x(this.jj())&&this.hj(null)==e.hj(null))return a=Yen(this),l=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,f=e.lj(),this.d=6,g=new S0(2),l<=f?(ve(g,this.n),ve(g,e.kj()),this.g=S(T(ye,1),Ke,28,15,[this.o=l,f+1])):(ve(g,e.kj()),ve(g,this.n),this.g=S(T(ye,1),Ke,28,15,[this.o=f,l])),this.n=g,a||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(c=e.gj(),c){case 4:{if(s=e.jj(),x(s)===x(this.jj())&&this.hj(null)==e.hj(null)){for(a=Yen(this),f=e.lj(),d=u(this.g,53),r=K(ye,Ke,28,d.length+1,15,1),t=0;t>>0,t.toString(16))),r.a+=" (eventType: ",this.d){case 1:{r.a+="SET";break}case 2:{r.a+="UNSET";break}case 3:{r.a+="ADD";break}case 5:{r.a+="ADD_MANY";break}case 4:{r.a+="REMOVE";break}case 6:{r.a+="REMOVE_MANY";break}case 7:{r.a+="MOVE";break}case 8:{r.a+="REMOVING_ADAPTER";break}case 9:{r.a+="RESOLVE";break}default:{TD(r,this.d);break}}if(rUn(this)&&(r.a+=", touch: true"),r.a+=", position: ",TD(r,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),r.a+=", notifier: ",T6(r,this.jj()),r.a+=", feature: ",T6(r,this.Kj()),r.a+=", oldValue: ",T6(r,aen(this)),r.a+=", newValue: ",this.d==6&&O(this.g,53)){for(i=u(this.g,53),r.a+="[",e=0;e10?((!this.b||this.c.j!=this.a)&&(this.b=new B6(this),this.a=this.j),of(this.b,e)):km(this,e)},o.Yi=function(){return!0},o.a=0,w(or,"AbstractEList/1",966),b(302,77,AB,Kb),w(or,"AbstractEList/BasicIndexOutOfBoundsException",302),b(37,1,Si,ne),o.Nb=function(e){_i(this,e)},o.Xj=function(){if(this.i.j!=this.f)throw M(new Bo)},o.Yj=function(){return ce(this)},o.Ob=function(){return this.e!=this.i.gc()},o.Pb=function(){return this.Yj()},o.Qb=function(){D5(this)},o.e=0,o.f=0,o.g=-1,w(or,"AbstractEList/EIterator",37),b(286,37,Hh,kp,oN),o.Qb=function(){D5(this)},o.Rb=function(e){OBn(this,e)},o.Zj=function(){var e;try{return e=this.d.Xb(--this.e),this.Xj(),this.g=this.e,e}catch(t){throw t=It(t),O(t,77)?(this.Xj(),M(new nc)):M(t)}},o.$j=function(e){xRn(this,e)},o.Sb=function(){return this.e!=0},o.Tb=function(){return this.e},o.Ub=function(){return this.Zj()},o.Vb=function(){return this.e-1},o.Wb=function(e){this.$j(e)},w(or,"AbstractEList/EListIterator",286),b(355,37,Si,yp),o.Yj=function(){return Mx(this)},o.Qb=function(){throw M(new Pe)},w(or,"AbstractEList/NonResolvingEIterator",355),b(398,286,Hh,A7,SV),o.Rb=function(e){throw M(new Pe)},o.Yj=function(){var e;try{return e=this.c.Vi(this.e),this.Xj(),this.g=this.e++,e}catch(t){throw t=It(t),O(t,77)?(this.Xj(),M(new nc)):M(t)}},o.Zj=function(){var e;try{return e=this.c.Vi(--this.e),this.Xj(),this.g=this.e,e}catch(t){throw t=It(t),O(t,77)?(this.Xj(),M(new nc)):M(t)}},o.Qb=function(){throw M(new Pe)},o.Wb=function(e){throw M(new Pe)},w(or,"AbstractEList/NonResolvingEListIterator",398),b(2080,70,ZWn),o.Ei=function(e,t){var i,r,c,s,f,h,l,a,d,g,p;if(c=t.gc(),c!=0){for(a=u(Un(this.a,4),129),d=a==null?0:a.length,p=d+c,r=V$(this,p),g=d-e,g>0&&Ic(a,e,r,e+c,g),l=t.Kc(),f=0;fi)throw M(new Kb(e,i));return new yIn(this,e)},o.$b=function(){var e,t;++this.j,e=u(Un(this.a,4),129),t=e==null?0:e.length,gm(this,null),t$(this,t,e)},o.Hc=function(e){var t,i,r,c,s;if(t=u(Un(this.a,4),129),t!=null){if(e!=null){for(r=t,c=0,s=r.length;c=i)throw M(new Kb(e,i));return t[e]},o.dd=function(e){var t,i,r;if(t=u(Un(this.a,4),129),t!=null){if(e!=null){for(i=0,r=t.length;ii)throw M(new Kb(e,i));return new kIn(this,e)},o.Ti=function(e,t){var i,r,c;if(i=_Bn(this),c=i==null?0:i.length,e>=c)throw M(new Ir(vK+e+Td+c));if(t>=c)throw M(new Ir(kK+t+Td+c));return r=i[t],e!=t&&(e0&&Ic(e,0,t,0,i),t},o.Qc=function(e){var t,i,r;return t=u(Un(this.a,4),129),r=t==null?0:t.length,r>0&&(e.lengthr&&$t(e,r,null),e};var Ioe;w(or,"ArrayDelegatingEList",2080),b(1051,37,Si,jLn),o.Xj=function(){if(this.b.j!=this.f||x(u(Un(this.b.a,4),129))!==x(this.a))throw M(new Bo)},o.Qb=function(){D5(this),this.a=u(Un(this.b.a,4),129)},w(or,"ArrayDelegatingEList/EIterator",1051),b(722,286,Hh,NPn,kIn),o.Xj=function(){if(this.b.j!=this.f||x(u(Un(this.b.a,4),129))!==x(this.a))throw M(new Bo)},o.$j=function(e){xRn(this,e),this.a=u(Un(this.b.a,4),129)},o.Qb=function(){D5(this),this.a=u(Un(this.b.a,4),129)},w(or,"ArrayDelegatingEList/EListIterator",722),b(1052,355,Si,ELn),o.Xj=function(){if(this.b.j!=this.f||x(u(Un(this.b.a,4),129))!==x(this.a))throw M(new Bo)},w(or,"ArrayDelegatingEList/NonResolvingEIterator",1052),b(723,398,Hh,$Pn,yIn),o.Xj=function(){if(this.b.j!=this.f||x(u(Un(this.b.a,4),129))!==x(this.a))throw M(new Bo)},w(or,"ArrayDelegatingEList/NonResolvingEListIterator",723),b(615,302,AB,aL),w(or,"BasicEList/BasicIndexOutOfBoundsException",615),b(710,66,Ch,gX),o.bd=function(e,t){throw M(new Pe)},o.Fc=function(e){throw M(new Pe)},o.cd=function(e,t){throw M(new Pe)},o.Gc=function(e){throw M(new Pe)},o.$b=function(){throw M(new Pe)},o._i=function(e){throw M(new Pe)},o.Kc=function(){return this.Ii()},o.ed=function(){return this.Ji()},o.fd=function(e){return this.Ki(e)},o.Ti=function(e,t){throw M(new Pe)},o.Ui=function(e,t){throw M(new Pe)},o.gd=function(e){throw M(new Pe)},o.Mc=function(e){throw M(new Pe)},o.hd=function(e,t){throw M(new Pe)},w(or,"BasicEList/UnmodifiableEList",710),b(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),o.bd=function(e,t){a1e(this,e,u(t,44))},o.Fc=function(e){return cae(this,u(e,44))},o.Jc=function(e){qi(this,e)},o.Xb=function(e){return u(L(this.c,e),136)},o.Ti=function(e,t){return u(this.c.Ti(e,t),44)},o.Ui=function(e,t){d1e(this,e,u(t,44))},o.Lc=function(){return new Tn(null,new In(this,16))},o.gd=function(e){return u(this.c.gd(e),44)},o.hd=function(e,t){return Swe(this,e,u(t,44))},o.jd=function(e){ud(this,e)},o.Nc=function(){return new In(this,16)},o.Oc=function(){return new Tn(null,new In(this,16))},o.cd=function(e,t){return this.c.cd(e,t)},o.Gc=function(e){return this.c.Gc(e)},o.$b=function(){this.c.$b()},o.Hc=function(e){return this.c.Hc(e)},o.Ic=function(e){return Mk(this.c,e)},o._j=function(){var e,t,i;if(this.d==null){for(this.d=K(Ndn,qcn,66,2*this.f+1,0,1),i=this.e,this.f=0,t=this.c.Kc();t.e!=t.i.gc();)e=u(t.Yj(),136),uA(this,e);this.e=i}},o.Fb=function(e){return sSn(this,e)},o.Hb=function(){return zQ(this.c)},o.dd=function(e){return this.c.dd(e)},o.ak=function(){this.c=new dyn(this)},o.dc=function(){return this.f==0},o.Kc=function(){return this.c.Kc()},o.ed=function(){return this.c.ed()},o.fd=function(e){return this.c.fd(e)},o.bk=function(){return uk(this)},o.ck=function(e,t,i){return new ySn(e,t,i)},o.dk=function(){return new pvn},o.Mc=function(e){return V$n(this,e)},o.gc=function(){return this.f},o.kd=function(e,t){return new Jl(this.c,e,t)},o.Pc=function(){return this.c.Pc()},o.Qc=function(e){return this.c.Qc(e)},o.Ib=function(){return KY(this.c)},o.e=0,o.f=0,w(or,"BasicEMap",721),b(1046,66,Ch,dyn),o.Mi=function(e,t){Ufe(this,u(t,136))},o.Pi=function(e,t,i){var r;++(r=this,u(t,136),r).a.e},o.Qi=function(e,t){Gfe(this,u(t,136))},o.Ri=function(e,t,i){U1e(this,u(t,136),u(i,136))},o.Oi=function(e,t){_xn(this.a)},w(or,"BasicEMap/1",1046),b(1047,66,Ch,pvn),o.aj=function(e){return K(DNe,nJn,621,e,0,1)},w(or,"BasicEMap/2",1047),b(1048,Rf,Lu,byn),o.$b=function(){this.a.c.$b()},o.Hc=function(e){return wx(this.a,e)},o.Kc=function(){return this.a.f==0?(m4(),aE.a):new Jjn(this.a)},o.Mc=function(e){var t;return t=this.a.f,VT(this.a,e),this.a.f!=t},o.gc=function(){return this.a.f},w(or,"BasicEMap/3",1048),b(1049,31,pw,wyn),o.$b=function(){this.a.c.$b()},o.Hc=function(e){return Fqn(this.a,e)},o.Kc=function(){return this.a.f==0?(m4(),aE.a):new Qjn(this.a)},o.gc=function(){return this.a.f},w(or,"BasicEMap/4",1049),b(1050,Rf,Lu,gyn),o.$b=function(){this.a.c.$b()},o.Hc=function(e){var t,i,r,c,s,f,h,l,a;if(this.a.f>0&&O(e,44)&&(this.a._j(),l=u(e,44),h=l.ld(),c=h==null?0:mt(h),s=dV(this.a,c),t=this.a.d[s],t)){for(i=u(t.g,379),a=t.i,f=0;f"+this.c},o.a=0;var DNe=w(or,"BasicEMap/EntryImpl",621);b(546,1,{},CE),w(or,"BasicEMap/View",546);var aE;b(783,1,{}),o.Fb=function(e){return Wnn((Dn(),sr),e)},o.Hb=function(){return rY((Dn(),sr))},o.Ib=function(){return ra((Dn(),sr))},w(or,"ECollections/BasicEmptyUnmodifiableEList",783),b(1348,1,Hh,mvn),o.Nb=function(e){_i(this,e)},o.Rb=function(e){throw M(new Pe)},o.Ob=function(){return!1},o.Sb=function(){return!1},o.Pb=function(){throw M(new nc)},o.Tb=function(){return 0},o.Ub=function(){throw M(new nc)},o.Vb=function(){return-1},o.Qb=function(){throw M(new Pe)},o.Wb=function(e){throw M(new Pe)},w(or,"ECollections/BasicEmptyUnmodifiableEList/1",1348),b(1346,783,{20:1,16:1,15:1,61:1},ujn),o.bd=function(e,t){yEn()},o.Fc=function(e){return jEn()},o.cd=function(e,t){return EEn()},o.Gc=function(e){return CEn()},o.$b=function(){MEn()},o.Hc=function(e){return!1},o.Ic=function(e){return!1},o.Jc=function(e){qi(this,e)},o.Xb=function(e){return vX((Dn(),e)),null},o.dd=function(e){return-1},o.dc=function(){return!0},o.Kc=function(){return this.a},o.ed=function(){return this.a},o.fd=function(e){return this.a},o.Ti=function(e,t){return TEn()},o.Ui=function(e,t){AEn()},o.Lc=function(){return new Tn(null,new In(this,16))},o.gd=function(e){return SEn()},o.Mc=function(e){return PEn()},o.hd=function(e,t){return IEn()},o.gc=function(){return 0},o.jd=function(e){ud(this,e)},o.Nc=function(){return new In(this,16)},o.Oc=function(){return new Tn(null,new In(this,16))},o.kd=function(e,t){return Dn(),new Jl(sr,e,t)},o.Pc=function(){return gW((Dn(),sr))},o.Qc=function(e){return Dn(),S5(sr,e)},w(or,"ECollections/EmptyUnmodifiableEList",1346),b(1347,783,{20:1,16:1,15:1,61:1,597:1},ojn),o.bd=function(e,t){yEn()},o.Fc=function(e){return jEn()},o.cd=function(e,t){return EEn()},o.Gc=function(e){return CEn()},o.$b=function(){MEn()},o.Hc=function(e){return!1},o.Ic=function(e){return!1},o.Jc=function(e){qi(this,e)},o.Xb=function(e){return vX((Dn(),e)),null},o.dd=function(e){return-1},o.dc=function(){return!0},o.Kc=function(){return this.a},o.ed=function(){return this.a},o.fd=function(e){return this.a},o.Ti=function(e,t){return TEn()},o.Ui=function(e,t){AEn()},o.Lc=function(){return new Tn(null,new In(this,16))},o.gd=function(e){return SEn()},o.Mc=function(e){return PEn()},o.hd=function(e,t){return IEn()},o.gc=function(){return 0},o.jd=function(e){ud(this,e)},o.Nc=function(){return new In(this,16)},o.Oc=function(){return new Tn(null,new In(this,16))},o.kd=function(e,t){return Dn(),new Jl(sr,e,t)},o.Pc=function(){return gW((Dn(),sr))},o.Qc=function(e){return Dn(),S5(sr,e)},o.bk=function(){return Dn(),Dn(),Wh},w(or,"ECollections/EmptyUnmodifiableEMap",1347);var xdn=Nt(or,"Enumerator"),yO;b(288,1,{288:1},jF),o.Fb=function(e){var t;return this===e?!0:O(e,288)?(t=u(e,288),this.f==t.f&&Ube(this.i,t.i)&&WL(this.a,this.f&256?t.f&256?t.a:null:t.f&256?null:t.a)&&WL(this.d,t.d)&&WL(this.g,t.g)&&WL(this.e,t.e)&&b9e(this,t)):!1},o.Hb=function(){return this.f},o.Ib=function(){return gUn(this)},o.f=0;var Ooe=0,Doe=0,Loe=0,Noe=0,Fdn=0,Bdn=0,Rdn=0,Kdn=0,_dn=0,$oe,N9=0,$9=0,xoe=0,Foe=0,jO,Hdn;w(or,"URI",288),b(1121,45,Zg,sjn),o.zc=function(e,t){return u(Dr(this,Oe(e),u(t,288)),288)},w(or,"URI/URICache",1121),b(506,66,Ch,avn,sM),o.Si=function(){return!0},w(or,"UniqueEList",506),b(590,63,Pl,eT),w(or,"WrappedException",590);var He=Nt(ts,iJn),Zw=Nt(ts,rJn),ku=Nt(ts,cJn),ng=Nt(ts,uJn),Ef=Nt(ts,oJn),Ts=Nt(ts,"EClass"),EU=Nt(ts,"EDataType"),Boe;b(1233,45,Zg,fjn),o.xc=function(e){return Ai(e)?Nc(this,e):Kr(wr(this.f,e))},w(ts,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var EO=Nt(ts,"EEnum"),Bl=Nt(ts,sJn),jr=Nt(ts,fJn),As=Nt(ts,hJn),Ss,yb=Nt(ts,lJn),eg=Nt(ts,aJn);b(1042,1,{},lvn),o.Ib=function(){return"NIL"},w(ts,"EStructuralFeature/Internal/DynamicValueHolder/1",1042);var Roe;b(1041,45,Zg,hjn),o.xc=function(e){return Ai(e)?Nc(this,e):Kr(wr(this.f,e))},w(ts,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var fu=Nt(ts,dJn),R3=Nt(ts,"EValidator/PatternMatcher"),qdn,Udn,Hn,A1,tg,Da,Koe,_oe,Hoe,La,S1,Na,jb,Yf,qoe,Uoe,Ps,P1,Goe,I1,ig,q2,ar,zoe,Xoe,Eb,CO=Nt(Tt,"FeatureMap/Entry");b(545,1,{76:1},MC),o.Lk=function(){return this.a},o.md=function(){return this.b},w(qn,"BasicEObjectImpl/1",545),b(1040,1,TK,DMn),o.Fk=function(e){return YN(this.a,this.b,e)},o.Qj=function(){return bOn(this.a,this.b)},o.Wb=function(e){rJ(this.a,this.b,e)},o.Gk=function(){_we(this.a,this.b)},w(qn,"BasicEObjectImpl/4",1040),b(2081,1,{114:1}),o.Mk=function(e){this.e=e==0?Voe:K(ki,Fn,1,e,5,1)},o.li=function(e){return this.e[e]},o.mi=function(e,t){this.e[e]=t},o.ni=function(e){this.e[e]=null},o.Nk=function(){return this.c},o.Ok=function(){throw M(new Pe)},o.Pk=function(){throw M(new Pe)},o.Qk=function(){return this.d},o.Rk=function(){return this.e!=null},o.Sk=function(e){this.c=e},o.Tk=function(e){throw M(new Pe)},o.Uk=function(e){throw M(new Pe)},o.Vk=function(e){this.d=e};var Voe;w(qn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),b(192,2081,{114:1},cf),o.Ok=function(){return this.a},o.Pk=function(){return this.b},o.Tk=function(e){this.a=e},o.Uk=function(e){this.b=e},w(qn,"BasicEObjectImpl/EPropertiesHolderImpl",192),b(516,99,bWn,ME),o.uh=function(){return this.f},o.zh=function(){return this.k},o.Bh=function(e,t){this.g=e,this.i=t},o.Dh=function(){return this.j&2?this.$h().Nk():this.ii()},o.Fh=function(){return this.i},o.wh=function(){return(this.j&1)!=0},o.Ph=function(){return this.g},o.Vh=function(){return(this.j&4)!=0},o.$h=function(){return!this.k&&(this.k=new cf),this.k},o.ci=function(e){this.$h().Sk(e),e?this.j|=2:this.j&=-3},o.ei=function(e){this.$h().Uk(e),e?this.j|=4:this.j&=-5},o.ii=function(){return(G1(),Hn).S},o.i=0,o.j=1,w(qn,"EObjectImpl",516),b(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},ZV),o.li=function(e){return this.e[e]},o.mi=function(e,t){this.e[e]=t},o.ni=function(e){this.e[e]=null},o.Dh=function(){return this.d},o.Ih=function(e){return Ot(this.d,e)},o.Kh=function(){return this.d},o.Oh=function(){return this.e!=null},o.$h=function(){return!this.k&&(this.k=new vvn),this.k},o.ci=function(e){this.d=e},o.hi=function(){var e;return this.e==null&&(e=se(this.d),this.e=e==0?Woe:K(ki,Fn,1,e,5,1)),this},o.ji=function(){return 0};var Woe;w(qn,"DynamicEObjectImpl",798),b(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},zSn),o.Fb=function(e){return this===e},o.Hb=function(){return l0(this)},o.ci=function(e){this.d=e,this.b=oy(e,"key"),this.c=oy(e,v8)},o.Bi=function(){var e;return this.a==-1&&(e=l$(this,this.b),this.a=e==null?0:mt(e)),this.a},o.ld=function(){return l$(this,this.b)},o.md=function(){return l$(this,this.c)},o.Ci=function(e){this.a=e},o.Di=function(e){rJ(this,this.b,e)},o.nd=function(e){var t;return t=l$(this,this.c),rJ(this,this.c,e),t},o.a=0,w(qn,"DynamicEObjectImpl/BasicEMapEntry",1522),b(1523,1,{114:1},vvn),o.Mk=function(e){throw M(new Pe)},o.li=function(e){throw M(new Pe)},o.mi=function(e,t){throw M(new Pe)},o.ni=function(e){throw M(new Pe)},o.Nk=function(){throw M(new Pe)},o.Ok=function(){return this.a},o.Pk=function(){return this.b},o.Qk=function(){return this.c},o.Rk=function(){throw M(new Pe)},o.Sk=function(e){throw M(new Pe)},o.Tk=function(e){this.a=e},o.Uk=function(e){this.b=e},o.Vk=function(e){this.c=e},w(qn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),b(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},tG),o.Ah=function(e){return PZ(this,e)},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.d;case 2:return i?(!this.b&&(this.b=new lo((On(),ar),pc,this)),this.b):(!this.b&&(this.b=new lo((On(),ar),pc,this)),uk(this.b));case 3:return vOn(this);case 4:return!this.a&&(this.a=new ti(Ia,this,4)),this.a;case 5:return!this.c&&(this.c=new jg(Ia,this,5)),this.c}return zo(this,e-se((On(),A1)),$n((r=u(Un(this,16),29),r||A1),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i);case 3:return this.Cb&&(i=(c=this.Db>>16,c>=0?PZ(this,i):this.Cb.Th(this,-1-c,null,i))),wW(this,u(e,155),i)}return s=u($n((r=u(Un(this,16),29),r||(On(),A1)),t),69),s.wk().zk(this,iu(this),t-se((On(),A1)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 2:return!this.b&&(this.b=new lo((On(),ar),pc,this)),UC(this.b,e,i);case 3:return wW(this,null,i);case 4:return!this.a&&(this.a=new ti(Ia,this,4)),cr(this.a,e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),A1)),t),69),c.wk().Ak(this,iu(this),t-se((On(),A1)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!vOn(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return Uo(this,e-se((On(),A1)),$n((t=u(Un(this,16),29),t||A1),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:Obe(this,Oe(t));return;case 2:!this.b&&(this.b=new lo((On(),ar),pc,this)),TT(this.b,t);return;case 3:rqn(this,u(t,155));return;case 4:!this.a&&(this.a=new ti(Ia,this,4)),me(this.a),!this.a&&(this.a=new ti(Ia,this,4)),Bt(this.a,u(t,16));return;case 5:!this.c&&(this.c=new jg(Ia,this,5)),me(this.c),!this.c&&(this.c=new jg(Ia,this,5)),Bt(this.c,u(t,16));return}Jo(this,e-se((On(),A1)),$n((i=u(Un(this,16),29),i||A1),e),t)},o.ii=function(){return On(),A1},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:IQ(this,null);return;case 2:!this.b&&(this.b=new lo((On(),ar),pc,this)),this.b.c.$b();return;case 3:rqn(this,null);return;case 4:!this.a&&(this.a=new ti(Ia,this,4)),me(this.a);return;case 5:!this.c&&(this.c=new jg(Ia,this,5)),me(this.c);return}Wo(this,e-se((On(),A1)),$n((t=u(Un(this,16),29),t||A1),e))},o.Ib=function(){return sBn(this)},o.d=null,w(qn,"EAnnotationImpl",519),b(141,721,Ucn,Iu),o.Gi=function(e,t){Wle(this,e,u(t,44))},o.Wk=function(e,t){return Qae(this,u(e,44),t)},o.$i=function(e){return u(u(this.c,71).$i(e),136)},o.Ii=function(){return u(this.c,71).Ii()},o.Ji=function(){return u(this.c,71).Ji()},o.Ki=function(e){return u(this.c,71).Ki(e)},o.Xk=function(e,t){return UC(this,e,t)},o.Fk=function(e){return u(this.c,79).Fk(e)},o.ak=function(){},o.Qj=function(){return u(this.c,79).Qj()},o.ck=function(e,t,i){var r;return r=u(jo(this.b).wi().si(this.b),136),r.Ci(e),r.Di(t),r.nd(i),r},o.dk=function(){return new BG(this)},o.Wb=function(e){TT(this,e)},o.Gk=function(){u(this.c,79).Gk()},w(Tt,"EcoreEMap",141),b(165,141,Ucn,lo),o._j=function(){var e,t,i,r,c,s;if(this.d==null){for(s=K(Ndn,qcn,66,2*this.f+1,0,1),i=this.c.Kc();i.e!=i.i.gc();)t=u(i.Yj(),136),r=t.Bi(),c=(r&et)%s.length,e=s[c],!e&&(e=s[c]=new BG(this)),e.Fc(t);this.d=s}},w(qn,"EAnnotationImpl/1",165),b(292,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,481:1,54:1,99:1,158:1,292:1,119:1,120:1}),o.Lh=function(e,t,i){var r,c;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),!!this.Jk();case 7:return _n(),c=this.s,c>=1;case 8:return t?ws(this):this.r;case 9:return this.q}return zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 9:return hN(this,i)}return c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().Ak(this,iu(this),t-se(this.ii()),e,i)},o.Wh=function(e){var t,i;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0)}return Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:this.ui(Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:this.Zk(u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Ff(this,u(t,89),null),r&&r.oj();return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.ii=function(){return On(),Xoe},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:this.ui(null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:this.Zk(1);return;case 8:ad(this,null);return;case 9:i=Ff(this,null,null),i&&i.oj();return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.pi=function(){ws(this),this.Bb|=1},o.Hk=function(){return ws(this)},o.Ik=function(){return this.t},o.Jk=function(){var e;return e=this.t,e>1||e==-1},o.Si=function(){return(this.Bb&512)!=0},o.Yk=function(e,t){return EY(this,e,t)},o.Zk=function(e){Zb(this,e)},o.Ib=function(){return Knn(this)},o.s=0,o.t=1,w(qn,"ETypedElementImpl",292),b(462,292,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,462:1,292:1,119:1,120:1,692:1}),o.Ah=function(e){return QRn(this,e)},o.Lh=function(e,t,i){var r,c;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),!!this.Jk();case 7:return _n(),c=this.s,c>=1;case 8:return t?ws(this):this.r;case 9:return this.q;case 10:return _n(),!!(this.Bb&Us);case 11:return _n(),!!(this.Bb&Tw);case 12:return _n(),!!(this.Bb&vw);case 13:return this.j;case 14:return Tm(this);case 15:return _n(),!!(this.Bb&$u);case 16:return _n(),!!(this.Bb&wh);case 17:return Gb(this)}return zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i);case 17:return this.Cb&&(i=(c=this.Db>>16,c>=0?QRn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,17,i)}return s=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),s.wk().zk(this,iu(this),t-se(this.ii()),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 9:return hN(this,i);case 17:return So(this,null,17,i)}return c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().Ak(this,iu(this),t-se(this.ii()),e,i)},o.Wh=function(e){var t,i;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return(this.Bb&Us)==0;case 11:return(this.Bb&Tw)!=0;case 12:return(this.Bb&vw)!=0;case 13:return this.j!=null;case 14:return Tm(this)!=null;case 15:return(this.Bb&$u)!=0;case 16:return(this.Bb&wh)!=0;case 17:return!!Gb(this)}return Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:FN(this,Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:this.Zk(u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Ff(this,u(t,89),null),r&&r.oj();return;case 10:fm(this,on(un(t)));return;case 11:am(this,on(un(t)));return;case 12:hm(this,on(un(t)));return;case 13:wX(this,Oe(t));return;case 15:lm(this,on(un(t)));return;case 16:dm(this,on(un(t)));return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.ii=function(){return On(),zoe},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:O(this.Cb,90)&&hw(Zu(u(this.Cb,90)),4),zc(this,null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:this.Zk(1);return;case 8:ad(this,null);return;case 9:i=Ff(this,null,null),i&&i.oj();return;case 10:fm(this,!0);return;case 11:am(this,!1);return;case 12:hm(this,!1);return;case 13:this.i=null,kT(this,null);return;case 15:lm(this,!1);return;case 16:dm(this,!1);return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.pi=function(){P4(Lr((Du(),zi),this)),ws(this),this.Bb|=1},o.pk=function(){return this.f},o.ik=function(){return Tm(this)},o.qk=function(){return Gb(this)},o.uk=function(){return null},o.$k=function(){return this.k},o.Lj=function(){return this.n},o.vk=function(){return bA(this)},o.wk=function(){var e,t,i,r,c,s,f,h,l;return this.p||(i=Gb(this),(i.i==null&&bh(i),i.i).length,r=this.uk(),r&&se(Gb(r)),c=ws(this),f=c.kk(),e=f?f.i&1?f==so?Gt:f==ye?Gi:f==cg?sv:f==Pi?si:f==xa?tb:f==X2?ib:f==Fu?p3:I8:f:null,t=Tm(this),h=c.ik(),G5e(this),this.Bb&wh&&((s=xZ((Du(),zi),i))&&s!=this||(s=$p(Lr(zi,this))))?this.p=new NMn(this,s):this.Jk()?this.al()?r?this.Bb&$u?e?this.bl()?this.p=new Za(47,e,this,r):this.p=new Za(5,e,this,r):this.bl()?this.p=new rd(46,this,r):this.p=new rd(4,this,r):e?this.bl()?this.p=new Za(49,e,this,r):this.p=new Za(7,e,this,r):this.bl()?this.p=new rd(48,this,r):this.p=new rd(6,this,r):this.Bb&$u?e?e==Pd?this.p=new Xl(50,Soe,this):this.bl()?this.p=new Xl(43,e,this):this.p=new Xl(1,e,this):this.bl()?this.p=new Wl(42,this):this.p=new Wl(0,this):e?e==Pd?this.p=new Xl(41,Soe,this):this.bl()?this.p=new Xl(45,e,this):this.p=new Xl(3,e,this):this.bl()?this.p=new Wl(44,this):this.p=new Wl(2,this):O(c,156)?e==CO?this.p=new Wl(40,this):this.Bb&512?this.Bb&$u?e?this.p=new Xl(9,e,this):this.p=new Wl(8,this):e?this.p=new Xl(11,e,this):this.p=new Wl(10,this):this.Bb&$u?e?this.p=new Xl(13,e,this):this.p=new Wl(12,this):e?this.p=new Xl(15,e,this):this.p=new Wl(14,this):r?(l=r.t,l>1||l==-1?this.bl()?this.Bb&$u?e?this.p=new Za(25,e,this,r):this.p=new rd(24,this,r):e?this.p=new Za(27,e,this,r):this.p=new rd(26,this,r):this.Bb&$u?e?this.p=new Za(29,e,this,r):this.p=new rd(28,this,r):e?this.p=new Za(31,e,this,r):this.p=new rd(30,this,r):this.bl()?this.Bb&$u?e?this.p=new Za(33,e,this,r):this.p=new rd(32,this,r):e?this.p=new Za(35,e,this,r):this.p=new rd(34,this,r):this.Bb&$u?e?this.p=new Za(37,e,this,r):this.p=new rd(36,this,r):e?this.p=new Za(39,e,this,r):this.p=new rd(38,this,r)):this.bl()?this.Bb&$u?e?this.p=new Xl(17,e,this):this.p=new Wl(16,this):e?this.p=new Xl(19,e,this):this.p=new Wl(18,this):this.Bb&$u?e?this.p=new Xl(21,e,this):this.p=new Wl(20,this):e?this.p=new Xl(23,e,this):this.p=new Wl(22,this):this._k()?this.bl()?this.p=new jSn(u(c,29),this,r):this.p=new tJ(u(c,29),this,r):O(c,156)?e==CO?this.p=new Wl(40,this):this.Bb&$u?e?this.p=new yPn(t,h,this,(gx(),f==ye?Qdn:f==so?zdn:f==xa?Ydn:f==cg?Jdn:f==Pi?Wdn:f==X2?Zdn:f==Fu?Xdn:f==fs?Vdn:TU)):this.p=new NIn(u(c,156),t,h,this):e?this.p=new kPn(t,h,this,(gx(),f==ye?Qdn:f==so?zdn:f==xa?Ydn:f==cg?Jdn:f==Pi?Wdn:f==X2?Zdn:f==Fu?Xdn:f==fs?Vdn:TU)):this.p=new LIn(u(c,156),t,h,this):this.al()?r?this.Bb&$u?this.bl()?this.p=new CSn(u(c,29),this,r):this.p=new _V(u(c,29),this,r):this.bl()?this.p=new ESn(u(c,29),this,r):this.p=new HL(u(c,29),this,r):this.Bb&$u?this.bl()?this.p=new kAn(u(c,29),this):this.p=new eV(u(c,29),this):this.bl()?this.p=new vAn(u(c,29),this):this.p=new PL(u(c,29),this):this.bl()?r?this.Bb&$u?this.p=new MSn(u(c,29),this,r):this.p=new RV(u(c,29),this,r):this.Bb&$u?this.p=new yAn(u(c,29),this):this.p=new tV(u(c,29),this):r?this.Bb&$u?this.p=new TSn(u(c,29),this,r):this.p=new KV(u(c,29),this,r):this.Bb&$u?this.p=new jAn(u(c,29),this):this.p=new oM(u(c,29),this)),this.p},o.rk=function(){return(this.Bb&Us)!=0},o._k=function(){return!1},o.al=function(){return!1},o.sk=function(){return(this.Bb&wh)!=0},o.xk=function(){return a$(this)},o.bl=function(){return!1},o.tk=function(){return(this.Bb&$u)!=0},o.cl=function(e){this.k=e},o.ui=function(e){FN(this,e)},o.Ib=function(){return $A(this)},o.e=!1,o.n=0,w(qn,"EStructuralFeatureImpl",462),b(331,462,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,331:1,158:1,462:1,292:1,119:1,120:1,692:1},fD),o.Lh=function(e,t,i){var r,c;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),!!Nnn(this);case 7:return _n(),c=this.s,c>=1;case 8:return t?ws(this):this.r;case 9:return this.q;case 10:return _n(),!!(this.Bb&Us);case 11:return _n(),!!(this.Bb&Tw);case 12:return _n(),!!(this.Bb&vw);case 13:return this.j;case 14:return Tm(this);case 15:return _n(),!!(this.Bb&$u);case 16:return _n(),!!(this.Bb&wh);case 17:return Gb(this);case 18:return _n(),!!(this.Bb&kc);case 19:return t?x$(this):FLn(this)}return zo(this,e-se((On(),tg)),$n((r=u(Un(this,16),29),r||tg),e),t,i)},o.Wh=function(e){var t,i;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return Nnn(this);case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return(this.Bb&Us)==0;case 11:return(this.Bb&Tw)!=0;case 12:return(this.Bb&vw)!=0;case 13:return this.j!=null;case 14:return Tm(this)!=null;case 15:return(this.Bb&$u)!=0;case 16:return(this.Bb&wh)!=0;case 17:return!!Gb(this);case 18:return(this.Bb&kc)!=0;case 19:return!!FLn(this)}return Uo(this,e-se((On(),tg)),$n((t=u(Un(this,16),29),t||tg),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:FN(this,Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:nEn(this,u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Ff(this,u(t,89),null),r&&r.oj();return;case 10:fm(this,on(un(t)));return;case 11:am(this,on(un(t)));return;case 12:hm(this,on(un(t)));return;case 13:wX(this,Oe(t));return;case 15:lm(this,on(un(t)));return;case 16:dm(this,on(un(t)));return;case 18:sx(this,on(un(t)));return}Jo(this,e-se((On(),tg)),$n((i=u(Un(this,16),29),i||tg),e),t)},o.ii=function(){return On(),tg},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:O(this.Cb,90)&&hw(Zu(u(this.Cb,90)),4),zc(this,null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:this.b=0,Zb(this,1);return;case 8:ad(this,null);return;case 9:i=Ff(this,null,null),i&&i.oj();return;case 10:fm(this,!0);return;case 11:am(this,!1);return;case 12:hm(this,!1);return;case 13:this.i=null,kT(this,null);return;case 15:lm(this,!1);return;case 16:dm(this,!1);return;case 18:sx(this,!1);return}Wo(this,e-se((On(),tg)),$n((t=u(Un(this,16),29),t||tg),e))},o.pi=function(){x$(this),P4(Lr((Du(),zi),this)),ws(this),this.Bb|=1},o.Jk=function(){return Nnn(this)},o.Yk=function(e,t){return this.b=0,this.a=null,EY(this,e,t)},o.Zk=function(e){nEn(this,e)},o.Ib=function(){var e;return this.Db&64?$A(this):(e=new ls($A(this)),e.a+=" (iD: ",ql(e,(this.Bb&kc)!=0),e.a+=")",e.a)},o.b=0,w(qn,"EAttributeImpl",331),b(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),o.dl=function(e){return e.Dh()==this},o.Ah=function(e){return _x(this,e)},o.Bh=function(e,t){this.w=null,this.Db=t<<16|this.Db&255,this.Cb=e},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return K0(this);case 4:return this.ik();case 5:return this.F;case 6:return t?jo(this):D4(this);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),this.A}return zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i);case 6:return this.Cb&&(i=(c=this.Db>>16,c>=0?_x(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,6,i)}return s=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),s.wk().zk(this,iu(this),t-se(this.ii()),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 6:return So(this,null,6,i);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),cr(this.A,e,i)}return c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().Ak(this,iu(this),t-se(this.ii()),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!K0(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!D4(this);case 7:return!!this.A&&this.A.i!=0}return Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:xM(this,Oe(t));return;case 2:wL(this,Oe(t));return;case 5:Lm(this,Oe(t));return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A),!this.A&&(this.A=new Tu(fu,this,7)),Bt(this.A,u(t,16));return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.ii=function(){return On(),Koe},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:O(this.Cb,184)&&(u(this.Cb,184).tb=null),zc(this,null);return;case 2:um(this,null),G4(this,this.D);return;case 5:Lm(this,null);return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A);return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.hk=function(){var e;return this.G==-1&&(this.G=(e=jo(this),e?f1(e.vi(),this):-1)),this.G},o.ik=function(){return null},o.jk=function(){return jo(this)},o.el=function(){return this.v},o.kk=function(){return K0(this)},o.lk=function(){return this.D!=null?this.D:this.B},o.mk=function(){return this.F},o.fk=function(e){return OF(this,e)},o.fl=function(e){this.v=e},o.gl=function(e){yxn(this,e)},o.hl=function(e){this.C=e},o.ui=function(e){xM(this,e)},o.Ib=function(){return UT(this)},o.C=null,o.D=null,o.G=-1,w(qn,"EClassifierImpl",364),b(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,482:1,119:1,120:1,691:1},uG),o.dl=function(e){return Nae(this,e.Dh())},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return K0(this);case 4:return null;case 5:return this.F;case 6:return t?jo(this):D4(this);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),this.A;case 8:return _n(),!!(this.Bb&256);case 9:return _n(),!!(this.Bb&512);case 10:return Hr(this);case 11:return!this.q&&(this.q=new q(As,this,11,10)),this.q;case 12:return Wg(this);case 13:return X5(this);case 14:return X5(this),this.r;case 15:return Wg(this),this.k;case 16:return Enn(this);case 17:return $F(this);case 18:return bh(this);case 19:return TA(this);case 20:return Wg(this),this.o;case 21:return!this.s&&(this.s=new q(ku,this,21,17)),this.s;case 22:return Sc(this);case 23:return yF(this)}return zo(this,e-se((On(),Da)),$n((r=u(Un(this,16),29),r||Da),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i);case 6:return this.Cb&&(i=(c=this.Db>>16,c>=0?_x(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,6,i);case 11:return!this.q&&(this.q=new q(As,this,11,10)),Xc(this.q,e,i);case 21:return!this.s&&(this.s=new q(ku,this,21,17)),Xc(this.s,e,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),Da)),t),69),s.wk().zk(this,iu(this),t-se((On(),Da)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 6:return So(this,null,6,i);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),cr(this.A,e,i);case 11:return!this.q&&(this.q=new q(As,this,11,10)),cr(this.q,e,i);case 21:return!this.s&&(this.s=new q(ku,this,21,17)),cr(this.s,e,i);case 22:return cr(Sc(this),e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),Da)),t),69),c.wk().Ak(this,iu(this),t-se((On(),Da)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!K0(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!D4(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&Sc(this.u.a).i!=0&&!(this.n&&Ix(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return Wg(this).i!=0;case 13:return X5(this).i!=0;case 14:return X5(this),this.r.i!=0;case 15:return Wg(this),this.k.i!=0;case 16:return Enn(this).i!=0;case 17:return $F(this).i!=0;case 18:return bh(this).i!=0;case 19:return TA(this).i!=0;case 20:return Wg(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&Ix(this.n);case 23:return yF(this).i!=0}return Uo(this,e-se((On(),Da)),$n((t=u(Un(this,16),29),t||Da),e))},o.Zh=function(e){var t;return t=this.i==null||this.q&&this.q.i!=0?null:oy(this,e),t||ctn(this,e)},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:xM(this,Oe(t));return;case 2:wL(this,Oe(t));return;case 5:Lm(this,Oe(t));return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A),!this.A&&(this.A=new Tu(fu,this,7)),Bt(this.A,u(t,16));return;case 8:CY(this,on(un(t)));return;case 9:MY(this,on(un(t)));return;case 10:J5(Hr(this)),Bt(Hr(this),u(t,16));return;case 11:!this.q&&(this.q=new q(As,this,11,10)),me(this.q),!this.q&&(this.q=new q(As,this,11,10)),Bt(this.q,u(t,16));return;case 21:!this.s&&(this.s=new q(ku,this,21,17)),me(this.s),!this.s&&(this.s=new q(ku,this,21,17)),Bt(this.s,u(t,16));return;case 22:me(Sc(this)),Bt(Sc(this),u(t,16));return}Jo(this,e-se((On(),Da)),$n((i=u(Un(this,16),29),i||Da),e),t)},o.ii=function(){return On(),Da},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:O(this.Cb,184)&&(u(this.Cb,184).tb=null),zc(this,null);return;case 2:um(this,null),G4(this,this.D);return;case 5:Lm(this,null);return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A);return;case 8:CY(this,!1);return;case 9:MY(this,!1);return;case 10:this.u&&J5(this.u);return;case 11:!this.q&&(this.q=new q(As,this,11,10)),me(this.q);return;case 21:!this.s&&(this.s=new q(ku,this,21,17)),me(this.s);return;case 22:this.n&&me(this.n);return}Wo(this,e-se((On(),Da)),$n((t=u(Un(this,16),29),t||Da),e))},o.pi=function(){var e,t;if(Wg(this),X5(this),Enn(this),$F(this),bh(this),TA(this),yF(this),t5(ube(Zu(this))),this.s)for(e=0,t=this.s.i;e=0;--t)L(this,t);return WY(this,e)},o.Gk=function(){me(this)},o.Zi=function(e,t){return q$n(this,e,t)},w(Tt,"EcoreEList",632),b(505,632,Qr,R7),o.Li=function(){return!1},o.Lj=function(){return this.c},o.Mj=function(){return!1},o.ol=function(){return!0},o.Si=function(){return!0},o.Wi=function(e,t){return t},o.Yi=function(){return!1},o.c=0,w(Tt,"EObjectEList",505),b(83,505,Qr,ti),o.Mj=function(){return!0},o.ml=function(){return!1},o.al=function(){return!0},w(Tt,"EObjectContainmentEList",83),b(555,83,Qr,$C),o.Ni=function(){this.b=!0},o.Qj=function(){return this.b},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.b,this.b=!1,it(this.e,new Bs(this.e,2,this.c,e,!1))):this.b=!1},o.b=!1,w(Tt,"EObjectContainmentEList/Unsettable",555),b(1161,555,Qr,mPn),o.Ti=function(e,t){var i,r;return i=u(y5(this,e,t),89),fo(this.e)&&t4(this,new ok(this.a,7,(On(),_oe),Y(t),(r=i.c,O(r,90)?u(r,29):Ps),e)),i},o.Uj=function(e,t){return A8e(this,u(e,89),t)},o.Vj=function(e,t){return T8e(this,u(e,89),t)},o.Wj=function(e,t,i){return Ike(this,u(e,89),u(t,89),i)},o.Ij=function(e,t,i,r,c){switch(e){case 3:return J6(this,e,t,i,r,this.i>1);case 5:return J6(this,e,t,i,r,this.i-u(i,15).gc()>0);default:return new ml(this.e,e,this.c,t,i,r,!0)}},o.Tj=function(){return!0},o.Qj=function(){return Ix(this)},o.Gk=function(){me(this)},w(qn,"EClassImpl/1",1161),b(1175,1174,Hcn),o.dj=function(e){var t,i,r,c,s,f,h;if(i=e.gj(),i!=8){if(r=s9e(e),r==0)switch(i){case 1:case 9:{h=e.kj(),h!=null&&(t=Zu(u(h,482)),!t.c&&(t.c=new W3),rT(t.c,e.jj())),f=e.ij(),f!=null&&(c=u(f,482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),ve(t.c,u(e.jj(),29))));break}case 3:{f=e.ij(),f!=null&&(c=u(f,482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),ve(t.c,u(e.jj(),29))));break}case 5:{if(f=e.ij(),f!=null)for(s=u(f,16).Kc();s.Ob();)c=u(s.Pb(),482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),ve(t.c,u(e.jj(),29)));break}case 4:{h=e.kj(),h!=null&&(c=u(h,482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),rT(t.c,e.jj())));break}case 6:{if(h=e.kj(),h!=null)for(s=u(h,16).Kc();s.Ob();)c=u(s.Pb(),482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),rT(t.c,e.jj()));break}}this.ql(r)}},o.ql=function(e){Uqn(this,e)},o.b=63,w(qn,"ESuperAdapter",1175),b(1176,1175,Hcn,myn),o.ql=function(e){hw(this,e)},w(qn,"EClassImpl/10",1176),b(1165,710,Qr),o.Ei=function(e,t){return Zx(this,e,t)},o.Fi=function(e){return LRn(this,e)},o.Gi=function(e,t){Nk(this,e,t)},o.Hi=function(e){ik(this,e)},o.$i=function(e){return nQ(this,e)},o.Xi=function(e,t){return d$(this,e,t)},o.Wk=function(e,t){throw M(new Pe)},o.Ii=function(){return new yp(this)},o.Ji=function(){return new A7(this)},o.Ki=function(e){return vk(this,e)},o.Xk=function(e,t){throw M(new Pe)},o.Fk=function(e){return this},o.Qj=function(){return this.i!=0},o.Wb=function(e){throw M(new Pe)},o.Gk=function(){throw M(new Pe)},w(Tt,"EcoreEList/UnmodifiableEList",1165),b(328,1165,Qr,gg),o.Yi=function(){return!1},w(Tt,"EcoreEList/UnmodifiableEList/FastCompare",328),b(1168,328,Qr,bFn),o.dd=function(e){var t,i,r;if(O(e,179)&&(t=u(e,179),i=t.Lj(),i!=-1)){for(r=this.i;i4)if(this.fk(e)){if(this.al()){if(r=u(e,54),i=r.Eh(),h=i==this.b&&(this.ml()?r.yh(r.Fh(),u($n(au(this.b),this.Lj()).Hk(),29).kk())==br(u($n(au(this.b),this.Lj()),19)).n:-1-r.Fh()==this.Lj()),this.nl()&&!h&&!i&&r.Jh()){for(c=0;c1||r==-1)):!1},o.ml=function(){var e,t,i;return t=$n(au(this.b),this.Lj()),O(t,102)?(e=u(t,19),i=br(e),!!i):!1},o.nl=function(){var e,t;return t=$n(au(this.b),this.Lj()),O(t,102)?(e=u(t,19),(e.Bb&hr)!=0):!1},o.dd=function(e){var t,i,r,c;if(r=this.zj(e),r>=0)return r;if(this.ol()){for(i=0,c=this.Ej();i=0;--e)py(this,e,this.xj(e));return this.Fj()},o.Qc=function(e){var t;if(this.nl())for(t=this.Ej()-1;t>=0;--t)py(this,t,this.xj(t));return this.Gj(e)},o.Gk=function(){J5(this)},o.Zi=function(e,t){return kNn(this,e,t)},w(Tt,"DelegatingEcoreEList",756),b(1171,756,zcn,NAn),o.qj=function(e,t){rae(this,e,u(t,29))},o.rj=function(e){zle(this,u(e,29))},o.xj=function(e){var t,i;return t=u(L(Sc(this.a),e),89),i=t.c,O(i,90)?u(i,29):(On(),Ps)},o.Cj=function(e){var t,i;return t=u(dw(Sc(this.a),e),89),i=t.c,O(i,90)?u(i,29):(On(),Ps)},o.Dj=function(e,t){return e7e(this,e,u(t,29))},o.Li=function(){return!1},o.Ij=function(e,t,i,r,c){return null},o.sj=function(){return new yyn(this)},o.tj=function(){me(Sc(this.a))},o.uj=function(e){return hBn(this,e)},o.vj=function(e){var t,i;for(i=e.Kc();i.Ob();)if(t=i.Pb(),!hBn(this,t))return!1;return!0},o.wj=function(e){var t,i,r;if(O(e,15)&&(r=u(e,15),r.gc()==Sc(this.a).i)){for(t=r.Kc(),i=new ne(this);t.Ob();)if(x(t.Pb())!==x(ce(i)))return!1;return!0}return!1},o.yj=function(){var e,t,i,r,c;for(i=1,t=new ne(Sc(this.a));t.e!=t.i.gc();)e=u(ce(t),89),r=(c=e.c,O(c,90)?u(c,29):(On(),Ps)),i=31*i+(r?l0(r):0);return i},o.zj=function(e){var t,i,r,c;for(r=0,i=new ne(Sc(this.a));i.e!=i.i.gc();){if(t=u(ce(i),89),x(e)===x((c=t.c,O(c,90)?u(c,29):(On(),Ps))))return r;++r}return-1},o.Aj=function(){return Sc(this.a).i==0},o.Bj=function(){return null},o.Ej=function(){return Sc(this.a).i},o.Fj=function(){var e,t,i,r,c,s;for(s=Sc(this.a).i,c=K(ki,Fn,1,s,5,1),i=0,t=new ne(Sc(this.a));t.e!=t.i.gc();)e=u(ce(t),89),c[i++]=(r=e.c,O(r,90)?u(r,29):(On(),Ps));return c},o.Gj=function(e){var t,i,r,c,s,f,h;for(h=Sc(this.a).i,e.lengthh&&$t(e,h,null),r=0,i=new ne(Sc(this.a));i.e!=i.i.gc();)t=u(ce(i),89),s=(f=t.c,O(f,90)?u(f,29):(On(),Ps)),$t(e,r++,s);return e},o.Hj=function(){var e,t,i,r,c;for(c=new Hl,c.a+="[",e=Sc(this.a),t=0,r=Sc(this.a).i;t>16,c>=0?_x(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,6,i);case 9:return!this.a&&(this.a=new q(Bl,this,9,5)),Xc(this.a,e,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),La)),t),69),s.wk().zk(this,iu(this),t-se((On(),La)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 6:return So(this,null,6,i);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),cr(this.A,e,i);case 9:return!this.a&&(this.a=new q(Bl,this,9,5)),cr(this.a,e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),La)),t),69),c.wk().Ak(this,iu(this),t-se((On(),La)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!K0(this);case 4:return!!aY(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!D4(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return Uo(this,e-se((On(),La)),$n((t=u(Un(this,16),29),t||La),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:xM(this,Oe(t));return;case 2:wL(this,Oe(t));return;case 5:Lm(this,Oe(t));return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A),!this.A&&(this.A=new Tu(fu,this,7)),Bt(this.A,u(t,16));return;case 8:BT(this,on(un(t)));return;case 9:!this.a&&(this.a=new q(Bl,this,9,5)),me(this.a),!this.a&&(this.a=new q(Bl,this,9,5)),Bt(this.a,u(t,16));return}Jo(this,e-se((On(),La)),$n((i=u(Un(this,16),29),i||La),e),t)},o.ii=function(){return On(),La},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:O(this.Cb,184)&&(u(this.Cb,184).tb=null),zc(this,null);return;case 2:um(this,null),G4(this,this.D);return;case 5:Lm(this,null);return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A);return;case 8:BT(this,!0);return;case 9:!this.a&&(this.a=new q(Bl,this,9,5)),me(this.a);return}Wo(this,e-se((On(),La)),$n((t=u(Un(this,16),29),t||La),e))},o.pi=function(){var e,t;if(this.a)for(e=0,t=this.a.i;e>16==5?u(this.Cb,685):null}return zo(this,e-se((On(),S1)),$n((r=u(Un(this,16),29),r||S1),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i);case 5:return this.Cb&&(i=(c=this.Db>>16,c>=0?uKn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,5,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),S1)),t),69),s.wk().zk(this,iu(this),t-se((On(),S1)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 5:return So(this,null,5,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),S1)),t),69),c.wk().Ak(this,iu(this),t-se((On(),S1)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&u(this.Cb,685))}return Uo(this,e-se((On(),S1)),$n((t=u(Un(this,16),29),t||S1),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:zc(this,Oe(t));return;case 2:v$(this,u(t,17).a);return;case 3:iHn(this,u(t,2039));return;case 4:y$(this,Oe(t));return}Jo(this,e-se((On(),S1)),$n((i=u(Un(this,16),29),i||S1),e),t)},o.ii=function(){return On(),S1},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:zc(this,null);return;case 2:v$(this,0);return;case 3:iHn(this,null);return;case 4:y$(this,null);return}Wo(this,e-se((On(),S1)),$n((t=u(Un(this,16),29),t||S1),e))},o.Ib=function(){var e;return e=this.c,e??this.zb},o.b=null,o.c=null,o.d=0,w(qn,"EEnumLiteralImpl",582);var LNe=Nt(qn,"EFactoryImpl/InternalEDateTimeFormat");b(499,1,{2114:1},W9),w(qn,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),b(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},Jd),o.Ch=function(e,t,i){var r;return i=So(this,e,t,i),this.e&&O(e,179)&&(r=MA(this,this.e),r!=this.c&&(i=Nm(this,r,i))),i},o.Lh=function(e,t,i){var r;switch(e){case 0:return this.f;case 1:return!this.d&&(this.d=new ti(jr,this,1)),this.d;case 2:return t?BA(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return t?Lx(this):this.a}return zo(this,e-se((On(),jb)),$n((r=u(Un(this,16),29),r||jb),e),t,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return QFn(this,null,i);case 1:return!this.d&&(this.d=new ti(jr,this,1)),cr(this.d,e,i);case 3:return YFn(this,null,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),jb)),t),69),c.wk().Ak(this,iu(this),t-se((On(),jb)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return Uo(this,e-se((On(),jb)),$n((t=u(Un(this,16),29),t||jb),e))},o.bi=function(e,t){var i;switch(e){case 0:MKn(this,u(t,89));return;case 1:!this.d&&(this.d=new ti(jr,this,1)),me(this.d),!this.d&&(this.d=new ti(jr,this,1)),Bt(this.d,u(t,16));return;case 3:UZ(this,u(t,89));return;case 4:fnn(this,u(t,850));return;case 5:K4(this,u(t,142));return}Jo(this,e-se((On(),jb)),$n((i=u(Un(this,16),29),i||jb),e),t)},o.ii=function(){return On(),jb},o.ki=function(e){var t;switch(e){case 0:MKn(this,null);return;case 1:!this.d&&(this.d=new ti(jr,this,1)),me(this.d);return;case 3:UZ(this,null);return;case 4:fnn(this,null);return;case 5:K4(this,null);return}Wo(this,e-se((On(),jb)),$n((t=u(Un(this,16),29),t||jb),e))},o.Ib=function(){var e;return e=new mo(_s(this)),e.a+=" (expression: ",_F(this,e),e.a+=")",e.a};var Gdn;w(qn,"EGenericTypeImpl",248),b(2067,2062,zS),o.Gi=function(e,t){OAn(this,e,t)},o.Wk=function(e,t){return OAn(this,this.gc(),e),t},o.$i=function(e){return Zo(this.pj(),e)},o.Ii=function(){return this.Ji()},o.pj=function(){return new Myn(this)},o.Ji=function(){return this.Ki(0)},o.Ki=function(e){return this.pj().fd(e)},o.Xk=function(e,t){return iw(this,e,!0),t},o.Ti=function(e,t){var i,r;return r=Ux(this,t),i=this.fd(e),i.Rb(r),r},o.Ui=function(e,t){var i;iw(this,t,!0),i=this.fd(e),i.Rb(t)},w(Tt,"AbstractSequentialInternalEList",2067),b(496,2067,zS,T7),o.$i=function(e){return Zo(this.pj(),e)},o.Ii=function(){return this.b==null?(Gl(),Gl(),dE):this.sl()},o.pj=function(){return new JMn(this.a,this.b)},o.Ji=function(){return this.b==null?(Gl(),Gl(),dE):this.sl()},o.Ki=function(e){var t,i;if(this.b==null){if(e<0||e>1)throw M(new Ir(k8+e+", size=0"));return Gl(),Gl(),dE}for(i=this.sl(),t=0;t0;)if(t=this.c[--this.d],(!this.e||t.pk()!=qv||t.Lj()!=0)&&(!this.vl()||this.b.Xh(t))){if(s=this.b.Nh(t,this.ul()),this.f=(dr(),u(t,69).xk()),this.f||t.Jk()){if(this.ul()?(r=u(s,15),this.k=r):(r=u(s,71),this.k=this.j=r),O(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?v_n(this,this.p):I_n(this))return c=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(e=u(c,76),e.Lk(),i=e.md(),this.i=i):(i=c,this.i=i),this.g=-3,!0}else if(s!=null)return this.k=null,this.p=null,i=s,this.i=i,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return c=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(e=u(c,76),e.Lk(),i=e.md(),this.i=i):(i=c,this.i=i),this.g=-3,!0}},o.Pb=function(){return PT(this)},o.Tb=function(){return this.a},o.Ub=function(){var e;if(this.g<-1||this.Sb())return--this.a,this.g=0,e=this.i,this.Sb(),e;throw M(new nc)},o.Vb=function(){return this.a-1},o.Qb=function(){throw M(new Pe)},o.ul=function(){return!1},o.Wb=function(e){throw M(new Pe)},o.vl=function(){return!0},o.a=0,o.d=0,o.f=!1,o.g=0,o.n=0,o.o=0;var dE;w(Tt,"EContentsEList/FeatureIteratorImpl",287),b(711,287,XS,nV),o.ul=function(){return!0},w(Tt,"EContentsEList/ResolvingFeatureIteratorImpl",711),b(1178,711,XS,gAn),o.vl=function(){return!1},w(qn,"ENamedElementImpl/1/1",1178),b(1179,287,XS,pAn),o.vl=function(){return!1},w(qn,"ENamedElementImpl/1/2",1179),b(39,152,Wy,Vb,UN,Ci,c$,ml,Bs,dQ,JOn,bQ,QOn,OJ,YOn,pQ,ZOn,DJ,nDn,wQ,eDn,q6,ok,MN,gQ,tDn,LJ,iDn),o.Kj=function(){return JJ(this)},o.Rj=function(){var e;return e=JJ(this),e?e.ik():null},o.hj=function(e){return this.b==-1&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,e)},o.jj=function(){return this.c},o.Sj=function(){var e;return e=JJ(this),e?e.tk():!1},o.b=-1,w(qn,"ENotificationImpl",39),b(411,292,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,481:1,54:1,99:1,158:1,411:1,292:1,119:1,120:1},hD),o.Ah=function(e){return fKn(this,e)},o.Lh=function(e,t,i){var r,c,s;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),s=this.t,s>1||s==-1;case 7:return _n(),c=this.s,c>=1;case 8:return t?ws(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,29):null;case 11:return!this.d&&(this.d=new Tu(fu,this,11)),this.d;case 12:return!this.c&&(this.c=new q(yb,this,12,10)),this.c;case 13:return!this.a&&(this.a=new O7(this,this)),this.a;case 14:return no(this)}return zo(this,e-se((On(),P1)),$n((r=u(Un(this,16),29),r||P1),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i);case 10:return this.Cb&&(i=(c=this.Db>>16,c>=0?fKn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,10,i);case 12:return!this.c&&(this.c=new q(yb,this,12,10)),Xc(this.c,e,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),P1)),t),69),s.wk().zk(this,iu(this),t-se((On(),P1)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 9:return hN(this,i);case 10:return So(this,null,10,i);case 11:return!this.d&&(this.d=new Tu(fu,this,11)),cr(this.d,e,i);case 12:return!this.c&&(this.c=new q(yb,this,12,10)),cr(this.c,e,i);case 14:return cr(no(this),e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),P1)),t),69),c.wk().Ak(this,iu(this),t-se((On(),P1)),e,i)},o.Wh=function(e){var t,i,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return r=this.t,r>1||r==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,29));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&no(this.a.a).i!=0&&!(this.b&&Ox(this.b));case 14:return!!this.b&&Ox(this.b)}return Uo(this,e-se((On(),P1)),$n((t=u(Un(this,16),29),t||P1),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:zc(this,Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:Zb(this,u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Ff(this,u(t,89),null),r&&r.oj();return;case 11:!this.d&&(this.d=new Tu(fu,this,11)),me(this.d),!this.d&&(this.d=new Tu(fu,this,11)),Bt(this.d,u(t,16));return;case 12:!this.c&&(this.c=new q(yb,this,12,10)),me(this.c),!this.c&&(this.c=new q(yb,this,12,10)),Bt(this.c,u(t,16));return;case 13:!this.a&&(this.a=new O7(this,this)),J5(this.a),!this.a&&(this.a=new O7(this,this)),Bt(this.a,u(t,16));return;case 14:me(no(this)),Bt(no(this),u(t,16));return}Jo(this,e-se((On(),P1)),$n((i=u(Un(this,16),29),i||P1),e),t)},o.ii=function(){return On(),P1},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:zc(this,null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:Zb(this,1);return;case 8:ad(this,null);return;case 9:i=Ff(this,null,null),i&&i.oj();return;case 11:!this.d&&(this.d=new Tu(fu,this,11)),me(this.d);return;case 12:!this.c&&(this.c=new q(yb,this,12,10)),me(this.c);return;case 13:this.a&&J5(this.a);return;case 14:this.b&&me(this.b);return}Wo(this,e-se((On(),P1)),$n((t=u(Un(this,16),29),t||P1),e))},o.pi=function(){var e,t;if(this.c)for(e=0,t=this.c.i;eh&&$t(e,h,null),r=0,i=new ne(no(this.a));i.e!=i.i.gc();)t=u(ce(i),89),s=(f=t.c,f||(On(),Yf)),$t(e,r++,s);return e},o.Hj=function(){var e,t,i,r,c;for(c=new Hl,c.a+="[",e=no(this.a),t=0,r=no(this.a).i;t1);case 5:return J6(this,e,t,i,r,this.i-u(i,15).gc()>0);default:return new ml(this.e,e,this.c,t,i,r,!0)}},o.Tj=function(){return!0},o.Qj=function(){return Ox(this)},o.Gk=function(){me(this)},w(qn,"EOperationImpl/2",1377),b(507,1,{2037:1,507:1},LMn),w(qn,"EPackageImpl/1",507),b(14,83,Qr,q),o.il=function(){return this.d},o.jl=function(){return this.b},o.ml=function(){return!0},o.b=0,w(Tt,"EObjectContainmentWithInverseEList",14),b(365,14,Qr,jp),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectContainmentWithInverseEList/Resolving",365),b(308,365,Qr,Hb),o.Ni=function(){this.a.tb=null},w(qn,"EPackageImpl/2",308),b(1278,1,{},qse),w(qn,"EPackageImpl/3",1278),b(733,45,Zg,tz),o._b=function(e){return Ai(e)?AN(this,e):!!wr(this.f,e)},w(qn,"EPackageRegistryImpl",733),b(518,292,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,481:1,54:1,99:1,158:1,518:1,292:1,119:1,120:1},lD),o.Ah=function(e){return hKn(this,e)},o.Lh=function(e,t,i){var r,c,s;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),s=this.t,s>1||s==-1;case 7:return _n(),c=this.s,c>=1;case 8:return t?ws(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,62):null}return zo(this,e-se((On(),ig)),$n((r=u(Un(this,16),29),r||ig),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),Xc(this.Ab,e,i);case 10:return this.Cb&&(i=(c=this.Db>>16,c>=0?hKn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,10,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),ig)),t),69),s.wk().zk(this,iu(this),t-se((On(),ig)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 9:return hN(this,i);case 10:return So(this,null,10,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),ig)),t),69),c.wk().Ak(this,iu(this),t-se((On(),ig)),e,i)},o.Wh=function(e){var t,i,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return r=this.t,r>1||r==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,62))}return Uo(this,e-se((On(),ig)),$n((t=u(Un(this,16),29),t||ig),e))},o.ii=function(){return On(),ig},w(qn,"EParameterImpl",518),b(102,462,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,102:1,462:1,292:1,119:1,120:1,692:1},cV),o.Lh=function(e,t,i){var r,c,s,f;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),f=this.t,f>1||f==-1;case 7:return _n(),c=this.s,c>=1;case 8:return t?ws(this):this.r;case 9:return this.q;case 10:return _n(),!!(this.Bb&Us);case 11:return _n(),!!(this.Bb&Tw);case 12:return _n(),!!(this.Bb&vw);case 13:return this.j;case 14:return Tm(this);case 15:return _n(),!!(this.Bb&$u);case 16:return _n(),!!(this.Bb&wh);case 17:return Gb(this);case 18:return _n(),!!(this.Bb&kc);case 19:return _n(),s=br(this),!!(s&&s.Bb&kc);case 20:return _n(),!!(this.Bb&hr);case 21:return t?br(this):this.b;case 22:return t?tY(this):ALn(this);case 23:return!this.a&&(this.a=new jg(ng,this,23)),this.a}return zo(this,e-se((On(),q2)),$n((r=u(Un(this,16),29),r||q2),e),t,i)},o.Wh=function(e){var t,i,r,c;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return c=this.t,c>1||c==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return(this.Bb&Us)==0;case 11:return(this.Bb&Tw)!=0;case 12:return(this.Bb&vw)!=0;case 13:return this.j!=null;case 14:return Tm(this)!=null;case 15:return(this.Bb&$u)!=0;case 16:return(this.Bb&wh)!=0;case 17:return!!Gb(this);case 18:return(this.Bb&kc)!=0;case 19:return r=br(this),!!r&&(r.Bb&kc)!=0;case 20:return(this.Bb&hr)==0;case 21:return!!this.b;case 22:return!!ALn(this);case 23:return!!this.a&&this.a.i!=0}return Uo(this,e-se((On(),q2)),$n((t=u(Un(this,16),29),t||q2),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:FN(this,Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:Zb(this,u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Ff(this,u(t,89),null),r&&r.oj();return;case 10:fm(this,on(un(t)));return;case 11:am(this,on(un(t)));return;case 12:hm(this,on(un(t)));return;case 13:wX(this,Oe(t));return;case 15:lm(this,on(un(t)));return;case 16:dm(this,on(un(t)));return;case 18:A2e(this,on(un(t)));return;case 20:NY(this,on(un(t)));return;case 21:DQ(this,u(t,19));return;case 23:!this.a&&(this.a=new jg(ng,this,23)),me(this.a),!this.a&&(this.a=new jg(ng,this,23)),Bt(this.a,u(t,16));return}Jo(this,e-se((On(),q2)),$n((i=u(Un(this,16),29),i||q2),e),t)},o.ii=function(){return On(),q2},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:O(this.Cb,90)&&hw(Zu(u(this.Cb,90)),4),zc(this,null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:Zb(this,1);return;case 8:ad(this,null);return;case 9:i=Ff(this,null,null),i&&i.oj();return;case 10:fm(this,!0);return;case 11:am(this,!1);return;case 12:hm(this,!1);return;case 13:this.i=null,kT(this,null);return;case 15:lm(this,!1);return;case 16:dm(this,!1);return;case 18:LY(this,!1),O(this.Cb,90)&&hw(Zu(u(this.Cb,90)),2);return;case 20:NY(this,!0);return;case 21:DQ(this,null);return;case 23:!this.a&&(this.a=new jg(ng,this,23)),me(this.a);return}Wo(this,e-se((On(),q2)),$n((t=u(Un(this,16),29),t||q2),e))},o.pi=function(){tY(this),P4(Lr((Du(),zi),this)),ws(this),this.Bb|=1},o.uk=function(){return br(this)},o._k=function(){var e;return e=br(this),!!e&&(e.Bb&kc)!=0},o.al=function(){return(this.Bb&kc)!=0},o.bl=function(){return(this.Bb&hr)!=0},o.Yk=function(e,t){return this.c=null,EY(this,e,t)},o.Ib=function(){var e;return this.Db&64?$A(this):(e=new ls($A(this)),e.a+=" (containment: ",ql(e,(this.Bb&kc)!=0),e.a+=", resolveProxies: ",ql(e,(this.Bb&hr)!=0),e.a+=")",e.a)},w(qn,"EReferenceImpl",102),b(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},Mvn),o.Fb=function(e){return this===e},o.ld=function(){return this.b},o.md=function(){return this.c},o.Hb=function(){return l0(this)},o.Di=function(e){Dbe(this,Oe(e))},o.nd=function(e){return pbe(this,Oe(e))},o.Lh=function(e,t,i){var r;switch(e){case 0:return this.b;case 1:return this.c}return zo(this,e-se((On(),ar)),$n((r=u(Un(this,16),29),r||ar),e),t,i)},o.Wh=function(e){var t;switch(e){case 0:return this.b!=null;case 1:return this.c!=null}return Uo(this,e-se((On(),ar)),$n((t=u(Un(this,16),29),t||ar),e))},o.bi=function(e,t){var i;switch(e){case 0:Lbe(this,Oe(t));return;case 1:PQ(this,Oe(t));return}Jo(this,e-se((On(),ar)),$n((i=u(Un(this,16),29),i||ar),e),t)},o.ii=function(){return On(),ar},o.ki=function(e){var t;switch(e){case 0:SQ(this,null);return;case 1:PQ(this,null);return}Wo(this,e-se((On(),ar)),$n((t=u(Un(this,16),29),t||ar),e))},o.Bi=function(){var e;return this.a==-1&&(e=this.b,this.a=e==null?0:t1(e)),this.a},o.Ci=function(e){this.a=e},o.Ib=function(){var e;return this.Db&64?_s(this):(e=new ls(_s(this)),e.a+=" (key: ",Er(e,this.b),e.a+=", value: ",Er(e,this.c),e.a+=")",e.a)},o.a=-1,o.b=null,o.c=null;var pc=w(qn,"EStringToStringMapEntryImpl",561),Qoe=Nt(Tt,"FeatureMap/Entry/Internal");b(576,1,VS),o.xl=function(e){return this.yl(u(e,54))},o.yl=function(e){return this.xl(e)},o.Fb=function(e){var t,i;return this===e?!0:O(e,76)?(t=u(e,76),t.Lk()==this.c?(i=this.md(),i==null?t.md()==null:rt(i,t.md())):!1):!1},o.Lk=function(){return this.c},o.Hb=function(){var e;return e=this.md(),mt(this.c)^(e==null?0:mt(e))},o.Ib=function(){var e,t;return e=this.c,t=jo(e.qk()).yi(),e.xe(),(t!=null&&t.length!=0?t+":"+e.xe():e.xe())+"="+this.md()},w(qn,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),b(791,576,VS,bV),o.yl=function(e){return new bV(this.c,e)},o.md=function(){return this.a},o.zl=function(e,t,i){return gve(this,e,this.a,t,i)},o.Al=function(e,t,i){return pve(this,e,this.a,t,i)},w(qn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),b(1350,1,{},NMn),o.yk=function(e,t,i,r,c){var s;return s=u(x4(e,this.b),220),s.Yl(this.a).Fk(r)},o.zk=function(e,t,i,r,c){var s;return s=u(x4(e,this.b),220),s.Pl(this.a,r,c)},o.Ak=function(e,t,i,r,c){var s;return s=u(x4(e,this.b),220),s.Ql(this.a,r,c)},o.Bk=function(e,t,i){var r;return r=u(x4(e,this.b),220),r.Yl(this.a).Qj()},o.Ck=function(e,t,i,r){var c;c=u(x4(e,this.b),220),c.Yl(this.a).Wb(r)},o.Dk=function(e,t,i){return u(x4(e,this.b),220).Yl(this.a)},o.Ek=function(e,t,i){var r;r=u(x4(e,this.b),220),r.Yl(this.a).Gk()},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),b(91,1,{},Xl,Za,Wl,rd),o.yk=function(e,t,i,r,c){var s;if(s=t.li(i),s==null&&t.mi(i,s=XA(this,e)),!c)switch(this.e){case 50:case 41:return u(s,597).bk();case 40:return u(s,220).Vl()}return s},o.zk=function(e,t,i,r,c){var s,f;return f=t.li(i),f==null&&t.mi(i,f=XA(this,e)),s=u(f,71).Wk(r,c),s},o.Ak=function(e,t,i,r,c){var s;return s=t.li(i),s!=null&&(c=u(s,71).Xk(r,c)),c},o.Bk=function(e,t,i){var r;return r=t.li(i),r!=null&&u(r,79).Qj()},o.Ck=function(e,t,i,r){var c;c=u(t.li(i),79),!c&&t.mi(i,c=XA(this,e)),c.Wb(r)},o.Dk=function(e,t,i){var r,c;return c=t.li(i),c==null&&t.mi(i,c=XA(this,e)),O(c,79)?u(c,79):(r=u(t.li(i),15),new Eyn(r))},o.Ek=function(e,t,i){var r;r=u(t.li(i),79),!r&&t.mi(i,r=XA(this,e)),r.Gk()},o.b=0,o.e=0,w(qn,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),b(512,1,{}),o.zk=function(e,t,i,r,c){throw M(new Pe)},o.Ak=function(e,t,i,r,c){throw M(new Pe)},o.Dk=function(e,t,i){return new DIn(this,e,t,i)};var rl;w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),b(1367,1,TK,DIn),o.Fk=function(e){return this.a.yk(this.c,this.d,this.b,e,!0)},o.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},o.Wb=function(e){this.a.Ck(this.c,this.d,this.b,e)},o.Gk=function(){this.a.Ek(this.c,this.d,this.b)},o.b=0,w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),b(784,512,{},tJ),o.yk=function(e,t,i,r,c){return AF(e,e.Ph(),e.Fh())==this.b?this.bl()&&r?dF(e):e.Ph():null},o.zk=function(e,t,i,r,c){var s,f;return e.Ph()&&(c=(s=e.Fh(),s>=0?e.Ah(c):e.Ph().Th(e,-1-s,null,c))),f=Ot(e.Dh(),this.e),e.Ch(r,f,c)},o.Ak=function(e,t,i,r,c){var s;return s=Ot(e.Dh(),this.e),e.Ch(null,s,c)},o.Bk=function(e,t,i){var r;return r=Ot(e.Dh(),this.e),!!e.Ph()&&e.Fh()==r},o.Ck=function(e,t,i,r){var c,s,f,h,l;if(r!=null&&!OF(this.a,r))throw M(new i4(WS+(O(r,58)?qZ(u(r,58).Dh()):fQ(wo(r)))+JS+this.a+"'"));if(c=e.Ph(),f=Ot(e.Dh(),this.e),x(r)!==x(c)||e.Fh()!=f&&r!=null){if(mm(e,u(r,58)))throw M(new Gn(m8+e.Ib()));l=null,c&&(l=(s=e.Fh(),s>=0?e.Ah(l):e.Ph().Th(e,-1-s,null,l))),h=u(r,54),h&&(l=h.Rh(e,Ot(h.Dh(),this.b),null,l)),l=e.Ch(h,f,l),l&&l.oj()}else e.vh()&&e.wh()&&it(e,new Ci(e,1,f,r,r))},o.Ek=function(e,t,i){var r,c,s,f;r=e.Ph(),r?(f=(c=e.Fh(),c>=0?e.Ah(null):e.Ph().Th(e,-1-c,null,null)),s=Ot(e.Dh(),this.e),f=e.Ch(null,s,f),f&&f.oj()):e.vh()&&e.wh()&&it(e,new q6(e,1,this.e,null,null))},o.bl=function(){return!1},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),b(1351,784,{},jSn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),b(574,512,{}),o.yk=function(e,t,i,r,c){var s;return s=t.li(i),s==null?this.b:x(s)===x(rl)?null:s},o.Bk=function(e,t,i){var r;return r=t.li(i),r!=null&&(x(r)===x(rl)||!rt(r,this.b))},o.Ck=function(e,t,i,r){var c,s;e.vh()&&e.wh()?(c=(s=t.li(i),s==null?this.b:x(s)===x(rl)?null:s),r==null?this.c!=null?(t.mi(i,null),r=this.b):this.b!=null?t.mi(i,rl):t.mi(i,null):(this.Bl(r),t.mi(i,r)),it(e,this.d.Cl(e,1,this.e,c,r))):r==null?this.c!=null?t.mi(i,null):this.b!=null?t.mi(i,rl):t.mi(i,null):(this.Bl(r),t.mi(i,r))},o.Ek=function(e,t,i){var r,c;e.vh()&&e.wh()?(r=(c=t.li(i),c==null?this.b:x(c)===x(rl)?null:c),t.ni(i),it(e,this.d.Cl(e,1,this.e,r,this.b))):t.ni(i)},o.Bl=function(e){throw M(new Nyn)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),b(f2,1,{},Tvn),o.Cl=function(e,t,i,r,c){return new q6(e,t,i,r,c)},o.Dl=function(e,t,i,r,c,s){return new MN(e,t,i,r,c,s)};var zdn,Xdn,Vdn,Wdn,Jdn,Qdn,Ydn,TU,Zdn;w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",f2),b(1368,f2,{},Avn),o.Cl=function(e,t,i,r,c){return new LJ(e,t,i,on(un(r)),on(un(c)))},o.Dl=function(e,t,i,r,c,s){return new iDn(e,t,i,on(un(r)),on(un(c)),s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),b(1369,f2,{},Svn),o.Cl=function(e,t,i,r,c){return new dQ(e,t,i,u(r,222).a,u(c,222).a)},o.Dl=function(e,t,i,r,c,s){return new JOn(e,t,i,u(r,222).a,u(c,222).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),b(1370,f2,{},Pvn),o.Cl=function(e,t,i,r,c){return new bQ(e,t,i,u(r,180).a,u(c,180).a)},o.Dl=function(e,t,i,r,c,s){return new QOn(e,t,i,u(r,180).a,u(c,180).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),b(1371,f2,{},Ivn),o.Cl=function(e,t,i,r,c){return new OJ(e,t,i,$(R(r)),$(R(c)))},o.Dl=function(e,t,i,r,c,s){return new YOn(e,t,i,$(R(r)),$(R(c)),s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),b(1372,f2,{},Ovn),o.Cl=function(e,t,i,r,c){return new pQ(e,t,i,u(r,161).a,u(c,161).a)},o.Dl=function(e,t,i,r,c,s){return new ZOn(e,t,i,u(r,161).a,u(c,161).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),b(1373,f2,{},Dvn),o.Cl=function(e,t,i,r,c){return new DJ(e,t,i,u(r,17).a,u(c,17).a)},o.Dl=function(e,t,i,r,c,s){return new nDn(e,t,i,u(r,17).a,u(c,17).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),b(1374,f2,{},Lvn),o.Cl=function(e,t,i,r,c){return new wQ(e,t,i,u(r,168).a,u(c,168).a)},o.Dl=function(e,t,i,r,c,s){return new eDn(e,t,i,u(r,168).a,u(c,168).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),b(1375,f2,{},Nvn),o.Cl=function(e,t,i,r,c){return new gQ(e,t,i,u(r,191).a,u(c,191).a)},o.Dl=function(e,t,i,r,c,s){return new tDn(e,t,i,u(r,191).a,u(c,191).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),b(1353,574,{},LIn),o.Bl=function(e){if(!this.a.fk(e))throw M(new i4(WS+wo(e)+JS+this.a+"'"))},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),b(1354,574,{},kPn),o.Bl=function(e){},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),b(785,574,{}),o.Bk=function(e,t,i){var r;return r=t.li(i),r!=null},o.Ck=function(e,t,i,r){var c,s;e.vh()&&e.wh()?(c=!0,s=t.li(i),s==null?(c=!1,s=this.b):x(s)===x(rl)&&(s=null),r==null?this.c!=null?(t.mi(i,null),r=this.b):t.mi(i,rl):(this.Bl(r),t.mi(i,r)),it(e,this.d.Dl(e,1,this.e,s,r,!c))):r==null?this.c!=null?t.mi(i,null):t.mi(i,rl):(this.Bl(r),t.mi(i,r))},o.Ek=function(e,t,i){var r,c;e.vh()&&e.wh()?(r=!0,c=t.li(i),c==null?(r=!1,c=this.b):x(c)===x(rl)&&(c=null),t.ni(i),it(e,this.d.Dl(e,2,this.e,c,this.b,r))):t.ni(i)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),b(1355,785,{},NIn),o.Bl=function(e){if(!this.a.fk(e))throw M(new i4(WS+wo(e)+JS+this.a+"'"))},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),b(1356,785,{},yPn),o.Bl=function(e){},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),b(410,512,{},oM),o.yk=function(e,t,i,r,c){var s,f,h,l,a;if(a=t.li(i),this.tk()&&x(a)===x(rl))return null;if(this.bl()&&r&&a!=null){if(h=u(a,54),h.Vh()&&(l=na(e,h),h!=l)){if(!OF(this.a,l))throw M(new i4(WS+wo(l)+JS+this.a+"'"));t.mi(i,a=l),this.al()&&(s=u(l,54),f=h.Th(e,this.b?Ot(h.Dh(),this.b):-1-Ot(e.Dh(),this.e),null,null),!s.Ph()&&(f=s.Rh(e,this.b?Ot(s.Dh(),this.b):-1-Ot(e.Dh(),this.e),null,f)),f&&f.oj()),e.vh()&&e.wh()&&it(e,new q6(e,9,this.e,h,l))}return a}else return a},o.zk=function(e,t,i,r,c){var s,f;return f=t.li(i),x(f)===x(rl)&&(f=null),t.mi(i,r),this.Mj()?x(f)!==x(r)&&f!=null&&(s=u(f,54),c=s.Th(e,Ot(s.Dh(),this.b),null,c)):this.al()&&f!=null&&(c=u(f,54).Th(e,-1-Ot(e.Dh(),this.e),null,c)),e.vh()&&e.wh()&&(!c&&(c=new F1(4)),c.nj(new q6(e,1,this.e,f,r))),c},o.Ak=function(e,t,i,r,c){var s;return s=t.li(i),x(s)===x(rl)&&(s=null),t.ni(i),e.vh()&&e.wh()&&(!c&&(c=new F1(4)),this.tk()?c.nj(new q6(e,2,this.e,s,null)):c.nj(new q6(e,1,this.e,s,null))),c},o.Bk=function(e,t,i){var r;return r=t.li(i),r!=null},o.Ck=function(e,t,i,r){var c,s,f,h,l;if(r!=null&&!OF(this.a,r))throw M(new i4(WS+(O(r,58)?qZ(u(r,58).Dh()):fQ(wo(r)))+JS+this.a+"'"));l=t.li(i),h=l!=null,this.tk()&&x(l)===x(rl)&&(l=null),f=null,this.Mj()?x(l)!==x(r)&&(l!=null&&(c=u(l,54),f=c.Th(e,Ot(c.Dh(),this.b),null,f)),r!=null&&(c=u(r,54),f=c.Rh(e,Ot(c.Dh(),this.b),null,f))):this.al()&&x(l)!==x(r)&&(l!=null&&(f=u(l,54).Th(e,-1-Ot(e.Dh(),this.e),null,f)),r!=null&&(f=u(r,54).Rh(e,-1-Ot(e.Dh(),this.e),null,f))),r==null&&this.tk()?t.mi(i,rl):t.mi(i,r),e.vh()&&e.wh()?(s=new MN(e,1,this.e,l,r,this.tk()&&!h),f?(f.nj(s),f.oj()):it(e,s)):f&&f.oj()},o.Ek=function(e,t,i){var r,c,s,f,h;h=t.li(i),f=h!=null,this.tk()&&x(h)===x(rl)&&(h=null),s=null,h!=null&&(this.Mj()?(r=u(h,54),s=r.Th(e,Ot(r.Dh(),this.b),null,s)):this.al()&&(s=u(h,54).Th(e,-1-Ot(e.Dh(),this.e),null,s))),t.ni(i),e.vh()&&e.wh()?(c=new MN(e,this.tk()?2:1,this.e,h,null,f),s?(s.nj(c),s.oj()):it(e,c)):s&&s.oj()},o.Mj=function(){return!1},o.al=function(){return!1},o.bl=function(){return!1},o.tk=function(){return!1},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),b(575,410,{},PL),o.al=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),b(1359,575,{},vAn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),b(787,575,{},eV),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),b(1361,787,{},kAn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),b(650,575,{},HL),o.Mj=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),b(1360,650,{},ESn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),b(788,650,{},_V),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),b(1362,788,{},CSn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),b(651,410,{},tV),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),b(1363,651,{},yAn),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),b(789,651,{},RV),o.Mj=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),b(1364,789,{},MSn),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),b(1357,410,{},jAn),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),b(786,410,{},KV),o.Mj=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),b(1358,786,{},TSn),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),b(790,576,VS,FW),o.yl=function(e){return new FW(this.a,this.c,e)},o.md=function(){return this.b},o.zl=function(e,t,i){return b4e(this,e,this.b,i)},o.Al=function(e,t,i){return w4e(this,e,this.b,i)},w(qn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),b(1365,1,TK,Eyn),o.Fk=function(e){return this.a},o.Qj=function(){return O(this.a,97)?u(this.a,97).Qj():!this.a.dc()},o.Wb=function(e){this.a.$b(),this.a.Gc(u(e,15))},o.Gk=function(){O(this.a,97)?u(this.a,97).Gk():this.a.$b()},w(qn,"EStructuralFeatureImpl/SettingMany",1365),b(1366,576,VS,VDn),o.xl=function(e){return new DL((at(),R9),this.b.ri(this.a,e))},o.md=function(){return null},o.zl=function(e,t,i){return i},o.Al=function(e,t,i){return i},w(qn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),b(652,576,VS,DL),o.xl=function(e){return new DL(this.c,e)},o.md=function(){return this.a},o.zl=function(e,t,i){return i},o.Al=function(e,t,i){return i},w(qn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),b(403,506,Ch,W3),o.aj=function(e){return K(Ts,Fn,29,e,0,1)},o.Yi=function(){return!1},w(qn,"ESuperAdapter/1",403),b(457,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,457:1,119:1,120:1},UO),o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new R6(this,jr,this)),this.a}return zo(this,e-se((On(),Eb)),$n((r=u(Un(this,16),29),r||Eb),e),t,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(He,this,0,3)),cr(this.Ab,e,i);case 2:return!this.a&&(this.a=new R6(this,jr,this)),cr(this.a,e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),Eb)),t),69),c.wk().Ak(this,iu(this),t-se((On(),Eb)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return Uo(this,e-se((On(),Eb)),$n((t=u(Un(this,16),29),t||Eb),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(He,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:zc(this,Oe(t));return;case 2:!this.a&&(this.a=new R6(this,jr,this)),me(this.a),!this.a&&(this.a=new R6(this,jr,this)),Bt(this.a,u(t,16));return}Jo(this,e-se((On(),Eb)),$n((i=u(Un(this,16),29),i||Eb),e),t)},o.ii=function(){return On(),Eb},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(He,this,0,3)),me(this.Ab);return;case 1:zc(this,null);return;case 2:!this.a&&(this.a=new R6(this,jr,this)),me(this.a);return}Wo(this,e-se((On(),Eb)),$n((t=u(Un(this,16),29),t||Eb),e))},w(qn,"ETypeParameterImpl",457),b(458,83,Qr,R6),o.Nj=function(e,t){return Pye(this,u(e,89),t)},o.Oj=function(e,t){return Iye(this,u(e,89),t)},w(qn,"ETypeParameterImpl/1",458),b(647,45,Zg,aD),o.ec=function(){return new NE(this)},w(qn,"ETypeParameterImpl/2",647),b(570,Rf,Lu,NE),o.Fc=function(e){return VAn(this,u(e,89))},o.Gc=function(e){var t,i,r;for(r=!1,i=e.Kc();i.Ob();)t=u(i.Pb(),89),Xe(this.a,t,"")==null&&(r=!0);return r},o.$b=function(){Hu(this.a)},o.Hc=function(e){return Zc(this.a,e)},o.Kc=function(){var e;return e=new sd(new qa(this.a).a),new $E(e)},o.Mc=function(e){return BLn(this,e)},o.gc=function(){return u6(this.a)},w(qn,"ETypeParameterImpl/2/1",570),b(571,1,Si,$E),o.Nb=function(e){_i(this,e)},o.Pb=function(){return u(L0(this.a).ld(),89)},o.Ob=function(){return this.a.b},o.Qb=function(){XNn(this.a)},w(qn,"ETypeParameterImpl/2/1/1",571),b(1329,45,Zg,djn),o._b=function(e){return Ai(e)?AN(this,e):!!wr(this.f,e)},o.xc=function(e){var t,i;return t=Ai(e)?Nc(this,e):Kr(wr(this.f,e)),O(t,851)?(i=u(t,851),t=i.Kk(),Xe(this,u(e,241),t),t):t??(e==null?(OD(),Zoe):null)},w(qn,"EValidatorRegistryImpl",1329),b(1349,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},$vn),o.ri=function(e,t){switch(e.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return t==null?null:Jr(t);case 25:return Tme(t);case 27:return K4e(t);case 28:return _4e(t);case 29:return t==null?null:MTn(L9[0],u(t,206));case 41:return t==null?"":za(u(t,297));case 42:return Jr(t);case 50:return Oe(t);default:throw M(new Gn(ev+e.xe()+nb))}},o.si=function(e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,A;switch(e.G==-1&&(e.G=(p=jo(e),p?f1(p.vi(),e):-1)),e.G){case 0:return i=new fD,i;case 1:return t=new tG,t;case 2:return r=new uG,r;case 4:return c=new xE,c;case 5:return s=new ajn,s;case 6:return f=new Fyn,f;case 7:return h=new oG,h;case 10:return a=new ME,a;case 11:return d=new hD,d;case 12:return g=new HIn,g;case 13:return m=new lD,m;case 14:return k=new cV,k;case 17:return j=new Mvn,j;case 18:return l=new Jd,l;case 19:return A=new UO,A;default:throw M(new Gn(hK+e.zb+nb))}},o.ti=function(e,t){switch(e.hk()){case 20:return t==null?null:new Az(t);case 21:return t==null?null:new H1(t);case 23:case 22:return t==null?null:R8e(t);case 26:case 24:return t==null?null:bk(Ao(t,-128,127)<<24>>24);case 25:return rMe(t);case 27:return T7e(t);case 28:return A7e(t);case 29:return Jye(t);case 32:case 31:return t==null?null:sw(t);case 38:case 37:return t==null?null:new UG(t);case 40:case 39:return t==null?null:Y(Ao(t,Wi,et));case 41:return null;case 42:return t==null,null;case 44:case 43:return t==null?null:Ml(zA(t));case 49:case 48:return t==null?null:sm(Ao(t,QS,32767)<<16>>16);case 50:return t;default:throw M(new Gn(ev+e.xe()+nb))}},w(qn,"EcoreFactoryImpl",1349),b(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},aIn),o.gb=!1,o.hb=!1;var n0n,Yoe=!1;w(qn,"EcorePackageImpl",560),b(1234,1,{851:1},xvn),o.Kk=function(){return BTn(),nse},w(qn,"EcorePackageImpl/1",1234),b(1243,1,Ge,Fvn),o.fk=function(e){return O(e,155)},o.gk=function(e){return K(fE,Fn,155,e,0,1)},w(qn,"EcorePackageImpl/10",1243),b(1244,1,Ge,Bvn),o.fk=function(e){return O(e,197)},o.gk=function(e){return K(pU,Fn,197,e,0,1)},w(qn,"EcorePackageImpl/11",1244),b(1245,1,Ge,Rvn),o.fk=function(e){return O(e,58)},o.gk=function(e){return K(Ia,Fn,58,e,0,1)},w(qn,"EcorePackageImpl/12",1245),b(1246,1,Ge,Kvn),o.fk=function(e){return O(e,411)},o.gk=function(e){return K(As,Gcn,62,e,0,1)},w(qn,"EcorePackageImpl/13",1246),b(1247,1,Ge,_vn),o.fk=function(e){return O(e,241)},o.gk=function(e){return K(jf,Fn,241,e,0,1)},w(qn,"EcorePackageImpl/14",1247),b(1248,1,Ge,Hvn),o.fk=function(e){return O(e,518)},o.gk=function(e){return K(yb,Fn,2116,e,0,1)},w(qn,"EcorePackageImpl/15",1248),b(1249,1,Ge,qvn),o.fk=function(e){return O(e,102)},o.gk=function(e){return K(eg,s2,19,e,0,1)},w(qn,"EcorePackageImpl/16",1249),b(1250,1,Ge,Uvn),o.fk=function(e){return O(e,179)},o.gk=function(e){return K(ku,s2,179,e,0,1)},w(qn,"EcorePackageImpl/17",1250),b(1251,1,Ge,Gvn),o.fk=function(e){return O(e,481)},o.gk=function(e){return K(Zw,Fn,481,e,0,1)},w(qn,"EcorePackageImpl/18",1251),b(1252,1,Ge,zvn),o.fk=function(e){return O(e,561)},o.gk=function(e){return K(pc,nJn,561,e,0,1)},w(qn,"EcorePackageImpl/19",1252),b(1235,1,Ge,Xvn),o.fk=function(e){return O(e,331)},o.gk=function(e){return K(ng,s2,35,e,0,1)},w(qn,"EcorePackageImpl/2",1235),b(1253,1,Ge,Vvn),o.fk=function(e){return O(e,248)},o.gk=function(e){return K(jr,pJn,89,e,0,1)},w(qn,"EcorePackageImpl/20",1253),b(1254,1,Ge,Wvn),o.fk=function(e){return O(e,457)},o.gk=function(e){return K(fu,Fn,850,e,0,1)},w(qn,"EcorePackageImpl/21",1254),b(1255,1,Ge,Jvn),o.fk=function(e){return Nb(e)},o.gk=function(e){return K(Gt,J,485,e,8,1)},w(qn,"EcorePackageImpl/22",1255),b(1256,1,Ge,Qvn),o.fk=function(e){return O(e,195)},o.gk=function(e){return K(Fu,J,195,e,0,2)},w(qn,"EcorePackageImpl/23",1256),b(1257,1,Ge,Yvn),o.fk=function(e){return O(e,222)},o.gk=function(e){return K(p3,J,222,e,0,1)},w(qn,"EcorePackageImpl/24",1257),b(1258,1,Ge,Zvn),o.fk=function(e){return O(e,180)},o.gk=function(e){return K(I8,J,180,e,0,1)},w(qn,"EcorePackageImpl/25",1258),b(1259,1,Ge,n6n),o.fk=function(e){return O(e,206)},o.gk=function(e){return K(oP,J,206,e,0,1)},w(qn,"EcorePackageImpl/26",1259),b(1260,1,Ge,e6n),o.fk=function(e){return!1},o.gk=function(e){return K(m0n,Fn,2215,e,0,1)},w(qn,"EcorePackageImpl/27",1260),b(1261,1,Ge,t6n),o.fk=function(e){return $b(e)},o.gk=function(e){return K(si,J,345,e,7,1)},w(qn,"EcorePackageImpl/28",1261),b(1262,1,Ge,i6n),o.fk=function(e){return O(e,61)},o.gk=function(e){return K(Ldn,kw,61,e,0,1)},w(qn,"EcorePackageImpl/29",1262),b(1236,1,Ge,r6n),o.fk=function(e){return O(e,519)},o.gk=function(e){return K(He,{3:1,4:1,5:1,2033:1},598,e,0,1)},w(qn,"EcorePackageImpl/3",1236),b(1263,1,Ge,c6n),o.fk=function(e){return O(e,582)},o.gk=function(e){return K(xdn,Fn,2039,e,0,1)},w(qn,"EcorePackageImpl/30",1263),b(1264,1,Ge,u6n),o.fk=function(e){return O(e,160)},o.gk=function(e){return K(c0n,kw,160,e,0,1)},w(qn,"EcorePackageImpl/31",1264),b(1265,1,Ge,o6n),o.fk=function(e){return O(e,76)},o.gk=function(e){return K(CO,TJn,76,e,0,1)},w(qn,"EcorePackageImpl/32",1265),b(1266,1,Ge,s6n),o.fk=function(e){return O(e,161)},o.gk=function(e){return K(sv,J,161,e,0,1)},w(qn,"EcorePackageImpl/33",1266),b(1267,1,Ge,f6n),o.fk=function(e){return O(e,17)},o.gk=function(e){return K(Gi,J,17,e,0,1)},w(qn,"EcorePackageImpl/34",1267),b(1268,1,Ge,h6n),o.fk=function(e){return O(e,297)},o.gk=function(e){return K(run,Fn,297,e,0,1)},w(qn,"EcorePackageImpl/35",1268),b(1269,1,Ge,l6n),o.fk=function(e){return O(e,168)},o.gk=function(e){return K(tb,J,168,e,0,1)},w(qn,"EcorePackageImpl/36",1269),b(1270,1,Ge,a6n),o.fk=function(e){return O(e,85)},o.gk=function(e){return K(cun,Fn,85,e,0,1)},w(qn,"EcorePackageImpl/37",1270),b(1271,1,Ge,d6n),o.fk=function(e){return O(e,599)},o.gk=function(e){return K(e0n,Fn,599,e,0,1)},w(qn,"EcorePackageImpl/38",1271),b(1272,1,Ge,b6n),o.fk=function(e){return!1},o.gk=function(e){return K(v0n,Fn,2216,e,0,1)},w(qn,"EcorePackageImpl/39",1272),b(1237,1,Ge,w6n),o.fk=function(e){return O(e,90)},o.gk=function(e){return K(Ts,Fn,29,e,0,1)},w(qn,"EcorePackageImpl/4",1237),b(1273,1,Ge,g6n),o.fk=function(e){return O(e,191)},o.gk=function(e){return K(ib,J,191,e,0,1)},w(qn,"EcorePackageImpl/40",1273),b(1274,1,Ge,p6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(qn,"EcorePackageImpl/41",1274),b(1275,1,Ge,m6n),o.fk=function(e){return O(e,596)},o.gk=function(e){return K($dn,Fn,596,e,0,1)},w(qn,"EcorePackageImpl/42",1275),b(1276,1,Ge,v6n),o.fk=function(e){return!1},o.gk=function(e){return K(k0n,J,2217,e,0,1)},w(qn,"EcorePackageImpl/43",1276),b(1277,1,Ge,k6n),o.fk=function(e){return O(e,44)},o.gk=function(e){return K(Pd,WA,44,e,0,1)},w(qn,"EcorePackageImpl/44",1277),b(1238,1,Ge,y6n),o.fk=function(e){return O(e,142)},o.gk=function(e){return K(Ef,Fn,142,e,0,1)},w(qn,"EcorePackageImpl/5",1238),b(1239,1,Ge,j6n),o.fk=function(e){return O(e,156)},o.gk=function(e){return K(EU,Fn,156,e,0,1)},w(qn,"EcorePackageImpl/6",1239),b(1240,1,Ge,E6n),o.fk=function(e){return O(e,469)},o.gk=function(e){return K(EO,Fn,685,e,0,1)},w(qn,"EcorePackageImpl/7",1240),b(1241,1,Ge,C6n),o.fk=function(e){return O(e,582)},o.gk=function(e){return K(Bl,Fn,694,e,0,1)},w(qn,"EcorePackageImpl/8",1241),b(1242,1,Ge,M6n),o.fk=function(e){return O(e,480)},o.gk=function(e){return K(D9,Fn,480,e,0,1)},w(qn,"EcorePackageImpl/9",1242),b(1038,2080,ZWn,Njn),o.Mi=function(e,t){b5e(this,u(t,424))},o.Qi=function(e,t){S_n(this,e,u(t,424))},w(qn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),b(1039,152,Wy,tIn),o.jj=function(){return this.a.a},w(qn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),b(1067,1066,{},gTn),w("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var e0n=Nt(AJn,"Resource");b(799,1524,SJn),o.Hl=function(e){},o.Il=function(e){},o.El=function(){return!this.a&&(this.a=new iD(this)),this.a},o.Fl=function(e){var t,i,r,c,s;if(r=e.length,r>0)if(zn(0,e.length),e.charCodeAt(0)==47){for(s=new Gc(4),c=1,t=1;t0&&(e=(Fi(0,i,e.length),e.substr(0,i))));return qEe(this,e)},o.Gl=function(){return this.c},o.Ib=function(){var e;return za(this.Rm)+"@"+(e=mt(this)>>>0,e.toString(16))+" uri='"+this.d+"'"},o.b=!1,w(AK,"ResourceImpl",799),b(1525,799,SJn,Cyn),w(AK,"BinaryResourceImpl",1525),b(1190,708,yK),o.bj=function(e){return O(e,58)?Nge(this,u(e,58)):O(e,599)?new ne(u(e,599).El()):x(e)===x(this.f)?u(e,16).Kc():(m4(),aE.a)},o.Ob=function(){return Fnn(this)},o.a=!1,w(Tt,"EcoreUtil/ContentTreeIterator",1190),b(1526,1190,yK,DPn),o.bj=function(e){return x(e)===x(this.f)?u(e,15).Kc():new PDn(u(e,58))},w(AK,"ResourceImpl/5",1526),b(658,2092,gJn,iD),o.Hc=function(e){return this.i<=4?km(this,e):O(e,54)&&u(e,54).Jh()==this.a},o.Mi=function(e,t){e==this.i-1&&(this.a.b||(this.a.b=!0))},o.Oi=function(e,t){e==0?this.a.b||(this.a.b=!0):t$(this,e,t)},o.Qi=function(e,t){},o.Ri=function(e,t,i){},o.Lj=function(){return 2},o.jj=function(){return this.a},o.Mj=function(){return!0},o.Nj=function(e,t){var i;return i=u(e,54),t=i.fi(this.a,t),t},o.Oj=function(e,t){var i;return i=u(e,54),i.fi(null,t)},o.Pj=function(){return!1},o.Si=function(){return!0},o.aj=function(e){return K(Ia,Fn,58,e,0,1)},o.Yi=function(){return!1},w(AK,"ResourceImpl/ContentsEList",658),b(970,2062,Rm,Myn),o.fd=function(e){return this.a.Ki(e)},o.gc=function(){return this.a.gc()},w(Tt,"AbstractSequentialInternalEList/1",970);var t0n,i0n,zi,r0n;b(634,1,{},NSn);var MO,TO;w(Tt,"BasicExtendedMetaData",634),b(1181,1,{},xMn),o.Jl=function(){return null},o.Kl=function(){return this.a==-2&&dfe(this,qye(this.d,this.b)),this.a},o.Ll=function(){return null},o.Ml=function(){return Dn(),Dn(),sr},o.xe=function(){return this.c==rv&&bfe(this,YBn(this.d,this.b)),this.c},o.Nl=function(){return 0},o.a=-2,o.c=rv,w(Tt,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),b(1182,1,{},cDn),o.Jl=function(){return this.a==($4(),MO)&&pfe(this,HAe(this.f,this.b)),this.a},o.Kl=function(){return 0},o.Ll=function(){return this.c==($4(),MO)&&wfe(this,qAe(this.f,this.b)),this.c},o.Ml=function(){return!this.d&&vfe(this,APe(this.f,this.b)),this.d},o.xe=function(){return this.e==rv&&yfe(this,YBn(this.f,this.b)),this.e},o.Nl=function(){return this.g==-2&&Efe(this,sye(this.f,this.b)),this.g},o.e=rv,o.g=-2,w(Tt,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),b(1180,1,{},FMn),o.b=!1,o.c=!1,w(Tt,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),b(1183,1,{},uDn),o.c=-2,o.e=rv,o.f=rv,w(Tt,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),b(593,632,Qr,QC),o.Lj=function(){return this.c},o.ol=function(){return!1},o.Wi=function(e,t){return t},o.c=0,w(Tt,"EDataTypeEList",593);var c0n=Nt(Tt,"FeatureMap");b(78,593,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},Rt),o.bd=function(e,t){oTe(this,e,u(t,76))},o.Fc=function(e){return MMe(this,u(e,76))},o.Hi=function(e){Owe(this,u(e,76))},o.Nj=function(e,t){return Yae(this,u(e,76),t)},o.Oj=function(e,t){return PV(this,u(e,76),t)},o.Ti=function(e,t){return DSe(this,e,t)},o.Wi=function(e,t){return vOe(this,e,u(t,76))},o.hd=function(e,t){return VTe(this,e,u(t,76))},o.Uj=function(e,t){return Zae(this,u(e,76),t)},o.Vj=function(e,t){return fSn(this,u(e,76),t)},o.Wj=function(e,t,i){return Wke(this,u(e,76),u(t,76),i)},o.Zi=function(e,t){return Jx(this,e,u(t,76))},o.Ol=function(e,t){return Sen(this,e,t)},o.cd=function(e,t){var i,r,c,s,f,h,l,a,d;for(a=new S0(t.gc()),c=t.Kc();c.Ob();)if(r=u(c.Pb(),76),s=r.Lk(),Sl(this.e,s))(!s.Si()||!_M(this,s,r.md())&&!km(a,r))&&ve(a,r);else{for(d=ru(this.e.Dh(),s),i=u(this.g,124),f=!0,h=0;h=0;)if(t=e[this.c],this.k.am(t.Lk()))return this.j=this.f?t:t.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},w(Tt,"BasicFeatureMap/FeatureEIterator",420),b(676,420,Hh,dL),o.ul=function(){return!0},w(Tt,"BasicFeatureMap/ResolvingFeatureEIterator",676),b(968,496,zS,TTn),o.pj=function(){return this},w(Tt,"EContentsEList/1",968),b(969,496,zS,JMn),o.ul=function(){return!1},w(Tt,"EContentsEList/2",969),b(967,287,XS,ATn),o.wl=function(e){},o.Ob=function(){return!1},o.Sb=function(){return!1},w(Tt,"EContentsEList/FeatureIteratorImpl/1",967),b(840,593,Qr,xX),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Bs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EDataTypeEList/Unsettable",840),b(1958,593,Qr,NTn),o.Si=function(){return!0},w(Tt,"EDataTypeUniqueEList",1958),b(1959,840,Qr,$Tn),o.Si=function(){return!0},w(Tt,"EDataTypeUniqueEList/Unsettable",1959),b(147,83,Qr,Tu),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectContainmentEList/Resolving",147),b(1184,555,Qr,xTn),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectContainmentEList/Unsettable/Resolving",1184),b(766,14,Qr,jV),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Bs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EObjectContainmentWithInverseEList/Unsettable",766),b(1222,766,Qr,WAn),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),b(757,505,Qr,FX),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Bs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EObjectEList/Unsettable",757),b(338,505,Qr,jg),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectResolvingEList",338),b(1844,757,Qr,FTn),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectResolvingEList/Unsettable",1844),b(1527,1,{},T6n);var Zoe;w(Tt,"EObjectValidator",1527),b(559,505,Qr,bM),o.il=function(){return this.d},o.jl=function(){return this.b},o.Mj=function(){return!0},o.ml=function(){return!0},o.b=0,w(Tt,"EObjectWithInverseEList",559),b(1225,559,Qr,JAn),o.ll=function(){return!0},w(Tt,"EObjectWithInverseEList/ManyInverse",1225),b(635,559,Qr,NL),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Bs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EObjectWithInverseEList/Unsettable",635),b(1224,635,Qr,QAn),o.ll=function(){return!0},w(Tt,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),b(767,559,Qr,EV),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectWithInverseResolvingEList",767),b(32,767,Qr,Nn),o.ll=function(){return!0},w(Tt,"EObjectWithInverseResolvingEList/ManyInverse",32),b(768,635,Qr,CV),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectWithInverseResolvingEList/Unsettable",768),b(1223,768,Qr,YAn),o.ll=function(){return!0},w(Tt,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),b(1185,632,Qr),o.Li=function(){return(this.b&1792)==0},o.Ni=function(){this.b|=1},o.kl=function(){return(this.b&4)!=0},o.Mj=function(){return(this.b&40)!=0},o.ll=function(){return(this.b&16)!=0},o.ml=function(){return(this.b&8)!=0},o.nl=function(){return(this.b&Tw)!=0},o.al=function(){return(this.b&32)!=0},o.ol=function(){return(this.b&Us)!=0},o.fk=function(e){return this.d?BDn(this.d,e):this.Lk().Hk().fk(e)},o.Qj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},o.Si=function(){return(this.b&128)!=0},o.Gk=function(){var e;me(this),this.b&2&&(fo(this.e)?(e=(this.b&1)!=0,this.b&=-2,t4(this,new Bs(this.e,2,Ot(this.e.Dh(),this.Lk()),e,!1))):this.b&=-2)},o.Yi=function(){return(this.b&1536)==0},o.b=0,w(Tt,"EcoreEList/Generic",1185),b(1186,1185,Qr,UIn),o.Lk=function(){return this.a},w(Tt,"EcoreEList/Dynamic",1186),b(765,66,Ch,BG),o.aj=function(e){return mk(this.a.a,e)},w(Tt,"EcoreEMap/1",765),b(764,83,Qr,jW),o.Mi=function(e,t){uA(this.b,u(t,136))},o.Oi=function(e,t){_xn(this.b)},o.Pi=function(e,t,i){var r;++(r=this.b,u(t,136),r).e},o.Qi=function(e,t){cx(this.b,u(t,136))},o.Ri=function(e,t,i){cx(this.b,u(i,136)),x(i)===x(t)&&u(i,136).Ci(Jle(u(t,136).ld())),uA(this.b,u(t,136))},w(Tt,"EcoreEMap/DelegateEObjectContainmentEList",764),b(1220,141,Ucn,rxn),w(Tt,"EcoreEMap/Unsettable",1220),b(1221,764,Qr,ZAn),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Bs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),b(1189,215,Zg,GPn),o.a=!1,o.b=!1,w(Tt,"EcoreUtil/Copier",1189),b(759,1,Si,PDn),o.Nb=function(e){_i(this,e)},o.Ob=function(){return FBn(this)},o.Pb=function(){var e;return FBn(this),e=this.b,this.b=null,e},o.Qb=function(){this.a.Qb()},w(Tt,"EcoreUtil/ProperContentIterator",759),b(1528,1527,{},T8n);var nse;w(Tt,"EcoreValidator",1528);var ese;Nt(Tt,"FeatureMapUtil/Validator"),b(1295,1,{2041:1},A6n),o.am=function(e){return!0},w(Tt,"FeatureMapUtil/1",1295),b(773,1,{2041:1},itn),o.am=function(e){var t;return this.c==e?!0:(t=un(ee(this.a,e)),t==null?WAe(this,e)?(PLn(this.a,e,(_n(),ov)),!0):(PLn(this.a,e,(_n(),wa)),!1):t==(_n(),ov))},o.e=!1;var AU;w(Tt,"FeatureMapUtil/BasicValidator",773),b(774,45,Zg,NX),w(Tt,"FeatureMapUtil/BasicValidator/Cache",774),b(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},j7),o.bd=function(e,t){mqn(this.c,this.b,e,t)},o.Fc=function(e){return Sen(this.c,this.b,e)},o.cd=function(e,t){return gIe(this.c,this.b,e,t)},o.Gc=function(e){return I6(this,e)},o.Gi=function(e,t){lme(this.c,this.b,e,t)},o.Wk=function(e,t){return ken(this.c,this.b,e,t)},o.$i=function(e){return _A(this.c,this.b,e,!1)},o.Ii=function(){return sTn(this.c,this.b)},o.Ji=function(){return Fle(this.c,this.b)},o.Ki=function(e){return g4e(this.c,this.b,e)},o.Xk=function(e,t){return DAn(this,e,t)},o.$b=function(){rp(this)},o.Hc=function(e){return _M(this.c,this.b,e)},o.Ic=function(e){return wve(this.c,this.b,e)},o.Xb=function(e){return _A(this.c,this.b,e,!0)},o.Fk=function(e){return this},o.dd=function(e){return E3e(this.c,this.b,e)},o.dc=function(){return TC(this)},o.Qj=function(){return!Rk(this.c,this.b)},o.Kc=function(){return eme(this.c,this.b)},o.ed=function(){return tme(this.c,this.b)},o.fd=function(e){return L5e(this.c,this.b,e)},o.Ti=function(e,t){return LUn(this.c,this.b,e,t)},o.Ui=function(e,t){v4e(this.c,this.b,e,t)},o.gd=function(e){return l_n(this.c,this.b,e)},o.Mc=function(e){return pSe(this.c,this.b,e)},o.hd=function(e,t){return HUn(this.c,this.b,e,t)},o.Wb=function(e){jA(this.c,this.b),I6(this,u(e,15))},o.gc=function(){return D5e(this.c,this.b)},o.Pc=function(){return Mpe(this.c,this.b)},o.Qc=function(e){return C3e(this.c,this.b,e)},o.Ib=function(){var e,t;for(t=new Hl,t.a+="[",e=sTn(this.c,this.b);W$(e);)Er(t,D6(iA(e))),W$(e)&&(t.a+=ur);return t.a+="]",t.a},o.Gk=function(){jA(this.c,this.b)},w(Tt,"FeatureMapUtil/FeatureEList",509),b(644,39,Wy,GN),o.hj=function(e){return v5(this,e)},o.mj=function(e){var t,i,r,c,s,f,h;switch(this.d){case 1:case 2:{if(s=e.jj(),x(s)===x(this.c)&&v5(this,null)==e.hj(null))return this.g=e.ij(),e.gj()==1&&(this.d=1),!0;break}case 3:{switch(c=e.gj(),c){case 3:{if(s=e.jj(),x(s)===x(this.c)&&v5(this,null)==e.hj(null))return this.d=5,t=new S0(2),ve(t,this.g),ve(t,e.ij()),this.g=t,!0;break}}break}case 5:{switch(c=e.gj(),c){case 3:{if(s=e.jj(),x(s)===x(this.c)&&v5(this,null)==e.hj(null))return i=u(this.g,16),i.Fc(e.ij()),!0;break}}break}case 4:{switch(c=e.gj(),c){case 3:{if(s=e.jj(),x(s)===x(this.c)&&v5(this,null)==e.hj(null))return this.d=1,this.g=e.ij(),!0;break}case 4:{if(s=e.jj(),x(s)===x(this.c)&&v5(this,null)==e.hj(null))return this.d=6,h=new S0(2),ve(h,this.n),ve(h,e.kj()),this.n=h,f=S(T(ye,1),Ke,28,15,[this.o,e.lj()]),this.g=f,!0;break}}break}case 6:{switch(c=e.gj(),c){case 4:{if(s=e.jj(),x(s)===x(this.c)&&v5(this,null)==e.hj(null))return i=u(this.n,16),i.Fc(e.kj()),f=u(this.g,53),r=K(ye,Ke,28,f.length+1,15,1),Ic(f,0,r,0,f.length),r[f.length]=e.lj(),this.g=r,!0;break}}break}}return!1},w(Tt,"FeatureMapUtil/FeatureENotificationImpl",644),b(564,509,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},eM),o.Ol=function(e,t){return Sen(this.c,e,t)},o.Pl=function(e,t,i){return ken(this.c,e,t,i)},o.Ql=function(e,t,i){return zen(this.c,e,t,i)},o.Rl=function(){return this},o.Sl=function(e,t){return wy(this.c,e,t)},o.Tl=function(e){return u(_A(this.c,this.b,e,!1),76).Lk()},o.Ul=function(e){return u(_A(this.c,this.b,e,!1),76).md()},o.Vl=function(){return this.a},o.Wl=function(e){return!Rk(this.c,e)},o.Xl=function(e,t){HA(this.c,e,t)},o.Yl=function(e){return oxn(this.c,e)},o.Zl=function(e){RRn(this.c,e)},w(Tt,"FeatureMapUtil/FeatureFeatureMap",564),b(1294,1,TK,$Mn),o.Fk=function(e){return _A(this.b,this.a,-1,e)},o.Qj=function(){return!Rk(this.b,this.a)},o.Wb=function(e){HA(this.b,this.a,e)},o.Gk=function(){jA(this.b,this.a)},w(Tt,"FeatureMapUtil/FeatureValue",1294);var K3,SU,PU,_3,tse,bE=Nt(eP,"AnyType");b(680,63,Pl,kD),w(eP,"InvalidDatatypeValueException",680);var AO=Nt(eP,IJn),wE=Nt(eP,OJn),u0n=Nt(eP,DJn),ise,yc,o0n,zd,rse,cse,use,ose,sse,fse,hse,lse,ase,dse,bse,U2,wse,G2,F9,gse,Cb,gE,pE,pse,B9,R9;b(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},iz),o.Lh=function(e,t,i){switch(e){case 0:return i?(!this.c&&(this.c=new Rt(this,0)),this.c):(!this.c&&(this.c=new Rt(this,0)),this.c.b);case 1:return i?(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)):(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),220)).Vl();case 2:return i?(!this.b&&(this.b=new Rt(this,2)),this.b):(!this.b&&(this.b=new Rt(this,2)),this.b.b)}return zo(this,e-se(this.ii()),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():this.ii(),e),t,i)},o.Uh=function(e,t,i){var r;switch(t){case 0:return!this.c&&(this.c=new Rt(this,0)),ly(this.c,e,i);case 1:return(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),71)).Xk(e,i);case 2:return!this.b&&(this.b=new Rt(this,2)),ly(this.b,e,i)}return r=u($n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():this.ii(),t),69),r.wk().Ak(this,uQ(this),t-se(this.ii()),e,i)},o.Wh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)).dc();case 2:return!!this.b&&this.b.i!=0}return Uo(this,e-se(this.ii()),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():this.ii(),e))},o.bi=function(e,t){switch(e){case 0:!this.c&&(this.c=new Rt(this,0)),H7(this.c,t);return;case 1:(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),220)).Wb(t);return;case 2:!this.b&&(this.b=new Rt(this,2)),H7(this.b,t);return}Jo(this,e-se(this.ii()),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():this.ii(),e),t)},o.ii=function(){return at(),o0n},o.ki=function(e){switch(e){case 0:!this.c&&(this.c=new Rt(this,0)),me(this.c);return;case 1:(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)).$b();return;case 2:!this.b&&(this.b=new Rt(this,2)),me(this.b);return}Wo(this,e-se(this.ii()),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():this.ii(),e))},o.Ib=function(){var e;return this.j&4?_s(this):(e=new ls(_s(this)),e.a+=" (mixed: ",T6(e,this.c),e.a+=", anyAttribute: ",T6(e,this.b),e.a+=")",e.a)},w(oi,"AnyTypeImpl",844),b(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},B6n),o.Lh=function(e,t,i){switch(e){case 0:return this.a;case 1:return this.b}return zo(this,e-se((at(),U2)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():U2,e),t,i)},o.Wh=function(e){switch(e){case 0:return this.a!=null;case 1:return this.b!=null}return Uo(this,e-se((at(),U2)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():U2,e))},o.bi=function(e,t){switch(e){case 0:Tfe(this,Oe(t));return;case 1:Sfe(this,Oe(t));return}Jo(this,e-se((at(),U2)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():U2,e),t)},o.ii=function(){return at(),U2},o.ki=function(e){switch(e){case 0:this.a=null;return;case 1:this.b=null;return}Wo(this,e-se((at(),U2)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():U2,e))},o.Ib=function(){var e;return this.j&4?_s(this):(e=new ls(_s(this)),e.a+=" (data: ",Er(e,this.a),e.a+=", target: ",Er(e,this.b),e.a+=")",e.a)},o.a=null,o.b=null,w(oi,"ProcessingInstructionImpl",681),b(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},bjn),o.Lh=function(e,t,i){switch(e){case 0:return i?(!this.c&&(this.c=new Rt(this,0)),this.c):(!this.c&&(this.c=new Rt(this,0)),this.c.b);case 1:return i?(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)):(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),220)).Vl();case 2:return i?(!this.b&&(this.b=new Rt(this,2)),this.b):(!this.b&&(this.b=new Rt(this,2)),this.b.b);case 3:return!this.c&&(this.c=new Rt(this,0)),Oe(wy(this.c,(at(),F9),!0));case 4:return TV(this.a,(!this.c&&(this.c=new Rt(this,0)),Oe(wy(this.c,(at(),F9),!0))));case 5:return this.a}return zo(this,e-se((at(),G2)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():G2,e),t,i)},o.Wh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new Rt(this,0)),Oe(wy(this.c,(at(),F9),!0))!=null;case 4:return TV(this.a,(!this.c&&(this.c=new Rt(this,0)),Oe(wy(this.c,(at(),F9),!0))))!=null;case 5:return!!this.a}return Uo(this,e-se((at(),G2)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():G2,e))},o.bi=function(e,t){switch(e){case 0:!this.c&&(this.c=new Rt(this,0)),H7(this.c,t);return;case 1:(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),220)).Wb(t);return;case 2:!this.b&&(this.b=new Rt(this,2)),H7(this.b,t);return;case 3:bJ(this,Oe(t));return;case 4:bJ(this,MV(this.a,t));return;case 5:Afe(this,u(t,156));return}Jo(this,e-se((at(),G2)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():G2,e),t)},o.ii=function(){return at(),G2},o.ki=function(e){switch(e){case 0:!this.c&&(this.c=new Rt(this,0)),me(this.c);return;case 1:(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)).$b();return;case 2:!this.b&&(this.b=new Rt(this,2)),me(this.b);return;case 3:!this.c&&(this.c=new Rt(this,0)),HA(this.c,(at(),F9),null);return;case 4:bJ(this,MV(this.a,null));return;case 5:this.a=null;return}Wo(this,e-se((at(),G2)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():G2,e))},w(oi,"SimpleAnyTypeImpl",682),b(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},wjn),o.Lh=function(e,t,i){switch(e){case 0:return i?(!this.a&&(this.a=new Rt(this,0)),this.a):(!this.a&&(this.a=new Rt(this,0)),this.a.b);case 1:return i?(!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),this.b):(!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),uk(this.b));case 2:return i?(!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),this.c):(!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),uk(this.c));case 3:return!this.a&&(this.a=new Rt(this,0)),$c(this.a,(at(),gE));case 4:return!this.a&&(this.a=new Rt(this,0)),$c(this.a,(at(),pE));case 5:return!this.a&&(this.a=new Rt(this,0)),$c(this.a,(at(),B9));case 6:return!this.a&&(this.a=new Rt(this,0)),$c(this.a,(at(),R9))}return zo(this,e-se((at(),Cb)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():Cb,e),t,i)},o.Uh=function(e,t,i){var r;switch(t){case 0:return!this.a&&(this.a=new Rt(this,0)),ly(this.a,e,i);case 1:return!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),UC(this.b,e,i);case 2:return!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),UC(this.c,e,i);case 5:return!this.a&&(this.a=new Rt(this,0)),DAn($c(this.a,(at(),B9)),e,i)}return r=u($n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():(at(),Cb),t),69),r.wk().Ak(this,uQ(this),t-se((at(),Cb)),e,i)},o.Wh=function(e){switch(e){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new Rt(this,0)),!TC($c(this.a,(at(),gE)));case 4:return!this.a&&(this.a=new Rt(this,0)),!TC($c(this.a,(at(),pE)));case 5:return!this.a&&(this.a=new Rt(this,0)),!TC($c(this.a,(at(),B9)));case 6:return!this.a&&(this.a=new Rt(this,0)),!TC($c(this.a,(at(),R9)))}return Uo(this,e-se((at(),Cb)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():Cb,e))},o.bi=function(e,t){switch(e){case 0:!this.a&&(this.a=new Rt(this,0)),H7(this.a,t);return;case 1:!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),TT(this.b,t);return;case 2:!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),TT(this.c,t);return;case 3:!this.a&&(this.a=new Rt(this,0)),rp($c(this.a,(at(),gE))),!this.a&&(this.a=new Rt(this,0)),I6($c(this.a,gE),u(t,16));return;case 4:!this.a&&(this.a=new Rt(this,0)),rp($c(this.a,(at(),pE))),!this.a&&(this.a=new Rt(this,0)),I6($c(this.a,pE),u(t,16));return;case 5:!this.a&&(this.a=new Rt(this,0)),rp($c(this.a,(at(),B9))),!this.a&&(this.a=new Rt(this,0)),I6($c(this.a,B9),u(t,16));return;case 6:!this.a&&(this.a=new Rt(this,0)),rp($c(this.a,(at(),R9))),!this.a&&(this.a=new Rt(this,0)),I6($c(this.a,R9),u(t,16));return}Jo(this,e-se((at(),Cb)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():Cb,e),t)},o.ii=function(){return at(),Cb},o.ki=function(e){switch(e){case 0:!this.a&&(this.a=new Rt(this,0)),me(this.a);return;case 1:!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new Rt(this,0)),rp($c(this.a,(at(),gE)));return;case 4:!this.a&&(this.a=new Rt(this,0)),rp($c(this.a,(at(),pE)));return;case 5:!this.a&&(this.a=new Rt(this,0)),rp($c(this.a,(at(),B9)));return;case 6:!this.a&&(this.a=new Rt(this,0)),rp($c(this.a,(at(),R9)));return}Wo(this,e-se((at(),Cb)),$n(this.j&2?(!this.k&&(this.k=new cf),this.k).Nk():Cb,e))},o.Ib=function(){var e;return this.j&4?_s(this):(e=new ls(_s(this)),e.a+=" (mixed: ",T6(e,this.a),e.a+=")",e.a)},w(oi,"XMLTypeDocumentRootImpl",683),b(2028,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1,2122:1},S6n),o.ri=function(e,t){switch(e.hk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return t==null?null:Jr(t);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Oe(t);case 6:return fae(u(t,195));case 12:case 47:case 49:case 11:return PGn(this,e,t);case 13:return t==null?null:vIe(u(t,247));case 15:case 14:return t==null?null:Mwe($(R(t)));case 17:return TKn((at(),t));case 18:return TKn(t);case 21:case 20:return t==null?null:Twe(u(t,161).a);case 27:return hae(u(t,195));case 30:return KRn((at(),u(t,15)));case 31:return KRn(u(t,15));case 40:return aae((at(),t));case 42:return AKn((at(),t));case 43:return AKn(t);case 59:case 48:return lae((at(),t));default:throw M(new Gn(ev+e.xe()+nb))}},o.si=function(e){var t,i,r,c,s;switch(e.G==-1&&(e.G=(i=jo(e),i?f1(i.vi(),e):-1)),e.G){case 0:return t=new iz,t;case 1:return r=new B6n,r;case 2:return c=new bjn,c;case 3:return s=new wjn,s;default:throw M(new Gn(hK+e.zb+nb))}},o.ti=function(e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,A,I;switch(e.hk()){case 5:case 52:case 4:return t;case 6:return m9e(t);case 8:case 7:return t==null?null:rye(t);case 9:return t==null?null:bk(Ao((r=Fc(t,!0),r.length>0&&(zn(0,r.length),r.charCodeAt(0)==43)?(zn(1,r.length+1),r.substr(1)):r),-128,127)<<24>>24);case 10:return t==null?null:bk(Ao((c=Fc(t,!0),c.length>0&&(zn(0,c.length),c.charCodeAt(0)==43)?(zn(1,c.length+1),c.substr(1)):c),-128,127)<<24>>24);case 11:return Oe(z0(this,(at(),use),t));case 12:return Oe(z0(this,(at(),ose),t));case 13:return t==null?null:new Az(Fc(t,!0));case 15:case 14:return AMe(t);case 16:return Oe(z0(this,(at(),sse),t));case 17:return HBn((at(),t));case 18:return HBn(t);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return Fc(t,!0);case 21:case 20:return FMe(t);case 22:return Oe(z0(this,(at(),fse),t));case 23:return Oe(z0(this,(at(),hse),t));case 24:return Oe(z0(this,(at(),lse),t));case 25:return Oe(z0(this,(at(),ase),t));case 26:return Oe(z0(this,(at(),dse),t));case 27:return u9e(t);case 30:return qBn((at(),t));case 31:return qBn(t);case 32:return t==null?null:Y(Ao((d=Fc(t,!0),d.length>0&&(zn(0,d.length),d.charCodeAt(0)==43)?(zn(1,d.length+1),d.substr(1)):d),Wi,et));case 33:return t==null?null:new H1((g=Fc(t,!0),g.length>0&&(zn(0,g.length),g.charCodeAt(0)==43)?(zn(1,g.length+1),g.substr(1)):g));case 34:return t==null?null:Y(Ao((p=Fc(t,!0),p.length>0&&(zn(0,p.length),p.charCodeAt(0)==43)?(zn(1,p.length+1),p.substr(1)):p),Wi,et));case 36:return t==null?null:Ml(zA((m=Fc(t,!0),m.length>0&&(zn(0,m.length),m.charCodeAt(0)==43)?(zn(1,m.length+1),m.substr(1)):m)));case 37:return t==null?null:Ml(zA((k=Fc(t,!0),k.length>0&&(zn(0,k.length),k.charCodeAt(0)==43)?(zn(1,k.length+1),k.substr(1)):k)));case 40:return i7e((at(),t));case 42:return UBn((at(),t));case 43:return UBn(t);case 44:return t==null?null:new H1((j=Fc(t,!0),j.length>0&&(zn(0,j.length),j.charCodeAt(0)==43)?(zn(1,j.length+1),j.substr(1)):j));case 45:return t==null?null:new H1((A=Fc(t,!0),A.length>0&&(zn(0,A.length),A.charCodeAt(0)==43)?(zn(1,A.length+1),A.substr(1)):A));case 46:return Fc(t,!1);case 47:return Oe(z0(this,(at(),bse),t));case 59:case 48:return t7e((at(),t));case 49:return Oe(z0(this,(at(),wse),t));case 50:return t==null?null:sm(Ao((I=Fc(t,!0),I.length>0&&(zn(0,I.length),I.charCodeAt(0)==43)?(zn(1,I.length+1),I.substr(1)):I),QS,32767)<<16>>16);case 51:return t==null?null:sm(Ao((s=Fc(t,!0),s.length>0&&(zn(0,s.length),s.charCodeAt(0)==43)?(zn(1,s.length+1),s.substr(1)):s),QS,32767)<<16>>16);case 53:return Oe(z0(this,(at(),gse),t));case 55:return t==null?null:sm(Ao((f=Fc(t,!0),f.length>0&&(zn(0,f.length),f.charCodeAt(0)==43)?(zn(1,f.length+1),f.substr(1)):f),QS,32767)<<16>>16);case 56:return t==null?null:sm(Ao((h=Fc(t,!0),h.length>0&&(zn(0,h.length),h.charCodeAt(0)==43)?(zn(1,h.length+1),h.substr(1)):h),QS,32767)<<16>>16);case 57:return t==null?null:Ml(zA((l=Fc(t,!0),l.length>0&&(zn(0,l.length),l.charCodeAt(0)==43)?(zn(1,l.length+1),l.substr(1)):l)));case 58:return t==null?null:Ml(zA((a=Fc(t,!0),a.length>0&&(zn(0,a.length),a.charCodeAt(0)==43)?(zn(1,a.length+1),a.substr(1)):a)));case 60:return t==null?null:Y(Ao((i=Fc(t,!0),i.length>0&&(zn(0,i.length),i.charCodeAt(0)==43)?(zn(1,i.length+1),i.substr(1)):i),Wi,et));case 61:return t==null?null:Y(Ao(Fc(t,!0),Wi,et));default:throw M(new Gn(ev+e.xe()+nb))}};var mse,s0n,vse,f0n;w(oi,"XMLTypeFactoryImpl",2028),b(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},dIn),o.N=!1,o.O=!1;var kse=!1;w(oi,"XMLTypePackageImpl",594),b(1961,1,{851:1},P6n),o.Kk=function(){return Fen(),Pse},w(oi,"XMLTypePackageImpl/1",1961),b(1970,1,Ge,I6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/10",1970),b(1971,1,Ge,O6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/11",1971),b(1972,1,Ge,D6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/12",1972),b(1973,1,Ge,L6n),o.fk=function(e){return $b(e)},o.gk=function(e){return K(si,J,345,e,7,1)},w(oi,"XMLTypePackageImpl/13",1973),b(1974,1,Ge,N6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/14",1974),b(1975,1,Ge,$6n),o.fk=function(e){return O(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/15",1975),b(1976,1,Ge,x6n),o.fk=function(e){return O(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/16",1976),b(1977,1,Ge,F6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/17",1977),b(1978,1,Ge,R6n),o.fk=function(e){return O(e,161)},o.gk=function(e){return K(sv,J,161,e,0,1)},w(oi,"XMLTypePackageImpl/18",1978),b(1979,1,Ge,K6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/19",1979),b(1962,1,Ge,_6n),o.fk=function(e){return O(e,857)},o.gk=function(e){return K(bE,Fn,857,e,0,1)},w(oi,"XMLTypePackageImpl/2",1962),b(1980,1,Ge,H6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/20",1980),b(1981,1,Ge,q6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/21",1981),b(1982,1,Ge,U6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/22",1982),b(1983,1,Ge,G6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/23",1983),b(1984,1,Ge,z6n),o.fk=function(e){return O(e,195)},o.gk=function(e){return K(Fu,J,195,e,0,2)},w(oi,"XMLTypePackageImpl/24",1984),b(1985,1,Ge,X6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/25",1985),b(1986,1,Ge,V6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/26",1986),b(1987,1,Ge,W6n),o.fk=function(e){return O(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/27",1987),b(1988,1,Ge,J6n),o.fk=function(e){return O(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/28",1988),b(1989,1,Ge,Q6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/29",1989),b(1963,1,Ge,Y6n),o.fk=function(e){return O(e,681)},o.gk=function(e){return K(AO,Fn,2119,e,0,1)},w(oi,"XMLTypePackageImpl/3",1963),b(1990,1,Ge,Z6n),o.fk=function(e){return O(e,17)},o.gk=function(e){return K(Gi,J,17,e,0,1)},w(oi,"XMLTypePackageImpl/30",1990),b(1991,1,Ge,n5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/31",1991),b(1992,1,Ge,e5n),o.fk=function(e){return O(e,168)},o.gk=function(e){return K(tb,J,168,e,0,1)},w(oi,"XMLTypePackageImpl/32",1992),b(1993,1,Ge,t5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/33",1993),b(1994,1,Ge,i5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/34",1994),b(1995,1,Ge,r5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/35",1995),b(1996,1,Ge,c5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/36",1996),b(1997,1,Ge,u5n),o.fk=function(e){return O(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/37",1997),b(1998,1,Ge,o5n),o.fk=function(e){return O(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/38",1998),b(1999,1,Ge,s5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/39",1999),b(1964,1,Ge,f5n),o.fk=function(e){return O(e,682)},o.gk=function(e){return K(wE,Fn,2120,e,0,1)},w(oi,"XMLTypePackageImpl/4",1964),b(2e3,1,Ge,h5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/40",2e3),b(2001,1,Ge,l5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/41",2001),b(2002,1,Ge,a5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/42",2002),b(2003,1,Ge,d5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/43",2003),b(2004,1,Ge,b5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/44",2004),b(2005,1,Ge,w5n),o.fk=function(e){return O(e,191)},o.gk=function(e){return K(ib,J,191,e,0,1)},w(oi,"XMLTypePackageImpl/45",2005),b(2006,1,Ge,g5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/46",2006),b(2007,1,Ge,p5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/47",2007),b(2008,1,Ge,m5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/48",2008),b(2009,1,Ge,v5n),o.fk=function(e){return O(e,191)},o.gk=function(e){return K(ib,J,191,e,0,1)},w(oi,"XMLTypePackageImpl/49",2009),b(1965,1,Ge,k5n),o.fk=function(e){return O(e,683)},o.gk=function(e){return K(u0n,Fn,2121,e,0,1)},w(oi,"XMLTypePackageImpl/5",1965),b(2010,1,Ge,y5n),o.fk=function(e){return O(e,168)},o.gk=function(e){return K(tb,J,168,e,0,1)},w(oi,"XMLTypePackageImpl/50",2010),b(2011,1,Ge,j5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/51",2011),b(2012,1,Ge,E5n),o.fk=function(e){return O(e,17)},o.gk=function(e){return K(Gi,J,17,e,0,1)},w(oi,"XMLTypePackageImpl/52",2012),b(1966,1,Ge,C5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/6",1966),b(1967,1,Ge,M5n),o.fk=function(e){return O(e,195)},o.gk=function(e){return K(Fu,J,195,e,0,2)},w(oi,"XMLTypePackageImpl/7",1967),b(1968,1,Ge,T5n),o.fk=function(e){return Nb(e)},o.gk=function(e){return K(Gt,J,485,e,8,1)},w(oi,"XMLTypePackageImpl/8",1968),b(1969,1,Ge,A5n),o.fk=function(e){return O(e,222)},o.gk=function(e){return K(p3,J,222,e,0,1)},w(oi,"XMLTypePackageImpl/9",1969);var Zf,O1,K9,SO,P;b(55,63,Pl,Le),w(p1,"RegEx/ParseException",55),b(836,1,{},rG),o.bm=function(e){return ei*16)throw M(new Le($e((Ie(),qWn))));i=i*16+c}while(!0);if(this.a!=125)throw M(new Le($e((Ie(),UWn))));if(i>cv)throw M(new Le($e((Ie(),GWn))));e=i}else{if(c=0,this.c!=0||(c=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(i=c,Ye(this),this.c!=0||(c=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));i=i*16+c,e=i}break;case 117:if(r=0,Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=r,Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));t=t*16+r,e=t;break;case 118:if(Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=r,Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ye(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,t>cv)throw M(new Le($e((Ie(),"parser.descappe.4"))));e=t;break;case 65:case 90:case 122:throw M(new Le($e((Ie(),zWn))))}return e},o.dm=function(e){var t,i;switch(e){case 100:i=(this.e&32)==32?oa("Nd",!0):(nt(),PO);break;case 68:i=(this.e&32)==32?oa("Nd",!1):(nt(),w0n);break;case 119:i=(this.e&32)==32?oa("IsWord",!0):(nt(),zv);break;case 87:i=(this.e&32)==32?oa("IsWord",!1):(nt(),p0n);break;case 115:i=(this.e&32)==32?oa("IsSpace",!0):(nt(),H3);break;case 83:i=(this.e&32)==32?oa("IsSpace",!1):(nt(),g0n);break;default:throw M(new ec((t=e,zJn+t.toString(16))))}return i},o.em=function(e){var t,i,r,c,s,f,h,l,a,d,g,p;for(this.b=1,Ye(this),t=null,this.c==0&&this.a==94?(Ye(this),e?d=(nt(),nt(),new yo(5)):(t=(nt(),nt(),new yo(4)),xc(t,0,cv),d=new yo(4))):d=(nt(),nt(),new yo(4)),c=!0;(p=this.c)!=1&&!(p==0&&this.a==93&&!c);){if(c=!1,i=this.a,r=!1,p==10)switch(i){case 100:case 68:case 119:case 87:case 115:case 83:gw(d,this.dm(i)),r=!0;break;case 105:case 73:case 99:case 67:i=this.um(d,i),i<0&&(r=!0);break;case 112:case 80:if(g=$nn(this,i),!g)throw M(new Le($e((Ie(),EK))));gw(d,g),r=!0;break;default:i=this.cm()}else if(p==20){if(f=w4(this.i,58,this.d),f<0)throw M(new Le($e((Ie(),Bcn))));if(h=!0,Xi(this.i,this.d)==94&&(++this.d,h=!1),s=qo(this.i,this.d,f),l=mNn(s,h,(this.e&512)==512),!l)throw M(new Le($e((Ie(),BWn))));if(gw(d,l),r=!0,f+1>=this.j||Xi(this.i,f+1)!=93)throw M(new Le($e((Ie(),Bcn))));this.d=f+2}if(Ye(this),!r)if(this.c!=0||this.a!=45)xc(d,i,i);else{if(Ye(this),(p=this.c)==1)throw M(new Le($e((Ie(),US))));p==0&&this.a==93?(xc(d,i,i),xc(d,45,45)):(a=this.a,p==10&&(a=this.cm()),Ye(this),xc(d,i,a))}(this.e&Us)==Us&&this.c==0&&this.a==44&&Ye(this)}if(this.c==1)throw M(new Le($e((Ie(),US))));return t&&(Q5(t,d),d=t),Ug(d),W5(d),this.b=0,Ye(this),d},o.fm=function(){var e,t,i,r;for(i=this.em(!1);(r=this.c)!=7;)if(e=this.a,r==0&&(e==45||e==38)||r==4){if(Ye(this),this.c!=9)throw M(new Le($e((Ie(),KWn))));if(t=this.em(!1),r==4)gw(i,t);else if(e==45)Q5(i,t);else if(e==38)MGn(i,t);else throw M(new ec("ASSERT"))}else throw M(new Le($e((Ie(),_Wn))));return Ye(this),i},o.gm=function(){var e,t;return e=this.a-48,t=(nt(),nt(),new IN(12,null,e)),!this.g&&(this.g=new BE),FE(this.g,new RG(e)),Ye(this),t},o.hm=function(){return Ye(this),nt(),Ese},o.im=function(){return Ye(this),nt(),jse},o.jm=function(){throw M(new Le($e((Ie(),is))))},o.km=function(){throw M(new Le($e((Ie(),is))))},o.lm=function(){return Ye(this),y6e()},o.mm=function(){return Ye(this),nt(),Mse},o.nm=function(){return Ye(this),nt(),Ase},o.om=function(){var e;if(this.d>=this.j||((e=Xi(this.i,this.d++))&65504)!=64)throw M(new Le($e((Ie(),$Wn))));return Ye(this),nt(),nt(),new Nh(0,e-64)},o.pm=function(){return Ye(this),CPe()},o.qm=function(){return Ye(this),nt(),Sse},o.rm=function(){var e;return e=(nt(),nt(),new Nh(0,105)),Ye(this),e},o.sm=function(){return Ye(this),nt(),Tse},o.tm=function(){return Ye(this),nt(),Cse},o.um=function(e,t){return this.cm()},o.vm=function(){return Ye(this),nt(),d0n},o.wm=function(){var e,t,i,r,c;if(this.d+1>=this.j)throw M(new Le($e((Ie(),DWn))));if(r=-1,t=null,e=Xi(this.i,this.d),49<=e&&e<=57){if(r=e-48,!this.g&&(this.g=new BE),FE(this.g,new RG(r)),++this.d,Xi(this.i,this.d)!=41)throw M(new Le($e((Ie(),Ad))));++this.d}else switch(e==63&&--this.d,Ye(this),t=stn(this),t.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw M(new Le($e((Ie(),Ad))));break;default:throw M(new Le($e((Ie(),LWn))))}if(Ye(this),c=B0(this),i=null,c.e==2){if(c.Pm()!=2)throw M(new Le($e((Ie(),NWn))));i=c.Lm(1),c=c.Lm(0)}if(this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ye(this),nt(),nt(),new ZNn(r,t,c,i)},o.xm=function(){return Ye(this),nt(),b0n},o.ym=function(){var e;if(Ye(this),e=wM(24,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ye(this),e},o.zm=function(){var e;if(Ye(this),e=wM(20,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ye(this),e},o.Am=function(){var e;if(Ye(this),e=wM(22,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ye(this),e},o.Bm=function(){var e,t,i,r,c;for(e=0,i=0,t=-1;this.d=this.j)throw M(new Le($e((Ie(),xcn))));if(t==45){for(++this.d;this.d=this.j)throw M(new Le($e((Ie(),xcn))))}if(t==58){if(++this.d,Ye(this),r=VPn(B0(this),e,i),this.c!=7)throw M(new Le($e((Ie(),Ad))));Ye(this)}else if(t==41)++this.d,Ye(this),r=VPn(B0(this),e,i);else throw M(new Le($e((Ie(),OWn))));return r},o.Cm=function(){var e;if(Ye(this),e=wM(21,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ye(this),e},o.Dm=function(){var e;if(Ye(this),e=wM(23,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ye(this),e},o.Em=function(){var e,t;if(Ye(this),e=this.f++,t=rN(B0(this),e),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ye(this),t},o.Fm=function(){var e;if(Ye(this),e=rN(B0(this),0),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ye(this),e},o.Gm=function(e){return Ye(this),this.c==5?(Ye(this),uM(e,(nt(),nt(),new Xb(9,e)))):uM(e,(nt(),nt(),new Xb(3,e)))},o.Hm=function(e){var t;return Ye(this),t=(nt(),nt(),new P6(2)),this.c==5?(Ye(this),pd(t,H9),pd(t,e)):(pd(t,e),pd(t,H9)),t},o.Im=function(e){return Ye(this),this.c==5?(Ye(this),nt(),nt(),new Xb(9,e)):(nt(),nt(),new Xb(3,e))},o.a=0,o.b=0,o.c=0,o.d=0,o.e=0,o.f=1,o.g=null,o.j=0,w(p1,"RegEx/RegexParser",836),b(1947,836,{},gjn),o.bm=function(e){return!1},o.cm=function(){return gen(this)},o.dm=function(e){return Im(e)},o.em=function(e){return kzn(this)},o.fm=function(){throw M(new Le($e((Ie(),is))))},o.gm=function(){throw M(new Le($e((Ie(),is))))},o.hm=function(){throw M(new Le($e((Ie(),is))))},o.im=function(){throw M(new Le($e((Ie(),is))))},o.jm=function(){return Ye(this),Im(67)},o.km=function(){return Ye(this),Im(73)},o.lm=function(){throw M(new Le($e((Ie(),is))))},o.mm=function(){throw M(new Le($e((Ie(),is))))},o.nm=function(){throw M(new Le($e((Ie(),is))))},o.om=function(){return Ye(this),Im(99)},o.pm=function(){throw M(new Le($e((Ie(),is))))},o.qm=function(){throw M(new Le($e((Ie(),is))))},o.rm=function(){return Ye(this),Im(105)},o.sm=function(){throw M(new Le($e((Ie(),is))))},o.tm=function(){throw M(new Le($e((Ie(),is))))},o.um=function(e,t){return gw(e,Im(t)),-1},o.vm=function(){return Ye(this),nt(),nt(),new Nh(0,94)},o.wm=function(){throw M(new Le($e((Ie(),is))))},o.xm=function(){return Ye(this),nt(),nt(),new Nh(0,36)},o.ym=function(){throw M(new Le($e((Ie(),is))))},o.zm=function(){throw M(new Le($e((Ie(),is))))},o.Am=function(){throw M(new Le($e((Ie(),is))))},o.Bm=function(){throw M(new Le($e((Ie(),is))))},o.Cm=function(){throw M(new Le($e((Ie(),is))))},o.Dm=function(){throw M(new Le($e((Ie(),is))))},o.Em=function(){var e;if(Ye(this),e=rN(B0(this),0),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ye(this),e},o.Fm=function(){throw M(new Le($e((Ie(),is))))},o.Gm=function(e){return Ye(this),uM(e,(nt(),nt(),new Xb(3,e)))},o.Hm=function(e){var t;return Ye(this),t=(nt(),nt(),new P6(2)),pd(t,e),pd(t,H9),t},o.Im=function(e){return Ye(this),nt(),nt(),new Xb(3,e)};var z2=null,Uv=null;w(p1,"RegEx/ParserForXMLSchema",1947),b(122,1,uv,Wd),o.Jm=function(e){throw M(new ec("Not supported."))},o.Km=function(){return-1},o.Lm=function(e){return null},o.Mm=function(){return null},o.Nm=function(e){},o.Om=function(e){},o.Pm=function(){return 0},o.Ib=function(){return this.Qm(0)},o.Qm=function(e){return this.e==11?".":""},o.e=0;var h0n,Gv,_9,yse,l0n,rg=null,PO,IU=null,a0n,H9,OU=null,d0n,b0n,w0n,g0n,p0n,jse,H3,Ese,Cse,Mse,Tse,zv,Ase,Sse,NNe=w(p1,"RegEx/Token",122);b(138,122,{3:1,138:1,122:1},yo),o.Qm=function(e){var t,i,r;if(this.e==4)if(this==a0n)i=".";else if(this==PO)i="\\d";else if(this==zv)i="\\w";else if(this==H3)i="\\s";else{for(r=new Hl,r.a+="[",t=0;t0&&(r.a+=","),this.b[t]===this.b[t+1]?Er(r,by(this.b[t])):(Er(r,by(this.b[t])),r.a+="-",Er(r,by(this.b[t+1])));r.a+="]",i=r.a}else if(this==w0n)i="\\D";else if(this==p0n)i="\\W";else if(this==g0n)i="\\S";else{for(r=new Hl,r.a+="[^",t=0;t0&&(r.a+=","),this.b[t]===this.b[t+1]?Er(r,by(this.b[t])):(Er(r,by(this.b[t])),r.a+="-",Er(r,by(this.b[t+1])));r.a+="]",i=r.a}return i},o.a=!1,o.c=!1,w(p1,"RegEx/RangeToken",138),b(592,1,{592:1},RG),o.a=0,w(p1,"RegEx/RegexParser/ReferencePosition",592),b(591,1,{3:1,591:1},OEn),o.Fb=function(e){var t;return e==null||!O(e,591)?!1:(t=u(e,591),An(this.b,t.b)&&this.a==t.a)},o.Hb=function(){return t1(this.b+"/"+fen(this.a))},o.Ib=function(){return this.c.Qm(this.a)},o.a=0,w(p1,"RegEx/RegularExpression",591),b(228,122,uv,Nh),o.Km=function(){return this.a},o.Qm=function(e){var t,i,r;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:r="\\"+LL(this.a&ui);break;case 12:r="\\f";break;case 10:r="\\n";break;case 13:r="\\r";break;case 9:r="\\t";break;case 27:r="\\e";break;default:this.a>=hr?(i=(t=this.a>>>0,"0"+t.toString(16)),r="\\v"+qo(i,i.length-6,i.length)):r=""+LL(this.a&ui)}break;case 8:this==d0n||this==b0n?r=""+LL(this.a&ui):r="\\"+LL(this.a&ui);break;default:r=null}return r},o.a=0,w(p1,"RegEx/Token/CharToken",228),b(318,122,uv,Xb),o.Lm=function(e){return this.a},o.Nm=function(e){this.b=e},o.Om=function(e){this.c=e},o.Pm=function(){return 1},o.Qm=function(e){var t;if(this.e==3)if(this.c<0&&this.b<0)t=this.a.Qm(e)+"*";else if(this.c==this.b)t=this.a.Qm(e)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)t=this.a.Qm(e)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)t=this.a.Qm(e)+"{"+this.c+",}";else throw M(new ec("Token#toString(): CLOSURE "+this.c+ur+this.b));else if(this.c<0&&this.b<0)t=this.a.Qm(e)+"*?";else if(this.c==this.b)t=this.a.Qm(e)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)t=this.a.Qm(e)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)t=this.a.Qm(e)+"{"+this.c+",}?";else throw M(new ec("Token#toString(): NONGREEDYCLOSURE "+this.c+ur+this.b));return t},o.b=0,o.c=0,w(p1,"RegEx/Token/ClosureToken",318),b(837,122,uv,SW),o.Lm=function(e){return e==0?this.a:this.b},o.Pm=function(){return 2},o.Qm=function(e){var t;return this.b.e==3&&this.b.Lm(0)==this.a?t=this.a.Qm(e)+"+":this.b.e==9&&this.b.Lm(0)==this.a?t=this.a.Qm(e)+"+?":t=this.a.Qm(e)+(""+this.b.Qm(e)),t},w(p1,"RegEx/Token/ConcatToken",837),b(1945,122,uv,ZNn),o.Lm=function(e){if(e==0)return this.d;if(e==1)return this.b;throw M(new ec("Internal Error: "+e))},o.Pm=function(){return this.b?2:1},o.Qm=function(e){var t;return this.c>0?t="(?("+this.c+")":this.a.e==8?t="(?("+this.a+")":t="(?"+this.a,this.b?t+=this.d+"|"+this.b+")":t+=this.d+")",t},o.c=0,w(p1,"RegEx/Token/ConditionToken",1945),b(1946,122,uv,qOn),o.Lm=function(e){return this.b},o.Pm=function(){return 1},o.Qm=function(e){return"(?"+(this.a==0?"":fen(this.a))+(this.c==0?"":fen(this.c))+":"+this.b.Qm(e)+")"},o.a=0,o.c=0,w(p1,"RegEx/Token/ModifierToken",1946),b(838,122,uv,BW),o.Lm=function(e){return this.a},o.Pm=function(){return 1},o.Qm=function(e){var t;switch(t=null,this.e){case 6:this.b==0?t="(?:"+this.a.Qm(e)+")":t="("+this.a.Qm(e)+")";break;case 20:t="(?="+this.a.Qm(e)+")";break;case 21:t="(?!"+this.a.Qm(e)+")";break;case 22:t="(?<="+this.a.Qm(e)+")";break;case 23:t="(?"+this.a.Qm(e)+")"}return t},o.b=0,w(p1,"RegEx/Token/ParenToken",838),b(530,122,{3:1,122:1,530:1},IN),o.Mm=function(){return this.b},o.Qm=function(e){return this.e==12?"\\"+this.a:gMe(this.b)},o.a=0,w(p1,"RegEx/Token/StringToken",530),b(477,122,uv,P6),o.Jm=function(e){pd(this,e)},o.Lm=function(e){return u(k0(this.a,e),122)},o.Pm=function(){return this.a?this.a.a.c.length:0},o.Qm=function(e){var t,i,r,c,s;if(this.e==1){if(this.a.a.c.length==2)t=u(k0(this.a,0),122),i=u(k0(this.a,1),122),i.e==3&&i.Lm(0)==t?c=t.Qm(e)+"+":i.e==9&&i.Lm(0)==t?c=t.Qm(e)+"+?":c=t.Qm(e)+(""+i.Qm(e));else{for(s=new Hl,r=0;r=this.c.b:this.a<=this.c.b},o.Sb=function(){return this.b>0},o.Tb=function(){return this.b},o.Vb=function(){return this.b-1},o.Qb=function(){throw M(new Kl(ZJn))},o.a=0,o.b=0,w(iun,"ExclusiveRange/RangeIterator",258);var fs=A4(GS,"C"),ye=A4(C8,"I"),so=A4(i3,"Z"),xa=A4(M8,"J"),Fu=A4(y8,"B"),Pi=A4(j8,"D"),cg=A4(E8,"F"),X2=A4(T8,"S"),$Ne=Nt("org.eclipse.elk.core.labels","ILabelManager"),m0n=Nt(or,"DiagnosticChain"),v0n=Nt(AJn,"ResourceSet"),k0n=w(or,"InvocationTargetException",null),Ise=(HE(),W3e),Ose=Ose=Kke;Hme(Bfe),Bme("permProps",[[["locale","default"],[nQn,"gecko1_8"]],[["locale","default"],[nQn,"safari"]]]),Ose(null,"elk",null)}).call(this)}).call(this,typeof Nse<"u"?Nse:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(Xt,gt,Sr){function Di(Jt,ze){if(!(Jt instanceof ze))throw new TypeError("Cannot call a class as a function")}function y(Jt,ze){if(!Jt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ze&&(typeof ze=="object"||typeof ze=="function")?ze:Jt}function Wt(Jt,ze){if(typeof ze!="function"&&ze!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof ze);Jt.prototype=Object.create(ze&&ze.prototype,{constructor:{value:Jt,enumerable:!1,writable:!0,configurable:!0}}),ze&&(Object.setPrototypeOf?Object.setPrototypeOf(Jt,ze):Jt.__proto__=ze)}var Bu=Xt("./elk-api.js").default,Ht=function(Jt){Wt(ze,Jt);function ze(){var Yi=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Di(this,ze);var Ri=Object.assign({},Yi),En=!1;try{Xt.resolve("web-worker"),En=!0}catch{}if(Yi.workerUrl)if(En){var hu=Xt("web-worker");Ri.workerFactory=function(Pr){return new hu(Pr)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!Ri.workerFactory){var Qc=Xt("./elk-worker.min.js"),Ru=Qc.Worker;Ri.workerFactory=function(Pr){return new Ru(Pr)}}return y(this,(ze.__proto__||Object.getPrototypeOf(ze)).call(this,Ri))}return ze}(Bu);Object.defineProperty(gt.exports,"__esModule",{value:!0}),gt.exports=Ht,Ht.default=Ht},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(Xt,gt,Sr){gt.exports=Worker},{}]},{},[3])(3)})})(Bse);var VNe=Bse.exports;const WNe=BNe(VNe),JNe=(ct,_t,Xt)=>{const{parentById:gt}=Xt,Sr=new Set;let Di=ct;for(;Di;){if(Sr.add(Di),Di===_t)return Di;Di=gt[Di]}for(Di=_t;Di;){if(Sr.has(Di))return Di;Di=gt[Di]}return"root"},$se=new WNe;let Ab={};const QNe={};let X3={};const YNe=async function(ct,_t,Xt,gt,Sr,Di,y){const Bu=Xt.select(`[id="${_t}"]`).insert("g").attr("class","nodes"),Ht=Object.keys(ct);return await Promise.all(Ht.map(async function(Jt){const ze=ct[Jt];let Yi="default";ze.classes.length>0&&(Yi=ze.classes.join(" ")),Yi=Yi+" flowchart-label";const Ri=E0n(ze.styles);let En=ze.text!==void 0?ze.text:ze.id;const hu={width:0,height:0},Qc=[{id:ze.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:ze.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:ze.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:ze.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let Ru=0,Pr="",Cf={};switch(ze.type){case"round":Ru=5,Pr="rect";break;case"square":Pr="rect";break;case"diamond":Pr="question",Cf={portConstraints:"FIXED_SIDE"};break;case"hexagon":Pr="hexagon";break;case"odd":Pr="rect_left_inv_arrow";break;case"lean_right":Pr="lean_right";break;case"lean_left":Pr="lean_left";break;case"trapezoid":Pr="trapezoid";break;case"inv_trapezoid":Pr="inv_trapezoid";break;case"odd_right":Pr="rect_left_inv_arrow";break;case"circle":Pr="circle";break;case"ellipse":Pr="ellipse";break;case"stadium":Pr="stadium";break;case"subroutine":Pr="subroutine";break;case"cylinder":Pr="cylinder";break;case"group":Pr="rect";break;case"doublecircle":Pr="doublecircle";break;default:Pr="rect"}const L1={labelStyle:Ri.labelStyle,shape:Pr,labelText:En,labelType:ze.labelType,rx:Ru,ry:Ru,class:Yi,style:Ri.style,id:ze.id,link:ze.link,linkTarget:ze.linkTarget,tooltip:Sr.db.getTooltip(ze.id)||"",domId:Sr.db.lookUpDomId(ze.id),haveCallback:ze.haveCallback,width:ze.type==="group"?500:void 0,dir:ze.dir,type:ze.type,props:ze.props,padding:xU().flowchart.padding};let N1,og;if(L1.type!=="group")og=await HNe(Bu,L1,ze.dir),N1=og.node().getBBox();else{gt.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:$1,bbox:ul}=await qNe(Bu,L1,void 0,!0);hu.width=ul.width,hu.wrappingWidth=xU().flowchart.wrappingWidth,hu.height=ul.height,hu.labelNode=$1.node(),L1.labelData=hu}const V3={id:ze.id,ports:ze.type==="diamond"?Qc:[],layoutOptions:Cf,labelText:En,labelData:hu,domId:Sr.db.lookUpDomId(ze.id),width:N1==null?void 0:N1.width,height:N1==null?void 0:N1.height,type:ze.type,el:og,parent:Di.parentById[ze.id]};X3[L1.id]=V3})),y},xse=(ct,_t,Xt)=>{const gt={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return gt.TD=gt.TB,gt[Xt][_t][ct]},Fse=(ct,_t,Xt)=>{if(Ba.info("getNextPort",{node:ct,edgeDirection:_t,graphDirection:Xt}),!Ab[ct])switch(Xt){case"TB":case"TD":Ab[ct]={inPosition:"north",outPosition:"south"};break;case"BT":Ab[ct]={inPosition:"south",outPosition:"north"};break;case"RL":Ab[ct]={inPosition:"east",outPosition:"west"};break;case"LR":Ab[ct]={inPosition:"west",outPosition:"east"};break}const gt=_t==="in"?Ab[ct].inPosition:Ab[ct].outPosition;return _t==="in"?Ab[ct].inPosition=xse(Ab[ct].inPosition,_t,Xt):Ab[ct].outPosition=xse(Ab[ct].outPosition,_t,Xt),gt},ZNe=(ct,_t)=>{let Xt=ct.start,gt=ct.end;const Sr=Xt,Di=gt,y=X3[Xt],Wt=X3[gt];return!y||!Wt?{source:Xt,target:gt}:(y.type==="diamond"&&(Xt=`${Xt}-${Fse(Xt,"out",_t)}`),Wt.type==="diamond"&&(gt=`${gt}-${Fse(gt,"in",_t)}`),{source:Xt,target:gt,sourceId:Sr,targetId:Di})},n$e=function(ct,_t,Xt,gt){Ba.info("abc78 edges = ",ct);const Sr=gt.insert("g").attr("class","edgeLabels");let Di={},y=_t.db.getDirection(),Wt,Bu;if(ct.defaultStyle!==void 0){const Ht=E0n(ct.defaultStyle);Wt=Ht.style,Bu=Ht.labelStyle}return ct.forEach(function(Ht){const Jt="L-"+Ht.start+"-"+Ht.end;Di[Jt]===void 0?(Di[Jt]=0,Ba.info("abc78 new entry",Jt,Di[Jt])):(Di[Jt]++,Ba.info("abc78 new entry",Jt,Di[Jt]));let ze=Jt+"-"+Di[Jt];Ba.info("abc78 new link id to be used is",Jt,ze,Di[Jt]);const Yi="LS-"+Ht.start,Ri="LE-"+Ht.end,En={style:"",labelStyle:""};switch(En.minlen=Ht.length||1,Ht.type==="arrow_open"?En.arrowhead="none":En.arrowhead="normal",En.arrowTypeStart="arrow_open",En.arrowTypeEnd="arrow_open",Ht.type){case"double_arrow_cross":En.arrowTypeStart="arrow_cross";case"arrow_cross":En.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":En.arrowTypeStart="arrow_point";case"arrow_point":En.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":En.arrowTypeStart="arrow_circle";case"arrow_circle":En.arrowTypeEnd="arrow_circle";break}let hu="",Qc="";switch(Ht.stroke){case"normal":hu="fill:none;",Wt!==void 0&&(hu=Wt),Bu!==void 0&&(Qc=Bu),En.thickness="normal",En.pattern="solid";break;case"dotted":En.thickness="normal",En.pattern="dotted",En.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":En.thickness="thick",En.pattern="solid",En.style="stroke-width: 3.5px;fill:none;";break}if(Ht.style!==void 0){const og=E0n(Ht.style);hu=og.style,Qc=og.labelStyle}En.style=En.style+=hu,En.labelStyle=En.labelStyle+=Qc,Ht.interpolate!==void 0?En.curve=j0n(Ht.interpolate,$U):ct.defaultInterpolate!==void 0?En.curve=j0n(ct.defaultInterpolate,$U):En.curve=j0n(QNe.curve,$U),Ht.text===void 0?Ht.style!==void 0&&(En.arrowheadStyle="fill: #333"):(En.arrowheadStyle="fill: #333",En.labelpos="c"),En.labelType=Ht.labelType,En.label=Ht.text.replace(KNe.lineBreakRegex,` +`),Ht.style===void 0&&(En.style=En.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),En.labelStyle=En.labelStyle.replace("color:","fill:"),En.id=ze,En.classes="flowchart-link "+Yi+" "+Ri;const Ru=UNe(Sr,En),{source:Pr,target:Cf,sourceId:L1,targetId:N1}=ZNe(Ht,y);Ba.debug("abc78 source and target",Pr,Cf),Xt.edges.push({id:"e"+Ht.start+Ht.end,sources:[Pr],targets:[Cf],sourceId:L1,targetId:N1,labelEl:Ru,labels:[{width:En.width,height:En.height,orgWidth:En.width,orgHeight:En.height,text:En.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:En})}),Xt},e$e=function(ct,_t,Xt,gt,Sr){let Di="";gt&&(Di=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,Di=Di.replace(/\(/g,"\\("),Di=Di.replace(/\)/g,"\\)")),zNe(ct,_t,Di,Sr,Xt)},t$e=function(ct,_t){return Ba.info("Extracting classes"),_t.db.getClasses()},i$e=function(ct){const _t={parentById:{},childrenById:{}},Xt=ct.getSubGraphs();return Ba.info("Subgraphs - ",Xt),Xt.forEach(function(gt){gt.nodes.forEach(function(Sr){_t.parentById[Sr]=gt.id,_t.childrenById[gt.id]===void 0&&(_t.childrenById[gt.id]=[]),_t.childrenById[gt.id].push(Sr)})}),Xt.forEach(function(gt){gt.id,_t.parentById[gt.id]!==void 0&&_t.parentById[gt.id]}),_t},r$e=function(ct,_t,Xt){const gt=JNe(ct,_t,Xt);if(gt===void 0||gt==="root")return{x:0,y:0};const Sr=X3[gt].offset;return{x:Sr.posX,y:Sr.posY}},c$e=function(ct,_t,Xt,gt,Sr,Di){const y=r$e(_t.sourceId,_t.targetId,Sr),Wt=_t.sections[0].startPoint,Bu=_t.sections[0].endPoint,Jt=(_t.sections[0].bendPoints?_t.sections[0].bendPoints:[]).map(Cf=>[Cf.x+y.x,Cf.y+y.y]),ze=[[Wt.x+y.x,Wt.y+y.y],...Jt,[Bu.x+y.x,Bu.y+y.y]],{x:Yi,y:Ri}=GNe(_t.edgeData),En=XNe().x(Yi).y(Ri).curve($U),hu=ct.insert("path").attr("d",En(ze)).attr("class","path "+Xt.classes).attr("fill","none"),Qc=ct.insert("g").attr("class","edgeLabel"),Ru=IO(Qc.node().appendChild(_t.labelEl)),Pr=Ru.node().firstChild.getBoundingClientRect();Ru.attr("width",Pr.width),Ru.attr("height",Pr.height),Qc.attr("transform",`translate(${_t.labels[0].x+y.x}, ${_t.labels[0].y+y.y})`),e$e(hu,Xt,gt.type,gt.arrowMarkerAbsolute,Di)},Rse=(ct,_t)=>{ct.forEach(Xt=>{Xt.children||(Xt.children=[]);const gt=_t.childrenById[Xt.id];gt&>.forEach(Sr=>{Xt.children.push(X3[Sr])}),Rse(Xt.children,_t)})},u$e=async function(ct,_t,Xt,gt){var Sr;gt.db.clear(),X3={},Ab={},gt.db.setGen("gen-2"),gt.parser.parse(ct);const Di=IO("body").append("div").attr("style","height:400px").attr("id","cy");let y={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Ba.info("Drawing flowchart using v3 renderer",$se),gt.db.getDirection()){case"BT":y.layoutOptions["elk.direction"]="UP";break;case"TB":y.layoutOptions["elk.direction"]="DOWN";break;case"LR":y.layoutOptions["elk.direction"]="RIGHT";break;case"RL":y.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:Bu,flowchart:Ht}=xU();let Jt;Bu==="sandbox"&&(Jt=IO("#i"+_t));const ze=Bu==="sandbox"?IO(Jt.nodes()[0].contentDocument.body):IO("body"),Yi=Bu==="sandbox"?Jt.nodes()[0].contentDocument:document,Ri=ze.select(`[id="${_t}"]`);_Ne(Ri,["point","circle","cross"],gt.type,_t);const hu=gt.db.getVertices();let Qc;const Ru=gt.db.getSubGraphs();Ba.info("Subgraphs - ",Ru);for(let $1=Ru.length-1;$1>=0;$1--)Qc=Ru[$1],gt.db.addVertex(Qc.id,{text:Qc.title,type:Qc.labelType},"group",void 0,Qc.classes,Qc.dir);const Pr=Ri.insert("g").attr("class","subgraphs"),Cf=i$e(gt.db);y=await YNe(hu,_t,ze,Yi,gt,Cf,y);const L1=Ri.insert("g").attr("class","edges edgePath"),N1=gt.db.getEdges();y=n$e(N1,gt,y,Ri),Object.keys(X3).forEach($1=>{const ul=X3[$1];ul.parent||y.children.push(ul),Cf.childrenById[$1]!==void 0&&(ul.labels=[{text:ul.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:ul.labelData.width,height:ul.labelData.height}],delete ul.x,delete ul.y,delete ul.width,delete ul.height)}),Rse(y.children,Cf),Ba.info("after layout",JSON.stringify(y,null,2));const V3=await $se.layout(y);Kse(0,0,V3.children,Ri,Pr,gt,0),Ba.info("after layout",V3),(Sr=V3.edges)==null||Sr.map($1=>{c$e(L1,$1,$1.edgeData,gt,Cf,_t)}),RNe({},Ri,Ht.diagramPadding,Ht.useMaxWidth),Di.remove()},Kse=(ct,_t,Xt,gt,Sr,Di,y)=>{Xt.forEach(function(Wt){if(Wt)if(X3[Wt.id].offset={posX:Wt.x+ct,posY:Wt.y+_t,x:ct,y:_t,depth:y,width:Wt.width,height:Wt.height},Wt.type==="group"){const Bu=Sr.insert("g").attr("class","subgraph");Bu.insert("rect").attr("class","subgraph subgraph-lvl-"+y%5+" node").attr("x",Wt.x+ct).attr("y",Wt.y+_t).attr("width",Wt.width).attr("height",Wt.height);const Ht=Bu.insert("g").attr("class","label"),Jt=xU().flowchart.htmlLabels?Wt.labelData.width/2:0;Ht.attr("transform",`translate(${Wt.labels[0].x+ct+Wt.x+Jt}, ${Wt.labels[0].y+_t+Wt.y+3})`),Ht.node().appendChild(Wt.labelData.labelNode),Ba.info("Id (UGH)= ",Wt.type,Wt.labels)}else Ba.info("Id (UGH)= ",Wt.id),Wt.el.attr("transform",`translate(${Wt.x+ct+Wt.width/2}, ${Wt.y+_t+Wt.height/2})`)}),Xt.forEach(function(Wt){Wt&&Wt.type==="group"&&Kse(ct+Wt.x,_t+Wt.y,Wt.children,gt,Sr,Di,y+1)})},o$e={getClasses:t$e,draw:u$e},s$e=ct=>{let _t="";for(let Xt=0;Xt<5;Xt++)_t+=` + .subgraph-lvl-${Xt} { + fill: ${ct[`surface${Xt}`]}; + stroke: ${ct[`surfacePeer${Xt}`]}; + } + `;return _t},f$e=ct=>`.label { + font-family: ${ct.fontFamily}; + color: ${ct.nodeTextColor||ct.textColor}; + } + .cluster-label text { + fill: ${ct.titleColor}; + } + .cluster-label span { + color: ${ct.titleColor}; + } + + .label text,span { + fill: ${ct.nodeTextColor||ct.textColor}; + color: ${ct.nodeTextColor||ct.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${ct.mainBkg}; + stroke: ${ct.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${ct.arrowheadColor}; + } + + .edgePath .path { + stroke: ${ct.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${ct.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${ct.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${ct.edgeLabelBackground}; + fill: ${ct.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${ct.clusterBkg}; + stroke: ${ct.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${ct.titleColor}; + } + + .cluster span { + color: ${ct.titleColor}; + } + /* .cluster div { + color: ${ct.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${ct.fontFamily}; + font-size: 12px; + background: ${ct.tertiaryColor}; + border: 1px solid ${ct.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${ct.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${s$e(ct)} +`,h$e=f$e,k$e={db:xNe,renderer:o$e,parser:FNe,styles:h$e};export{k$e as diagram}; diff --git a/assets/chunks/framework.C7ysi3tu.js b/assets/chunks/framework.C7ysi3tu.js new file mode 100644 index 000000000..c2923ad35 --- /dev/null +++ b/assets/chunks/framework.C7ysi3tu.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Rs(e,t){const n=new Set(e.split(","));return s=>n.has(s)}const ne={},yt=[],Te=()=>{},Uo=()=>!1,Gt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Os=e=>e.startsWith("onUpdate:"),ce=Object.assign,Ls=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ko=Object.prototype.hasOwnProperty,J=(e,t)=>Ko.call(e,t),U=Array.isArray,_t=e=>On(e)==="[object Map]",oi=e=>On(e)==="[object Set]",q=e=>typeof e=="function",le=e=>typeof e=="string",et=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",li=e=>(ee(e)||q(e))&&q(e.then)&&q(e.catch),ci=Object.prototype.toString,On=e=>ci.call(e),Wo=e=>On(e).slice(8,-1),ai=e=>On(e)==="[object Object]",Is=e=>le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bt=Rs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ln=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},qo=/-(\w)/g,He=Ln(e=>e.replace(qo,(t,n)=>n?n.toUpperCase():"")),Go=/\B([A-Z])/g,ft=Ln(e=>e.replace(Go,"-$1").toLowerCase()),In=Ln(e=>e.charAt(0).toUpperCase()+e.slice(1)),gn=Ln(e=>e?`on${In(e)}`:""),Qe=(e,t)=>!Object.is(e,t),mn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},us=e=>{const t=parseFloat(e);return isNaN(t)?e:t},fi=e=>{const t=le(e)?Number(e):NaN;return isNaN(t)?e:t};let lr;const di=()=>lr||(lr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ps(e){if(U(e)){const t={};for(let n=0;n{if(n){const s=n.split(Yo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Fs(e){let t="";if(le(e))t=e;else if(U(e))for(let n=0;n!!(e&&e.__v_isRef===!0),el=e=>le(e)?e:e==null?"":U(e)||ee(e)&&(e.toString===ci||!q(e.toString))?pi(e)?el(e.value):JSON.stringify(e,gi,2):String(e),gi=(e,t)=>pi(t)?gi(e,t.value):_t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Wn(s,i)+" =>"]=r,n),{})}:oi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wn(n))}:et(t)?Wn(t):ee(t)&&!U(t)&&!ai(t)?String(t):t,Wn=(e,t="")=>{var n;return et(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let we;class tl{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=we,!t&&we&&(this.index=(we.scopes||(we.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=we;try{return we=this,t()}finally{we=n}}}on(){we=this}off(){we=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),nt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Je,n=ct;try{return Je=!0,ct=this,this._runnings++,cr(this),this.fn()}finally{ar(this),this._runnings--,ct=n,Je=t}}stop(){this.active&&(cr(this),ar(this),this.onStop&&this.onStop(),this.active=!1)}}function rl(e){return e.value}function cr(e){e._trackId++,e._depsLength=0}function ar(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},wn=new WeakMap,at=Symbol(""),hs=Symbol("");function be(e,t,n){if(Je&&ct){let s=wn.get(e);s||wn.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=wi(()=>s.delete(n))),bi(ct,r)}}function De(e,t,n,s,r,i){const o=wn.get(e);if(!o)return;let l=[];if(t==="clear")l=[...o.values()];else if(n==="length"&&U(e)){const c=Number(s);o.forEach((a,f)=>{(f==="length"||!et(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":U(e)?Is(n)&&l.push(o.get("length")):(l.push(o.get(at)),_t(e)&&l.push(o.get(hs)));break;case"delete":U(e)||(l.push(o.get(at)),_t(e)&&l.push(o.get(hs)));break;case"set":_t(e)&&l.push(o.get(at));break}Ns();for(const c of l)c&&vi(c,4);$s()}function il(e,t){const n=wn.get(e);return n&&n.get(t)}const ol=Rs("__proto__,__v_isRef,__isVue"),Ei=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(et)),ur=ll();function ll(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let i=0,o=this.length;i{e[t]=function(...n){tt(),Ns();const s=z(this)[t].apply(this,n);return $s(),nt(),s}}),e}function cl(e){et(e)||(e=String(e));const t=z(this);return be(t,"has",e),t.hasOwnProperty(e)}class Ci{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?wl:Ai:i?Si:Ti).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=U(t);if(!r){if(o&&J(ur,n))return Reflect.get(ur,n,s);if(n==="hasOwnProperty")return cl}const l=Reflect.get(t,n,s);return(et(n)?Ei.has(n):ol(n))||(r||be(t,"get",n),i)?l:he(l)?o&&Is(n)?l:l.value:ee(l)?r?Mn(l):Fn(l):l}}class xi extends Ci{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const c=jt(i);if(!En(s)&&!jt(s)&&(i=z(i),s=z(s)),!U(t)&&he(i)&&!he(s))return c?!1:(i.value=s,!0)}const o=U(t)&&Is(n)?Number(n)e,Pn=e=>Reflect.getPrototypeOf(e);function tn(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),i=z(t);n||(Qe(t,i)&&be(r,"get",t),be(r,"get",i));const{has:o}=Pn(r),l=s?Hs:n?Vs:Vt;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function nn(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return t||(Qe(e,r)&&be(s,"has",e),be(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function sn(e,t=!1){return e=e.__v_raw,!t&&be(z(e),"iterate",at),Reflect.get(e,"size",e)}function fr(e){e=z(e);const t=z(this);return Pn(t).has.call(t,e)||(t.add(e),De(t,"add",e,e)),this}function dr(e,t){t=z(t);const n=z(this),{has:s,get:r}=Pn(n);let i=s.call(n,e);i||(e=z(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Qe(t,o)&&De(n,"set",e,t):De(n,"add",e,t),this}function hr(e){const t=z(this),{has:n,get:s}=Pn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&De(t,"delete",e,void 0),i}function pr(){const e=z(this),t=e.size!==0,n=e.clear();return t&&De(e,"clear",void 0,void 0),n}function rn(e,t){return function(s,r){const i=this,o=i.__v_raw,l=z(o),c=t?Hs:e?Vs:Vt;return!e&&be(l,"iterate",at),o.forEach((a,f)=>s.call(r,c(a),c(f),i))}}function on(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=_t(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),f=n?Hs:t?Vs:Vt;return!t&&be(i,"iterate",c?hs:at),{next(){const{value:d,done:p}=a.next();return p?{value:d,done:p}:{value:l?[f(d[0]),f(d[1])]:f(d),done:p}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function hl(){const e={get(i){return tn(this,i)},get size(){return sn(this)},has:nn,add:fr,set:dr,delete:hr,clear:pr,forEach:rn(!1,!1)},t={get(i){return tn(this,i,!1,!0)},get size(){return sn(this)},has:nn,add:fr,set:dr,delete:hr,clear:pr,forEach:rn(!1,!0)},n={get(i){return tn(this,i,!0)},get size(){return sn(this,!0)},has(i){return nn.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:rn(!0,!1)},s={get(i){return tn(this,i,!0,!0)},get size(){return sn(this,!0)},has(i){return nn.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:rn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=on(i,!1,!1),n[i]=on(i,!0,!1),t[i]=on(i,!1,!0),s[i]=on(i,!0,!0)}),[e,n,t,s]}const[pl,gl,ml,yl]=hl();function Bs(e,t){const n=t?e?yl:ml:e?gl:pl;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(J(n,r)&&r in s?n:s,r,i)}const _l={get:Bs(!1,!1)},bl={get:Bs(!1,!0)},vl={get:Bs(!0,!1)};const Ti=new WeakMap,Si=new WeakMap,Ai=new WeakMap,wl=new WeakMap;function El(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Cl(e){return e.__v_skip||!Object.isExtensible(e)?0:El(Wo(e))}function Fn(e){return jt(e)?e:js(e,!1,ul,_l,Ti)}function xl(e){return js(e,!1,dl,bl,Si)}function Mn(e){return js(e,!0,fl,vl,Ai)}function js(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=Cl(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function Pt(e){return jt(e)?Pt(e.__v_raw):!!(e&&e.__v_isReactive)}function jt(e){return!!(e&&e.__v_isReadonly)}function En(e){return!!(e&&e.__v_isShallow)}function Ri(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function yn(e){return Object.isExtensible(e)&&ui(e,"__v_skip",!0),e}const Vt=e=>ee(e)?Fn(e):e,Vs=e=>ee(e)?Mn(e):e;class Oi{constructor(t,n,s,r){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ms(()=>t(this._value),()=>Ft(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return(!t._cacheable||t.effect.dirty)&&Qe(t._value,t._value=t.effect.run())&&Ft(t,4),Ds(t),t.effect._dirtyLevel>=2&&Ft(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Tl(e,t,n=!1){let s,r;const i=q(e);return i?(s=e,r=Te):(s=e.get,r=e.set),new Oi(s,r,i||!r,n)}function Ds(e){var t;Je&&ct&&(e=z(e),bi(ct,(t=e.dep)!=null?t:e.dep=wi(()=>e.dep=void 0,e instanceof Oi?e:void 0)))}function Ft(e,t=4,n,s){e=z(e);const r=e.dep;r&&vi(r,t)}function he(e){return!!(e&&e.__v_isRef===!0)}function ie(e){return Li(e,!1)}function ks(e){return Li(e,!0)}function Li(e,t){return he(e)?e:new Sl(e,t)}class Sl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:Vt(t)}get value(){return Ds(this),this._value}set value(t){const n=this.__v_isShallow||En(t)||jt(t);t=n?t:z(t),Qe(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:Vt(t),Ft(this,4))}}function Ii(e){return he(e)?e.value:e}const Al={get:(e,t,n)=>Ii(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Pi(e){return Pt(e)?e:new Proxy(e,Al)}class Rl{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Ds(this),()=>Ft(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Ol(e){return new Rl(e)}class Ll{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return il(z(this._object),this._key)}}class Il{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Pl(e,t,n){return he(e)?e:q(e)?new Il(e):ee(e)&&arguments.length>1?Fl(e,t,n):ie(e)}function Fl(e,t,n){const s=e[t];return he(s)?s:new Ll(e,t,n)}/** +* @vue/runtime-core v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function ze(e,t,n,s){try{return s?e(...s):e()}catch(r){Rt(r,t,n)}}function Ae(e,t,n,s){if(q(e)){const r=ze(e,t,n,s);return r&&li(r)&&r.catch(i=>{Rt(i,t,n)}),r}if(U(e)){const r=[];for(let i=0;i>>1,r=ge[s],i=kt(r);iFe&&ge.splice(t,1)}function gs(e){U(e)?vt.push(...e):(!qe||!qe.includes(e,e.allowRecurse?lt+1:lt))&&vt.push(e),Mi()}function gr(e,t,n=Dt?Fe+1:0){for(;nkt(n)-kt(s));if(vt.length=0,qe){qe.push(...t);return}for(qe=t,lt=0;lte.id==null?1/0:e.id,Hl=(e,t)=>{const n=kt(e)-kt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ni(e){ps=!1,Dt=!0,ge.sort(Hl);try{for(Fe=0;Fele(y)?y.trim():y)),d&&(r=n.map(us))}let l,c=s[l=gn(t)]||s[l=gn(He(t))];!c&&i&&(c=s[l=gn(ft(t))]),c&&Ae(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ae(a,e,6,r)}}function $i(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!q(e)){const c=a=>{const f=$i(a,t,!0);f&&(l=!0,ce(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ee(e)&&s.set(e,null),null):(U(i)?i.forEach(c=>o[c]=null):ce(o,i),ee(e)&&s.set(e,o),o)}function Hn(e,t){return!e||!Gt(t)?!1:(t=t.slice(2).replace(/Once$/,""),J(e,t[0].toLowerCase()+t.slice(1))||J(e,ft(t))||J(e,t))}let fe=null,Bn=null;function xn(e){const t=fe;return fe=e,Bn=e&&e.type.__scopeId||null,t}function bu(e){Bn=e}function vu(){Bn=null}function jl(e,t=fe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Pr(-1);const i=xn(t);let o;try{o=e(...r)}finally{xn(i),s._d&&Pr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function qn(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:a,renderCache:f,props:d,data:p,setupState:y,ctx:w,inheritAttrs:L}=e,V=xn(e);let K,H;try{if(n.shapeFlag&4){const b=r||s,E=b;K=xe(a.call(E,b,f,d,y,p,w)),H=l}else{const b=t;K=xe(b.length>1?b(d,{attrs:l,slots:o,emit:c}):b(d,null)),H=t.props?l:Dl(l)}}catch(b){Ht.length=0,Rt(b,e,1),K=oe(de)}let g=K;if(H&&L!==!1){const b=Object.keys(H),{shapeFlag:E}=g;b.length&&E&7&&(i&&b.some(Os)&&(H=kl(H,i)),g=Ze(g,H,!1,!0))}return n.dirs&&(g=Ze(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),K=g,xn(V),K}function Vl(e,t=!0){let n;for(let s=0;s{let t;for(const n in e)(n==="class"||n==="style"||Gt(n))&&((t||(t={}))[n]=e[n]);return t},kl=(e,t)=>{const n={};for(const s in e)(!Os(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ul(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?mr(s,o,a):!!o;if(c&8){const f=t.dynamicProps;for(let d=0;de.__isSuspense;let ms=0;const Wl={name:"Suspense",__isSuspense:!0,process(e,t,n,s,r,i,o,l,c,a){if(e==null)ql(t,n,s,r,i,o,l,c,a);else{if(i&&i.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Gl(e,t,n,s,r,o,l,c,a)}},hydrate:Xl,normalize:Yl},Cu=Wl;function Ut(e,t){const n=e.props&&e.props[t];q(n)&&n()}function ql(e,t,n,s,r,i,o,l,c){const{p:a,o:{createElement:f}}=c,d=f("div"),p=e.suspense=ji(e,r,s,t,d,n,i,o,l,c);a(null,p.pendingBranch=e.ssContent,d,null,s,p,i,o),p.deps>0?(Ut(e,"onPending"),Ut(e,"onFallback"),a(null,e.ssFallback,t,n,s,null,i,o),wt(p,e.ssFallback)):p.resolve(!1,!0)}function Gl(e,t,n,s,r,i,o,l,{p:c,um:a,o:{createElement:f}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const p=t.ssContent,y=t.ssFallback,{activeBranch:w,pendingBranch:L,isInFallback:V,isHydrating:K}=d;if(L)d.pendingBranch=p,Me(p,L)?(c(L,p,d.hiddenContainer,null,r,d,i,o,l),d.deps<=0?d.resolve():V&&(K||(c(w,y,n,s,r,null,i,o,l),wt(d,y)))):(d.pendingId=ms++,K?(d.isHydrating=!1,d.activeBranch=L):a(L,r,d),d.deps=0,d.effects.length=0,d.hiddenContainer=f("div"),V?(c(null,p,d.hiddenContainer,null,r,d,i,o,l),d.deps<=0?d.resolve():(c(w,y,n,s,r,null,i,o,l),wt(d,y))):w&&Me(p,w)?(c(w,p,n,s,r,d,i,o,l),d.resolve(!0)):(c(null,p,d.hiddenContainer,null,r,d,i,o,l),d.deps<=0&&d.resolve()));else if(w&&Me(p,w))c(w,p,n,s,r,d,i,o,l),wt(d,p);else if(Ut(t,"onPending"),d.pendingBranch=p,p.shapeFlag&512?d.pendingId=p.component.suspenseId:d.pendingId=ms++,c(null,p,d.hiddenContainer,null,r,d,i,o,l),d.deps<=0)d.resolve();else{const{timeout:H,pendingId:g}=d;H>0?setTimeout(()=>{d.pendingId===g&&d.fallback(y)},H):H===0&&d.fallback(y)}}function ji(e,t,n,s,r,i,o,l,c,a,f=!1){const{p:d,m:p,um:y,n:w,o:{parentNode:L,remove:V}}=a;let K;const H=Jl(e);H&&t&&t.pendingBranch&&(K=t.pendingId,t.deps++);const g=e.props?fi(e.props.timeout):void 0,b=i,E={vnode:e,parent:t,parentComponent:n,namespace:o,container:s,hiddenContainer:r,deps:0,pendingId:ms++,timeout:typeof g=="number"?g:-1,activeBranch:null,pendingBranch:null,isInFallback:!f,isHydrating:f,isUnmounted:!1,effects:[],resolve(v=!1,F=!1){const{vnode:N,activeBranch:R,pendingBranch:_,pendingId:M,effects:S,parentComponent:W,container:Z}=E;let se=!1;E.isHydrating?E.isHydrating=!1:v||(se=R&&_.transition&&_.transition.mode==="out-in",se&&(R.transition.afterLeave=()=>{M===E.pendingId&&(p(_,Z,i===b?w(R):i,0),gs(S))}),R&&(L(R.el)!==E.hiddenContainer&&(i=w(R)),y(R,W,E,!0)),se||p(_,Z,i,0)),wt(E,_),E.pendingBranch=null,E.isInFallback=!1;let B=E.parent,X=!1;for(;B;){if(B.pendingBranch){B.effects.push(...S),X=!0;break}B=B.parent}!X&&!se&&gs(S),E.effects=[],H&&t&&t.pendingBranch&&K===t.pendingId&&(t.deps--,t.deps===0&&!F&&t.resolve()),Ut(N,"onResolve")},fallback(v){if(!E.pendingBranch)return;const{vnode:F,activeBranch:N,parentComponent:R,container:_,namespace:M}=E;Ut(F,"onFallback");const S=w(N),W=()=>{E.isInFallback&&(d(null,v,_,S,R,null,M,l,c),wt(E,v))},Z=v.transition&&v.transition.mode==="out-in";Z&&(N.transition.afterLeave=W),E.isInFallback=!0,y(N,R,null,!0),Z||W()},move(v,F,N){E.activeBranch&&p(E.activeBranch,v,F,N),E.container=v},next(){return E.activeBranch&&w(E.activeBranch)},registerDep(v,F,N){const R=!!E.pendingBranch;R&&E.deps++;const _=v.vnode.el;v.asyncDep.catch(M=>{Rt(M,v,0)}).then(M=>{if(v.isUnmounted||E.isUnmounted||E.pendingId!==v.suspenseId)return;v.asyncResolved=!0;const{vnode:S}=v;xs(v,M,!1),_&&(S.el=_);const W=!_&&v.subTree.el;F(v,S,L(_||v.subTree.el),_?null:w(v.subTree),E,o,N),W&&V(W),Ks(v,S.el),R&&--E.deps===0&&E.resolve()})},unmount(v,F){E.isUnmounted=!0,E.activeBranch&&y(E.activeBranch,n,v,F),E.pendingBranch&&y(E.pendingBranch,n,v,F)}};return E}function Xl(e,t,n,s,r,i,o,l,c){const a=t.suspense=ji(t,s,n,e.parentNode,document.createElement("div"),null,r,i,o,l,!0),f=c(e,a.pendingBranch=t.ssContent,n,a,i,o);return a.deps===0&&a.resolve(!1,!0),f}function Yl(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=_r(s?n.default:n),e.ssFallback=s?_r(n.fallback):oe(de)}function _r(e){let t;if(q(e)){const n=St&&e._c;n&&(e._d=!1,zs()),e=e(),n&&(e._d=!0,t=Se,ao())}return U(e)&&(e=Vl(e)),e=xe(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Vi(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):gs(e)}function wt(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let r=t.el;for(;!r&&t.component;)t=t.component.subTree,r=t.el;n.el=r,s&&s.subTree===n&&(s.vnode.el=r,Ks(s,r))}function Jl(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}function jn(e,t,n=ue,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{tt();const l=zt(n),c=Ae(t,n,e,o);return l(),nt(),c});return s?r.unshift(i):r.push(i),i}}const ke=e=>(t,n=ue)=>{(!Qt||e==="sp")&&jn(e,(...s)=>t(...s),n)},zl=ke("bm"),dt=ke("m"),Ql=ke("bu"),Zl=ke("u"),Di=ke("bum"),Xt=ke("um"),ec=ke("sp"),tc=ke("rtg"),nc=ke("rtc");function sc(e,t=ue){jn("ec",e,t)}function xu(e,t){if(fe===null)return e;const n=Dn(fe),s=e.dirs||(e.dirs=[]);for(let r=0;rt(o,l,void 0,i));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;l!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function Su(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:i,suspensible:o=!0,onError:l}=e;let c=null,a,f=0;const d=()=>(f++,c=null,p()),p=()=>{let y;return c||(y=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((L,V)=>{l(w,()=>L(d()),()=>V(w),f+1)});throw w}).then(w=>y!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),a=w,w)))};return qs({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return a},setup(){const y=ue;if(a)return()=>Gn(a,y);const w=H=>{c=null,Rt(H,y,13,!s)};if(o&&y.suspense||Qt)return p().then(H=>()=>Gn(H,y)).catch(H=>(w(H),()=>s?oe(s,{error:H}):null));const L=ie(!1),V=ie(),K=ie(!!r);return r&&setTimeout(()=>{K.value=!1},r),i!=null&&setTimeout(()=>{if(!L.value&&!V.value){const H=new Error(`Async component timed out after ${i}ms.`);w(H),V.value=H}},i),p().then(()=>{L.value=!0,y.parent&&Yt(y.parent.vnode)&&(y.parent.effect.dirty=!0,$n(y.parent.update))}).catch(H=>{w(H),V.value=H}),()=>{if(L.value&&a)return Gn(a,y);if(V.value&&s)return oe(s,{error:V.value});if(n&&!K.value)return oe(n)}}})}function Gn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=oe(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}function Au(e,t,n={},s,r){if(fe.isCE||fe.parent&&Et(fe.parent)&&fe.parent.isCE)return t!=="default"&&(n.name=t),oe("slot",n,s&&s());let i=e[t];i&&i._c&&(i._d=!1),zs();const o=i&&ki(i(n)),l=fo(ye,{key:n.key||o&&o.key||`_${t}`},o||(s?s():[]),o&&e._===1?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function ki(e){return e.some(t=>Kt(t)?!(t.type===de||t.type===ye&&!ki(t.children)):!0)?e:null}function Ru(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:gn(s)]=e[s];return n}const ys=e=>e?mo(e)?Dn(e):ys(e.parent):null,Mt=ce(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ys(e.parent),$root:e=>ys(e.root),$emit:e=>e.emit,$options:e=>Gs(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,$n(e.update)}),$nextTick:e=>e.n||(e.n=Nn.bind(e.proxy)),$watch:e=>Rc.bind(e)}),Xn=(e,t)=>e!==ne&&!e.__isScriptSetup&&J(e,t),rc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const y=o[t];if(y!==void 0)switch(y){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Xn(s,t))return o[t]=1,s[t];if(r!==ne&&J(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&J(a,t))return o[t]=3,i[t];if(n!==ne&&J(n,t))return o[t]=4,n[t];_s&&(o[t]=0)}}const f=Mt[t];let d,p;if(f)return t==="$attrs"&&be(e.attrs,"get",""),f(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==ne&&J(n,t))return o[t]=4,n[t];if(p=c.config.globalProperties,J(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Xn(r,t)?(r[t]=n,!0):s!==ne&&J(s,t)?(s[t]=n,!0):J(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==ne&&J(e,o)||Xn(t,o)||(l=i[0])&&J(l,o)||J(s,o)||J(Mt,o)||J(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:J(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ou(){return ic().slots}function ic(){const e=Jt();return e.setupContext||(e.setupContext=_o(e))}function br(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let _s=!0;function oc(e){const t=Gs(e),n=e.proxy,s=e.ctx;_s=!1,t.beforeCreate&&vr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:f,beforeMount:d,mounted:p,beforeUpdate:y,updated:w,activated:L,deactivated:V,beforeDestroy:K,beforeUnmount:H,destroyed:g,unmounted:b,render:E,renderTracked:v,renderTriggered:F,errorCaptured:N,serverPrefetch:R,expose:_,inheritAttrs:M,components:S,directives:W,filters:Z}=t;if(a&&lc(a,s,null),o)for(const X in o){const D=o[X];q(D)&&(s[X]=D.bind(n))}if(r){const X=r.call(n,n);ee(X)&&(e.data=Fn(X))}if(_s=!0,i)for(const X in i){const D=i[X],Be=q(D)?D.bind(n,n):q(D.get)?D.get.bind(n,n):Te,Zt=!q(D)&&q(D.set)?D.set.bind(n):Te,st=re({get:Be,set:Zt});Object.defineProperty(s,X,{enumerable:!0,configurable:!0,get:()=>st.value,set:Le=>st.value=Le})}if(l)for(const X in l)Ui(l[X],s,n,X);if(c){const X=q(c)?c.call(n):c;Reflect.ownKeys(X).forEach(D=>{hc(D,X[D])})}f&&vr(f,e,"c");function B(X,D){U(D)?D.forEach(Be=>X(Be.bind(n))):D&&X(D.bind(n))}if(B(zl,d),B(dt,p),B(Ql,y),B(Zl,w),B(Oc,L),B(Lc,V),B(sc,N),B(nc,v),B(tc,F),B(Di,H),B(Xt,b),B(ec,R),U(_))if(_.length){const X=e.exposed||(e.exposed={});_.forEach(D=>{Object.defineProperty(X,D,{get:()=>n[D],set:Be=>n[D]=Be})})}else e.exposed||(e.exposed={});E&&e.render===Te&&(e.render=E),M!=null&&(e.inheritAttrs=M),S&&(e.components=S),W&&(e.directives=W)}function lc(e,t,n=Te){U(e)&&(e=bs(e));for(const s in e){const r=e[s];let i;ee(r)?"default"in r?i=Ct(r.from||s,r.default,!0):i=Ct(r.from||s):i=Ct(r),he(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function vr(e,t,n){Ae(U(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ui(e,t,n,s){const r=s.includes(".")?no(n,s):()=>n[s];if(le(e)){const i=t[e];q(i)&&Ne(r,i)}else if(q(e))Ne(r,e.bind(n));else if(ee(e))if(U(e))e.forEach(i=>Ui(i,t,n,s));else{const i=q(e.handler)?e.handler.bind(n):t[e.handler];q(i)&&Ne(r,i,e)}}function Gs(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>Tn(c,a,o,!0)),Tn(c,t,o)),ee(t)&&i.set(t,c),c}function Tn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Tn(e,i,n,!0),r&&r.forEach(o=>Tn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=cc[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const cc={data:wr,props:Er,emits:Er,methods:It,computed:It,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:It,directives:It,watch:uc,provide:wr,inject:ac};function wr(e,t){return t?e?function(){return ce(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function ac(e,t){return It(bs(e),bs(t))}function bs(e){if(U(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(s&&s.proxy):t}}const Wi={},qi=()=>Object.create(Wi),Gi=e=>Object.getPrototypeOf(e)===Wi;function pc(e,t,n,s=!1){const r={},i=qi();e.propsDefaults=Object.create(null),Xi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:xl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function gc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=z(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let d=0;d{c=!0;const[p,y]=Yi(d,t,!0);ce(o,p),y&&l.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return ee(e)&&s.set(e,yt),yt;if(U(i))for(let f=0;f-1,y[1]=L<0||w-1||J(y,"default"))&&l.push(d)}}}const a=[o,l];return ee(e)&&s.set(e,a),a}function Cr(e){return e[0]!=="$"&&!bt(e)}function xr(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Tr(e,t){return xr(e)===xr(t)}function Sr(e,t){return U(t)?t.findIndex(n=>Tr(n,e)):q(t)&&Tr(t,e)?0:-1}const Ji=e=>e[0]==="_"||e==="$stable",Xs=e=>U(e)?e.map(xe):[xe(e)],mc=(e,t,n)=>{if(t._n)return t;const s=jl((...r)=>Xs(t(...r)),n);return s._c=!1,s},zi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Ji(r))continue;const i=e[r];if(q(i))t[r]=mc(r,i,s);else if(i!=null){const o=Xs(i);t[r]=()=>o}}},Qi=(e,t)=>{const n=Xs(t);e.slots.default=()=>n},yc=(e,t)=>{const n=e.slots=qi();if(e.vnode.shapeFlag&32){const s=t._;s?(ce(n,t),ui(n,"_",s,!0)):zi(t,n)}else t&&Qi(e,t)},_c=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=ne;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(ce(r,t),!n&&l===1&&delete r._):(i=!t.$stable,zi(t,r)),o=t}else t&&(Qi(e,t),o={default:1});if(i)for(const l in r)!Ji(l)&&o[l]==null&&delete r[l]};function Sn(e,t,n,s,r=!1){if(U(e)){e.forEach((p,y)=>Sn(p,t&&(U(t)?t[y]:t),n,s,r));return}if(Et(s)&&!r)return;const i=s.shapeFlag&4?Dn(s.component):s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ne?l.refs={}:l.refs,d=l.setupState;if(a!=null&&a!==c&&(le(a)?(f[a]=null,J(d,a)&&(d[a]=null)):he(a)&&(a.value=null)),q(c))ze(c,l,12,[o,f]);else{const p=le(c),y=he(c);if(p||y){const w=()=>{if(e.f){const L=p?J(d,c)?d[c]:f[c]:c.value;r?U(L)&&Ls(L,i):U(L)?L.includes(i)||L.push(i):p?(f[c]=[i],J(d,c)&&(d[c]=f[c])):(c.value=[i],e.k&&(f[e.k]=c.value))}else p?(f[c]=o,J(d,c)&&(d[c]=o)):y&&(c.value=o,e.k&&(f[e.k]=o))};o?(w.id=-1,_e(w,n)):w()}}}let Ar=!1;const gt=()=>{Ar||(console.error("Hydration completed but contains mismatches."),Ar=!0)},bc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",vc=e=>e.namespaceURI.includes("MathML"),ln=e=>{if(bc(e))return"svg";if(vc(e))return"mathml"},cn=e=>e.nodeType===8;function wc(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:a}}=e,f=(g,b)=>{if(!b.hasChildNodes()){n(null,g,b),Cn(),b._vnode=g;return}d(b.firstChild,g,null,null,null),Cn(),b._vnode=g},d=(g,b,E,v,F,N=!1)=>{N=N||!!b.dynamicChildren;const R=cn(g)&&g.data==="[",_=()=>L(g,b,E,v,F,R),{type:M,ref:S,shapeFlag:W,patchFlag:Z}=b;let se=g.nodeType;b.el=g,Z===-2&&(N=!1,b.dynamicChildren=null);let B=null;switch(M){case Tt:se!==3?b.children===""?(c(b.el=r(""),o(g),g),B=g):B=_():(g.data!==b.children&&(gt(),g.data=b.children),B=i(g));break;case de:H(g)?(B=i(g),K(b.el=g.content.firstChild,g,E)):se!==8||R?B=_():B=i(g);break;case xt:if(R&&(g=i(g),se=g.nodeType),se===1||se===3){B=g;const X=!b.children.length;for(let D=0;D{N=N||!!b.dynamicChildren;const{type:R,props:_,patchFlag:M,shapeFlag:S,dirs:W,transition:Z}=b,se=R==="input"||R==="option";if(se||M!==-1){W&&Pe(b,null,E,"created");let B=!1;if(H(g)){B=eo(v,Z)&&E&&E.vnode.props&&E.vnode.props.appear;const D=g.content.firstChild;B&&Z.beforeEnter(D),K(D,g,E),b.el=g=D}if(S&16&&!(_&&(_.innerHTML||_.textContent))){let D=y(g.firstChild,b,g,E,v,F,N);for(;D;){gt();const Be=D;D=D.nextSibling,l(Be)}}else S&8&&g.textContent!==b.children&&(gt(),g.textContent=b.children);if(_)if(se||!N||M&48)for(const D in _)(se&&(D.endsWith("value")||D==="indeterminate")||Gt(D)&&!bt(D)||D[0]===".")&&s(g,D,null,_[D],void 0,void 0,E);else _.onClick&&s(g,"onClick",null,_.onClick,void 0,void 0,E);let X;(X=_&&_.onVnodeBeforeMount)&&Ce(X,E,b),W&&Pe(b,null,E,"beforeMount"),((X=_&&_.onVnodeMounted)||W||B)&&Vi(()=>{X&&Ce(X,E,b),B&&Z.enter(g),W&&Pe(b,null,E,"mounted")},v)}return g.nextSibling},y=(g,b,E,v,F,N,R)=>{R=R||!!b.dynamicChildren;const _=b.children,M=_.length;for(let S=0;S{const{slotScopeIds:R}=b;R&&(F=F?F.concat(R):R);const _=o(g),M=y(i(g),b,_,E,v,F,N);return M&&cn(M)&&M.data==="]"?i(b.anchor=M):(gt(),c(b.anchor=a("]"),_,M),M)},L=(g,b,E,v,F,N)=>{if(gt(),b.el=null,N){const M=V(g);for(;;){const S=i(g);if(S&&S!==M)l(S);else break}}const R=i(g),_=o(g);return l(g),n(null,b,_,R,E,v,ln(_),F),R},V=(g,b="[",E="]")=>{let v=0;for(;g;)if(g=i(g),g&&cn(g)&&(g.data===b&&v++,g.data===E)){if(v===0)return i(g);v--}return g},K=(g,b,E)=>{const v=b.parentNode;v&&v.replaceChild(g,b);let F=E;for(;F;)F.vnode.el===b&&(F.vnode.el=F.subTree.el=g),F=F.parent},H=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,d]}const _e=Vi;function Ec(e){return Zi(e)}function Cc(e){return Zi(e,wc)}function Zi(e,t){const n=di();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:f,parentNode:d,nextSibling:p,setScopeId:y=Te,insertStaticContent:w}=e,L=(u,h,m,C=null,x=null,O=null,P=void 0,A=null,I=!!h.dynamicChildren)=>{if(u===h)return;u&&!Me(u,h)&&(C=en(u),Le(u,x,O,!0),u=null),h.patchFlag===-2&&(I=!1,h.dynamicChildren=null);const{type:T,ref:$,shapeFlag:k}=h;switch(T){case Tt:V(u,h,m,C);break;case de:K(u,h,m,C);break;case xt:u==null&&H(h,m,C,P);break;case ye:S(u,h,m,C,x,O,P,A,I);break;default:k&1?E(u,h,m,C,x,O,P,A,I):k&6?W(u,h,m,C,x,O,P,A,I):(k&64||k&128)&&T.process(u,h,m,C,x,O,P,A,I,ht)}$!=null&&x&&Sn($,u&&u.ref,O,h||u,!h)},V=(u,h,m,C)=>{if(u==null)s(h.el=l(h.children),m,C);else{const x=h.el=u.el;h.children!==u.children&&a(x,h.children)}},K=(u,h,m,C)=>{u==null?s(h.el=c(h.children||""),m,C):h.el=u.el},H=(u,h,m,C)=>{[u.el,u.anchor]=w(u.children,h,m,C,u.el,u.anchor)},g=({el:u,anchor:h},m,C)=>{let x;for(;u&&u!==h;)x=p(u),s(u,m,C),u=x;s(h,m,C)},b=({el:u,anchor:h})=>{let m;for(;u&&u!==h;)m=p(u),r(u),u=m;r(h)},E=(u,h,m,C,x,O,P,A,I)=>{h.type==="svg"?P="svg":h.type==="math"&&(P="mathml"),u==null?v(h,m,C,x,O,P,A,I):R(u,h,x,O,P,A,I)},v=(u,h,m,C,x,O,P,A)=>{let I,T;const{props:$,shapeFlag:k,transition:j,dirs:G}=u;if(I=u.el=o(u.type,O,$&&$.is,$),k&8?f(I,u.children):k&16&&N(u.children,I,null,C,x,Yn(u,O),P,A),G&&Pe(u,null,C,"created"),F(I,u,u.scopeId,P,C),$){for(const te in $)te!=="value"&&!bt(te)&&i(I,te,null,$[te],O,u.children,C,x,je);"value"in $&&i(I,"value",null,$.value,O),(T=$.onVnodeBeforeMount)&&Ce(T,C,u)}G&&Pe(u,null,C,"beforeMount");const Y=eo(x,j);Y&&j.beforeEnter(I),s(I,h,m),((T=$&&$.onVnodeMounted)||Y||G)&&_e(()=>{T&&Ce(T,C,u),Y&&j.enter(I),G&&Pe(u,null,C,"mounted")},x)},F=(u,h,m,C,x)=>{if(m&&y(u,m),C)for(let O=0;O{for(let T=I;T{const A=h.el=u.el;let{patchFlag:I,dynamicChildren:T,dirs:$}=h;I|=u.patchFlag&16;const k=u.props||ne,j=h.props||ne;let G;if(m&&rt(m,!1),(G=j.onVnodeBeforeUpdate)&&Ce(G,m,h,u),$&&Pe(h,u,m,"beforeUpdate"),m&&rt(m,!0),T?_(u.dynamicChildren,T,A,m,C,Yn(h,x),O):P||D(u,h,A,null,m,C,Yn(h,x),O,!1),I>0){if(I&16)M(A,h,k,j,m,C,x);else if(I&2&&k.class!==j.class&&i(A,"class",null,j.class,x),I&4&&i(A,"style",k.style,j.style,x),I&8){const Y=h.dynamicProps;for(let te=0;te{G&&Ce(G,m,h,u),$&&Pe(h,u,m,"updated")},C)},_=(u,h,m,C,x,O,P)=>{for(let A=0;A{if(m!==C){if(m!==ne)for(const A in m)!bt(A)&&!(A in C)&&i(u,A,m[A],null,P,h.children,x,O,je);for(const A in C){if(bt(A))continue;const I=C[A],T=m[A];I!==T&&A!=="value"&&i(u,A,T,I,P,h.children,x,O,je)}"value"in C&&i(u,"value",m.value,C.value,P)}},S=(u,h,m,C,x,O,P,A,I)=>{const T=h.el=u?u.el:l(""),$=h.anchor=u?u.anchor:l("");let{patchFlag:k,dynamicChildren:j,slotScopeIds:G}=h;G&&(A=A?A.concat(G):G),u==null?(s(T,m,C),s($,m,C),N(h.children||[],m,$,x,O,P,A,I)):k>0&&k&64&&j&&u.dynamicChildren?(_(u.dynamicChildren,j,m,x,O,P,A),(h.key!=null||x&&h===x.subTree)&&Ys(u,h,!0)):D(u,h,m,$,x,O,P,A,I)},W=(u,h,m,C,x,O,P,A,I)=>{h.slotScopeIds=A,u==null?h.shapeFlag&512?x.ctx.activate(h,m,C,P,I):Z(h,m,C,x,O,P,I):se(u,h,I)},Z=(u,h,m,C,x,O,P)=>{const A=u.component=Uc(u,C,x);if(Yt(u)&&(A.ctx.renderer=ht),Kc(A),A.asyncDep){if(x&&x.registerDep(A,B,P),!u.el){const I=A.subTree=oe(de);K(null,I,h,m)}}else B(A,u,h,m,x,O,P)},se=(u,h,m)=>{const C=h.component=u.component;if(Ul(u,h,m))if(C.asyncDep&&!C.asyncResolved){X(C,h,m);return}else C.next=h,$l(C.update),C.effect.dirty=!0,C.update();else h.el=u.el,C.vnode=h},B=(u,h,m,C,x,O,P)=>{const A=()=>{if(u.isMounted){let{next:$,bu:k,u:j,parent:G,vnode:Y}=u;{const pt=to(u);if(pt){$&&($.el=Y.el,X(u,$,P)),pt.asyncDep.then(()=>{u.isUnmounted||A()});return}}let te=$,Q;rt(u,!1),$?($.el=Y.el,X(u,$,P)):$=Y,k&&mn(k),(Q=$.props&&$.props.onVnodeBeforeUpdate)&&Ce(Q,G,$,Y),rt(u,!0);const ae=qn(u),Re=u.subTree;u.subTree=ae,L(Re,ae,d(Re.el),en(Re),u,x,O),$.el=ae.el,te===null&&Ks(u,ae.el),j&&_e(j,x),(Q=$.props&&$.props.onVnodeUpdated)&&_e(()=>Ce(Q,G,$,Y),x)}else{let $;const{el:k,props:j}=h,{bm:G,m:Y,parent:te}=u,Q=Et(h);if(rt(u,!1),G&&mn(G),!Q&&($=j&&j.onVnodeBeforeMount)&&Ce($,te,h),rt(u,!0),k&&Kn){const ae=()=>{u.subTree=qn(u),Kn(k,u.subTree,u,x,null)};Q?h.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=qn(u);L(null,ae,m,C,u,x,O),h.el=ae.el}if(Y&&_e(Y,x),!Q&&($=j&&j.onVnodeMounted)){const ae=h;_e(()=>Ce($,te,ae),x)}(h.shapeFlag&256||te&&Et(te.vnode)&&te.vnode.shapeFlag&256)&&u.a&&_e(u.a,x),u.isMounted=!0,h=m=C=null}},I=u.effect=new Ms(A,Te,()=>$n(T),u.scope),T=u.update=()=>{I.dirty&&I.run()};T.id=u.uid,rt(u,!0),T()},X=(u,h,m)=>{h.component=u;const C=u.vnode.props;u.vnode=h,u.next=null,gc(u,h.props,C,m),_c(u,h.children,m),tt(),gr(u),nt()},D=(u,h,m,C,x,O,P,A,I=!1)=>{const T=u&&u.children,$=u?u.shapeFlag:0,k=h.children,{patchFlag:j,shapeFlag:G}=h;if(j>0){if(j&128){Zt(T,k,m,C,x,O,P,A,I);return}else if(j&256){Be(T,k,m,C,x,O,P,A,I);return}}G&8?($&16&&je(T,x,O),k!==T&&f(m,k)):$&16?G&16?Zt(T,k,m,C,x,O,P,A,I):je(T,x,O,!0):($&8&&f(m,""),G&16&&N(k,m,C,x,O,P,A,I))},Be=(u,h,m,C,x,O,P,A,I)=>{u=u||yt,h=h||yt;const T=u.length,$=h.length,k=Math.min(T,$);let j;for(j=0;j$?je(u,x,O,!0,!1,k):N(h,m,C,x,O,P,A,I,k)},Zt=(u,h,m,C,x,O,P,A,I)=>{let T=0;const $=h.length;let k=u.length-1,j=$-1;for(;T<=k&&T<=j;){const G=u[T],Y=h[T]=I?Xe(h[T]):xe(h[T]);if(Me(G,Y))L(G,Y,m,null,x,O,P,A,I);else break;T++}for(;T<=k&&T<=j;){const G=u[k],Y=h[j]=I?Xe(h[j]):xe(h[j]);if(Me(G,Y))L(G,Y,m,null,x,O,P,A,I);else break;k--,j--}if(T>k){if(T<=j){const G=j+1,Y=G<$?h[G].el:C;for(;T<=j;)L(null,h[T]=I?Xe(h[T]):xe(h[T]),m,Y,x,O,P,A,I),T++}}else if(T>j)for(;T<=k;)Le(u[T],x,O,!0),T++;else{const G=T,Y=T,te=new Map;for(T=Y;T<=j;T++){const ve=h[T]=I?Xe(h[T]):xe(h[T]);ve.key!=null&&te.set(ve.key,T)}let Q,ae=0;const Re=j-Y+1;let pt=!1,rr=0;const Ot=new Array(Re);for(T=0;T=Re){Le(ve,x,O,!0);continue}let Ie;if(ve.key!=null)Ie=te.get(ve.key);else for(Q=Y;Q<=j;Q++)if(Ot[Q-Y]===0&&Me(ve,h[Q])){Ie=Q;break}Ie===void 0?Le(ve,x,O,!0):(Ot[Ie-Y]=T+1,Ie>=rr?rr=Ie:pt=!0,L(ve,h[Ie],m,null,x,O,P,A,I),ae++)}const ir=pt?xc(Ot):yt;for(Q=ir.length-1,T=Re-1;T>=0;T--){const ve=Y+T,Ie=h[ve],or=ve+1<$?h[ve+1].el:C;Ot[T]===0?L(null,Ie,m,or,x,O,P,A,I):pt&&(Q<0||T!==ir[Q]?st(Ie,m,or,2):Q--)}}},st=(u,h,m,C,x=null)=>{const{el:O,type:P,transition:A,children:I,shapeFlag:T}=u;if(T&6){st(u.component.subTree,h,m,C);return}if(T&128){u.suspense.move(h,m,C);return}if(T&64){P.move(u,h,m,ht);return}if(P===ye){s(O,h,m);for(let k=0;kA.enter(O),x);else{const{leave:k,delayLeave:j,afterLeave:G}=A,Y=()=>s(O,h,m),te=()=>{k(O,()=>{Y(),G&&G()})};j?j(O,Y,te):te()}else s(O,h,m)},Le=(u,h,m,C=!1,x=!1)=>{const{type:O,props:P,ref:A,children:I,dynamicChildren:T,shapeFlag:$,patchFlag:k,dirs:j,memoIndex:G}=u;if(k===-2&&(x=!1),A!=null&&Sn(A,null,m,u,!0),G!=null&&(h.renderCache[G]=void 0),$&256){h.ctx.deactivate(u);return}const Y=$&1&&j,te=!Et(u);let Q;if(te&&(Q=P&&P.onVnodeBeforeUnmount)&&Ce(Q,h,u),$&6)ko(u.component,m,C);else{if($&128){u.suspense.unmount(m,C);return}Y&&Pe(u,null,h,"beforeUnmount"),$&64?u.type.remove(u,h,m,ht,C):T&&(O!==ye||k>0&&k&64)?je(T,h,m,!1,!0):(O===ye&&k&384||!x&&$&16)&&je(I,h,m),C&&nr(u)}(te&&(Q=P&&P.onVnodeUnmounted)||Y)&&_e(()=>{Q&&Ce(Q,h,u),Y&&Pe(u,null,h,"unmounted")},m)},nr=u=>{const{type:h,el:m,anchor:C,transition:x}=u;if(h===ye){Do(m,C);return}if(h===xt){b(u);return}const O=()=>{r(m),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(u.shapeFlag&1&&x&&!x.persisted){const{leave:P,delayLeave:A}=x,I=()=>P(m,O);A?A(u.el,O,I):I()}else O()},Do=(u,h)=>{let m;for(;u!==h;)m=p(u),r(u),u=m;r(h)},ko=(u,h,m)=>{const{bum:C,scope:x,update:O,subTree:P,um:A,m:I,a:T}=u;Rr(I),Rr(T),C&&mn(C),x.stop(),O&&(O.active=!1,Le(P,u,h,m)),A&&_e(A,h),_e(()=>{u.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},je=(u,h,m,C=!1,x=!1,O=0)=>{for(let P=O;Pu.shapeFlag&6?en(u.component.subTree):u.shapeFlag&128?u.suspense.next():p(u.anchor||u.el);let kn=!1;const sr=(u,h,m)=>{u==null?h._vnode&&Le(h._vnode,null,null,!0):L(h._vnode||null,u,h,null,null,null,m),kn||(kn=!0,gr(),Cn(),kn=!1),h._vnode=u},ht={p:L,um:Le,m:st,r:nr,mt:Z,mc:N,pc:D,pbc:_,n:en,o:e};let Un,Kn;return t&&([Un,Kn]=t(ht)),{render:sr,hydrate:Un,createApp:dc(sr,Un)}}function Yn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function rt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function eo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ys(e,t,n=!1){const s=e.children,r=t.children;if(U(s)&&U(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function to(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:to(t)}function Rr(e){if(e)for(let t=0;tCt(Tc);function Js(e,t){return Vn(e,null,t)}function Ac(e,t){return Vn(e,null,{flush:"post"})}const an={};function Ne(e,t,n){return Vn(e,t,n)}function Vn(e,t,{immediate:n,deep:s,flush:r,once:i,onTrack:o,onTrigger:l}=ne){if(t&&i){const v=t;t=(...F)=>{v(...F),E()}}const c=ue,a=v=>s===!0?v:Ye(v,s===!1?1:void 0);let f,d=!1,p=!1;if(he(e)?(f=()=>e.value,d=En(e)):Pt(e)?(f=()=>a(e),d=!0):U(e)?(p=!0,d=e.some(v=>Pt(v)||En(v)),f=()=>e.map(v=>{if(he(v))return v.value;if(Pt(v))return a(v);if(q(v))return ze(v,c,2)})):q(e)?t?f=()=>ze(e,c,2):f=()=>(y&&y(),Ae(e,c,3,[w])):f=Te,t&&s){const v=f;f=()=>Ye(v())}let y,w=v=>{y=g.onStop=()=>{ze(v,c,4),y=g.onStop=void 0}},L;if(Qt)if(w=Te,t?n&&Ae(t,c,3,[f(),p?[]:void 0,w]):f(),r==="sync"){const v=Sc();L=v.__watcherHandles||(v.__watcherHandles=[])}else return Te;let V=p?new Array(e.length).fill(an):an;const K=()=>{if(!(!g.active||!g.dirty))if(t){const v=g.run();(s||d||(p?v.some((F,N)=>Qe(F,V[N])):Qe(v,V)))&&(y&&y(),Ae(t,c,3,[v,V===an?void 0:p&&V[0]===an?[]:V,w]),V=v)}else g.run()};K.allowRecurse=!!t;let H;r==="sync"?H=K:r==="post"?H=()=>_e(K,c&&c.suspense):(K.pre=!0,c&&(K.id=c.uid),H=()=>$n(K));const g=new Ms(f,Te,H),b=mi(),E=()=>{g.stop(),b&&Ls(b.effects,g)};return t?n?K():V=g.run():r==="post"?_e(g.run.bind(g),c&&c.suspense):g.run(),L&&L.push(E),E}function Rc(e,t,n){const s=this.proxy,r=le(e)?e.includes(".")?no(s,e):()=>s[e]:e.bind(s,s);let i;q(t)?i=t:(i=t.handler,n=t);const o=zt(this),l=Vn(r,i.bind(s),n);return o(),l}function no(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{Ye(s,t,n)});else if(ai(e)){for(const s in e)Ye(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ye(e[s],t,n)}return e}const Yt=e=>e.type.__isKeepAlive;function Oc(e,t){so(e,"a",t)}function Lc(e,t){so(e,"da",t)}function so(e,t,n=ue){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(jn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Yt(r.parent.vnode)&&Ic(s,t,n,r),r=r.parent}}function Ic(e,t,n,s){const r=jn(t,e,s,!0);Xt(()=>{Ls(s[t],r)},n)}const Ge=Symbol("_leaveCb"),un=Symbol("_enterCb");function Pc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return dt(()=>{e.isMounted=!0}),Di(()=>{e.isUnmounting=!0}),e}const Ee=[Function,Array],ro={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ee,onEnter:Ee,onAfterEnter:Ee,onEnterCancelled:Ee,onBeforeLeave:Ee,onLeave:Ee,onAfterLeave:Ee,onLeaveCancelled:Ee,onBeforeAppear:Ee,onAppear:Ee,onAfterAppear:Ee,onAppearCancelled:Ee},io=e=>{const t=e.subTree;return t.component?io(t.component):t},Fc={name:"BaseTransition",props:ro,setup(e,{slots:t}){const n=Jt(),s=Pc();return()=>{const r=t.default&&lo(t.default(),!0);if(!r||!r.length)return;let i=r[0];if(r.length>1){for(const p of r)if(p.type!==de){i=p;break}}const o=z(e),{mode:l}=o;if(s.isLeaving)return Jn(i);const c=Or(i);if(!c)return Jn(i);let a=ws(c,o,s,n,p=>a=p);An(c,a);const f=n.subTree,d=f&&Or(f);if(d&&d.type!==de&&!Me(c,d)&&io(n).type!==de){const p=ws(d,o,s,n);if(An(d,p),l==="out-in"&&c.type!==de)return s.isLeaving=!0,p.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Jn(i);l==="in-out"&&c.type!==de&&(p.delayLeave=(y,w,L)=>{const V=oo(s,d);V[String(d.key)]=d,y[Ge]=()=>{w(),y[Ge]=void 0,delete a.delayedLeave},a.delayedLeave=L})}return i}}},Mc=Fc;function oo(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function ws(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:a,onAfterEnter:f,onEnterCancelled:d,onBeforeLeave:p,onLeave:y,onAfterLeave:w,onLeaveCancelled:L,onBeforeAppear:V,onAppear:K,onAfterAppear:H,onAppearCancelled:g}=t,b=String(e.key),E=oo(n,e),v=(R,_)=>{R&&Ae(R,s,9,_)},F=(R,_)=>{const M=_[1];v(R,_),U(R)?R.every(S=>S.length<=1)&&M():R.length<=1&&M()},N={mode:o,persisted:l,beforeEnter(R){let _=c;if(!n.isMounted)if(i)_=V||c;else return;R[Ge]&&R[Ge](!0);const M=E[b];M&&Me(e,M)&&M.el[Ge]&&M.el[Ge](),v(_,[R])},enter(R){let _=a,M=f,S=d;if(!n.isMounted)if(i)_=K||a,M=H||f,S=g||d;else return;let W=!1;const Z=R[un]=se=>{W||(W=!0,se?v(S,[R]):v(M,[R]),N.delayedLeave&&N.delayedLeave(),R[un]=void 0)};_?F(_,[R,Z]):Z()},leave(R,_){const M=String(e.key);if(R[un]&&R[un](!0),n.isUnmounting)return _();v(p,[R]);let S=!1;const W=R[Ge]=Z=>{S||(S=!0,_(),Z?v(L,[R]):v(w,[R]),R[Ge]=void 0,E[M]===e&&delete E[M])};E[M]=e,y?F(y,[R,W]):W()},clone(R){const _=ws(R,t,n,s,r);return r&&r(_),_}};return N}function Jn(e){if(Yt(e))return e=Ze(e),e.children=null,e}function Or(e){if(!Yt(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&q(n.default))return n.default()}}function An(e,t){e.shapeFlag&6&&e.component?An(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function lo(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;ie.__isTeleport,$t=e=>e&&(e.disabled||e.disabled===""),Lr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ir=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Es=(e,t)=>{const n=e&&e.to;return le(n)?t?t(n):null:n},$c={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,a){const{mc:f,pc:d,pbc:p,o:{insert:y,querySelector:w,createText:L,createComment:V}}=a,K=$t(t.props);let{shapeFlag:H,children:g,dynamicChildren:b}=t;if(e==null){const E=t.el=L(""),v=t.anchor=L("");y(E,n,s),y(v,n,s);const F=t.target=Es(t.props,w),N=t.targetAnchor=L("");F&&(y(N,F),o==="svg"||Lr(F)?o="svg":(o==="mathml"||Ir(F))&&(o="mathml"));const R=(_,M)=>{H&16&&f(g,_,M,r,i,o,l,c)};K?R(n,v):F&&R(F,N)}else{t.el=e.el;const E=t.anchor=e.anchor,v=t.target=e.target,F=t.targetAnchor=e.targetAnchor,N=$t(e.props),R=N?n:v,_=N?E:F;if(o==="svg"||Lr(v)?o="svg":(o==="mathml"||Ir(v))&&(o="mathml"),b?(p(e.dynamicChildren,b,R,r,i,o,l),Ys(e,t,!0)):c||d(e,t,R,_,r,i,o,l,!1),K)N?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):fn(t,n,E,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const M=t.target=Es(t.props,w);M&&fn(t,M,null,a,0)}else N&&fn(t,v,F,a,1)}co(t)},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:c,targetAnchor:a,target:f,props:d}=e;if(f&&r(a),i&&r(c),o&16){const p=i||!$t(d);for(let y=0;y0?Se||yt:null,ao(),St>0&&Se&&Se.push(e),e}function Iu(e,t,n,s,r,i){return uo(po(e,t,n,s,r,i,!0))}function fo(e,t,n,s,r){return uo(oe(e,t,n,s,r,!0))}function Kt(e){return e?e.__v_isVNode===!0:!1}function Me(e,t){return e.type===t.type&&e.key===t.key}const ho=({key:e})=>e??null,_n=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?le(e)||he(e)||q(e)?{i:fe,r:e,k:t,f:!!n}:e:null);function po(e,t=null,n=null,s=0,r=null,i=e===ye?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ho(t),ref:t&&_n(t),scopeId:Bn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:fe};return l?(Qs(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=le(n)?8:16),St>0&&!o&&Se&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Se.push(c),c}const oe=Bc;function Bc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Hi)&&(e=de),Kt(e)){const l=Ze(e,t,!0);return n&&Qs(l,n),St>0&&!i&&Se&&(l.shapeFlag&6?Se[Se.indexOf(e)]=l:Se.push(l)),l.patchFlag=-2,l}if(Xc(e)&&(e=e.__vccOpts),t){t=jc(t);let{class:l,style:c}=t;l&&!le(l)&&(t.class=Fs(l)),ee(c)&&(Ri(c)&&!U(c)&&(c=ce({},c)),t.style=Ps(c))}const o=le(e)?1:Kl(e)?128:Nc(e)?64:ee(e)?4:q(e)?2:0;return po(e,t,n,s,r,o,i,!0)}function jc(e){return e?Ri(e)||Gi(e)?ce({},e):e:null}function Ze(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,a=t?Vc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&ho(a),ref:t&&t.ref?n&&i?U(i)?i.concat(_n(t)):[i,_n(t)]:_n(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ye?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ze(e.ssContent),ssFallback:e.ssFallback&&Ze(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&An(f,c.clone(f)),f}function go(e=" ",t=0){return oe(Tt,null,e,t)}function Pu(e,t){const n=oe(xt,null,e);return n.staticCount=t,n}function Fu(e="",t=!1){return t?(zs(),fo(de,null,e)):oe(de,null,e)}function xe(e){return e==null||typeof e=="boolean"?oe(de):U(e)?oe(ye,null,e.slice()):typeof e=="object"?Xe(e):oe(Tt,null,String(e))}function Xe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ze(e)}function Qs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Qs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Gi(t)?t._ctx=fe:r===3&&fe&&(fe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:fe},n=32):(t=String(t),s&64?(n=16,t=[go(t)]):n=8);e.children=t,e.shapeFlag|=n}function Vc(...e){const t={};for(let n=0;nue||fe;let Rn,Cs;{const e=di(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Rn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),Cs=t("__VUE_SSR_SETTERS__",n=>Qt=n)}const zt=e=>{const t=ue;return Rn(e),e.scope.on(),()=>{e.scope.off(),Rn(t)}},Fr=()=>{ue&&ue.scope.off(),Rn(null)};function mo(e){return e.vnode.shapeFlag&4}let Qt=!1;function Kc(e,t=!1){t&&Cs(t);const{props:n,children:s}=e.vnode,r=mo(e);pc(e,n,r,t),yc(e,s);const i=r?Wc(e,t):void 0;return t&&Cs(!1),i}function Wc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,rc);const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?_o(e):null,i=zt(e);tt();const o=ze(s,e,0,[e.props,r]);if(nt(),i(),li(o)){if(o.then(Fr,Fr),t)return o.then(l=>{xs(e,l,t)}).catch(l=>{Rt(l,e,0)});e.asyncDep=o}else xs(e,o,t)}else yo(e,t)}function xs(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Pi(t)),yo(e,n)}let Mr;function yo(e,t,n){const s=e.type;if(!e.render){if(!t&&Mr&&!s.render){const r=s.template||Gs(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=ce(ce({isCustomElement:i,delimiters:l},o),c);s.render=Mr(r,a)}}e.render=s.render||Te}{const r=zt(e);tt();try{oc(e)}finally{nt(),r()}}}const qc={get(e,t){return be(e,"get",""),e[t]}};function _o(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,qc),slots:e.slots,emit:e.emit,expose:t}}function Dn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Pi(yn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Mt)return Mt[n](e)},has(t,n){return n in t||n in Mt}})):e.proxy}function Gc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Xc(e){return q(e)&&"__vccOpts"in e}const re=(e,t)=>Tl(e,t,Qt);function Ts(e,t,n){const s=arguments.length;return s===2?ee(t)&&!U(t)?Kt(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Kt(n)&&(n=[n]),oe(e,t,n))}const Yc="3.4.31";/** +* @vue/runtime-dom v3.4.31 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Jc="http://www.w3.org/2000/svg",zc="http://www.w3.org/1998/Math/MathML",Ve=typeof document<"u"?document:null,Nr=Ve&&Ve.createElement("template"),Qc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ve.createElementNS(Jc,e):t==="mathml"?Ve.createElementNS(zc,e):n?Ve.createElement(e,{is:n}):Ve.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ve.createTextNode(e),createComment:e=>Ve.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ve.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Nr.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const l=Nr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ke="transition",Lt="animation",Wt=Symbol("_vtc"),bo=(e,{slots:t})=>Ts(Mc,Zc(e),t);bo.displayName="Transition";const vo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};bo.props=ce({},ro,vo);const it=(e,t=[])=>{U(e)?e.forEach(n=>n(...t)):e&&e(...t)},$r=e=>e?U(e)?e.some(t=>t.length>1):e.length>1:!1;function Zc(e){const t={};for(const S in e)S in vo||(t[S]=e[S]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:a=o,appearToClass:f=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,w=ea(r),L=w&&w[0],V=w&&w[1],{onBeforeEnter:K,onEnter:H,onEnterCancelled:g,onLeave:b,onLeaveCancelled:E,onBeforeAppear:v=K,onAppear:F=H,onAppearCancelled:N=g}=t,R=(S,W,Z)=>{ot(S,W?f:l),ot(S,W?a:o),Z&&Z()},_=(S,W)=>{S._isLeaving=!1,ot(S,d),ot(S,y),ot(S,p),W&&W()},M=S=>(W,Z)=>{const se=S?F:H,B=()=>R(W,S,Z);it(se,[W,B]),Hr(()=>{ot(W,S?c:i),We(W,S?f:l),$r(se)||Br(W,s,L,B)})};return ce(t,{onBeforeEnter(S){it(K,[S]),We(S,i),We(S,o)},onBeforeAppear(S){it(v,[S]),We(S,c),We(S,a)},onEnter:M(!1),onAppear:M(!0),onLeave(S,W){S._isLeaving=!0;const Z=()=>_(S,W);We(S,d),We(S,p),sa(),Hr(()=>{S._isLeaving&&(ot(S,d),We(S,y),$r(b)||Br(S,s,V,Z))}),it(b,[S,Z])},onEnterCancelled(S){R(S,!1),it(g,[S])},onAppearCancelled(S){R(S,!0),it(N,[S])},onLeaveCancelled(S){_(S),it(E,[S])}})}function ea(e){if(e==null)return null;if(ee(e))return[zn(e.enter),zn(e.leave)];{const t=zn(e);return[t,t]}}function zn(e){return fi(e)}function We(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Wt]||(e[Wt]=new Set)).add(t)}function ot(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Wt];n&&(n.delete(t),n.size||(e[Wt]=void 0))}function Hr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ta=0;function Br(e,t,n,s){const r=e._endId=++ta,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=na(e,t);if(!o)return s();const a=o+"end";let f=0;const d=()=>{e.removeEventListener(a,p),i()},p=y=>{y.target===e&&++f>=c&&d()};setTimeout(()=>{f(n[w]||"").split(", "),r=s(`${Ke}Delay`),i=s(`${Ke}Duration`),o=jr(r,i),l=s(`${Lt}Delay`),c=s(`${Lt}Duration`),a=jr(l,c);let f=null,d=0,p=0;t===Ke?o>0&&(f=Ke,d=o,p=i.length):t===Lt?a>0&&(f=Lt,d=a,p=c.length):(d=Math.max(o,a),f=d>0?o>a?Ke:Lt:null,p=f?f===Ke?i.length:c.length:0);const y=f===Ke&&/\b(transform|all)(,|$)/.test(s(`${Ke}Property`).toString());return{type:f,timeout:d,propCount:p,hasTransform:y}}function jr(e,t){for(;e.lengthVr(n)+Vr(e[s])))}function Vr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function sa(){return document.body.offsetHeight}function ra(e,t,n){const s=e[Wt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Dr=Symbol("_vod"),ia=Symbol("_vsh"),wo=Symbol("");function Mu(e){const t=Jt();if(!t)return;const n=t.ut=(r=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(i=>As(i,r))},s=()=>{const r=e(t.proxy);Ss(t.subTree,r),n(r)};dt(()=>{Ac(s);const r=new MutationObserver(s);r.observe(t.subTree.el.parentNode,{childList:!0}),Xt(()=>r.disconnect())})}function Ss(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Ss(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)As(e.el,t);else if(e.type===ye)e.children.forEach(n=>Ss(n,t));else if(e.type===xt){let{el:n,anchor:s}=e;for(;n&&(As(n,t),n!==s);)n=n.nextSibling}}function As(e,t){if(e.nodeType===1){const n=e.style;let s="";for(const r in t)n.setProperty(`--${r}`,t[r]),s+=`--${r}: ${t[r]};`;n[wo]=s}}const oa=/(^|;)\s*display\s*:/;function la(e,t,n){const s=e.style,r=le(n);let i=!1;if(n&&!r){if(t)if(le(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&bn(s,l,"")}else for(const o in t)n[o]==null&&bn(s,o,"");for(const o in n)o==="display"&&(i=!0),bn(s,o,n[o])}else if(r){if(t!==n){const o=s[wo];o&&(n+=";"+o),s.cssText=n,i=oa.test(n)}}else t&&e.removeAttribute("style");Dr in e&&(e[Dr]=i?s.display:"",e[ia]&&(s.display="none"))}const kr=/\s*!important$/;function bn(e,t,n){if(U(n))n.forEach(s=>bn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ca(e,t);kr.test(n)?e.setProperty(ft(s),n.replace(kr,""),"important"):e[s]=n}}const Ur=["Webkit","Moz","ms"],Qn={};function ca(e,t){const n=Qn[t];if(n)return n;let s=He(t);if(s!=="filter"&&s in e)return Qn[t]=s;s=In(s);for(let r=0;rZn||(ha.then(()=>Zn=0),Zn=Date.now());function ga(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ae(ma(s,n.value),t,5,[s])};return n.value=e,n.attached=pa(),n}function ma(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Xr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ya=(e,t,n,s,r,i,o,l,c)=>{const a=r==="svg";t==="class"?ra(e,s,a):t==="style"?la(e,n,s):Gt(t)?Os(t)||fa(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):_a(e,t,s,a))?(aa(e,t,s,i,o,l,c),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wr(e,t,s,a,o,t!=="value")):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Wr(e,t,s,a))};function _a(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Xr(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Xr(t)&&le(n)?!1:t in e}const Yr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?n=>mn(t,n):t};function ba(e){e.target.composing=!0}function Jr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const es=Symbol("_assign"),Nu={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[es]=Yr(r);const i=s||r.props&&r.props.type==="number";mt(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=us(l)),e[es](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",ba),mt(e,"compositionend",Jr),mt(e,"change",Jr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[es]=Yr(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?us(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},va=["ctrl","shift","alt","meta"],wa={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>va.some(n=>e[`${n}Key`]&&!t.includes(n))},$u=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=ft(r.key);if(t.some(o=>o===i||Ea[o]===i))return e(r)})},Eo=ce({patchProp:ya},Qc);let Bt,zr=!1;function Ca(){return Bt||(Bt=Ec(Eo))}function xa(){return Bt=zr?Bt:Cc(Eo),zr=!0,Bt}const Bu=(...e)=>{const t=Ca().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=xo(s);if(!r)return;const i=t._component;!q(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const o=n(r,!1,Co(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},ju=(...e)=>{const t=xa().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=xo(s);if(r)return n(r,!0,Co(r))},t};function Co(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xo(e){return le(e)?document.querySelector(e):e}const Vu=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Du="/sealdice-manual-next/images/seal.png",Ta="modulepreload",Sa=function(e){return"/sealdice-manual-next/"+e},Qr={},ku=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),o=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.all(n.map(l=>{if(l=Sa(l),l in Qr)return;Qr[l]=!0;const c=l.endsWith(".css"),a=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${a}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":Ta,c||(f.as="script",f.crossOrigin=""),f.href=l,o&&f.setAttribute("nonce",o),document.head.appendChild(f),c)return new Promise((d,p)=>{f.addEventListener("load",d),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}return r.then(()=>t()).catch(i=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=i,window.dispatchEvent(o),!o.defaultPrevented)throw i})},Aa=window.__VP_SITE_DATA__;function Zs(e){return mi()?(sl(e),!0):!1}function $e(e){return typeof e=="function"?e():Ii(e)}const To=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ra=Object.prototype.toString,Oa=e=>Ra.call(e)==="[object Object]",qt=()=>{},Zr=La();function La(){var e,t;return To&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Ia(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const So=e=>e();function Pa(e,t={}){let n,s,r=qt;const i=l=>{clearTimeout(l),r(),r=qt};return l=>{const c=$e(e),a=$e(t.maxWait);return n&&i(n),c<=0||a!==void 0&&a<=0?(s&&(i(s),s=null),Promise.resolve(l())):new Promise((f,d)=>{r=t.rejectOnCancel?d:f,a&&!s&&(s=setTimeout(()=>{n&&i(n),s=null,f(l())},a)),n=setTimeout(()=>{s&&i(s),s=null,f(l())},c)})}}function Fa(e=So){const t=ie(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:Mn(t),pause:n,resume:s,eventFilter:r}}function Ma(e){return Jt()}function Ao(...e){if(e.length!==1)return Pl(...e);const t=e[0];return typeof t=="function"?Mn(Ol(()=>({get:t,set:qt}))):ie(t)}function Ro(e,t,n={}){const{eventFilter:s=So,...r}=n;return Ne(e,Ia(s,t),r)}function Na(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=Fa(s);return{stop:Ro(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function er(e,t=!0,n){Ma()?dt(e,n):t?e():Nn(e)}function Uu(e,t,n={}){const{debounce:s=0,maxWait:r=void 0,...i}=n;return Ro(e,t,{...i,eventFilter:Pa(s,{maxWait:r})})}function Ku(e,t,n){let s;he(n)?s={evaluating:n}:s={};const{lazy:r=!1,evaluating:i=void 0,shallow:o=!0,onError:l=qt}=s,c=ie(!r),a=o?ks(t):ie(t);let f=0;return Js(async d=>{if(!c.value)return;f++;const p=f;let y=!1;i&&Promise.resolve().then(()=>{i.value=!0});try{const w=await e(L=>{d(()=>{i&&(i.value=!1),y||L()})});p===f&&(a.value=w)}catch(w){l(w)}finally{i&&p===f&&(i.value=!1),y=!0}}),r?re(()=>(c.value=!0,a.value)):a}function Oo(e){var t;const n=$e(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Oe=To?window:void 0;function At(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=Oe):[t,n,s,r]=e,!t)return qt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(f=>f()),i.length=0},l=(f,d,p,y)=>(f.addEventListener(d,p,y),()=>f.removeEventListener(d,p,y)),c=Ne(()=>[Oo(t),$e(r)],([f,d])=>{if(o(),!f)return;const p=Oa(d)?{...d}:d;i.push(...n.flatMap(y=>s.map(w=>l(f,y,w,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),o()};return Zs(a),a}function $a(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Wu(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=Oe,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=$a(t);return At(r,i,f=>{f.repeat&&$e(l)||c(f)&&n(f)},o)}function Ha(){const e=ie(!1),t=Jt();return t&&dt(()=>{e.value=!0},t),e}function Ba(e){const t=Ha();return re(()=>(t.value,!!e()))}function Lo(e,t={}){const{window:n=Oe}=t,s=Ba(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=ie(!1),o=a=>{i.value=a.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=Js(()=>{s.value&&(l(),r=n.matchMedia($e(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return Zs(()=>{c(),l(),r=void 0}),i}const dn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},hn="__vueuse_ssr_handlers__",ja=Va();function Va(){return hn in dn||(dn[hn]=dn[hn]||{}),dn[hn]}function Io(e,t){return ja[e]||t}function Da(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const ka={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},ei="vueuse-storage";function tr(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:d=Oe,eventFilter:p,onError:y=_=>{console.error(_)},initOnMounted:w}=s,L=(f?ks:ie)(typeof t=="function"?t():t);if(!n)try{n=Io("getDefaultStorage",()=>{var _;return(_=Oe)==null?void 0:_.localStorage})()}catch(_){y(_)}if(!n)return L;const V=$e(t),K=Da(V),H=(r=s.serializer)!=null?r:ka[K],{pause:g,resume:b}=Na(L,()=>v(L.value),{flush:i,deep:o,eventFilter:p});d&&l&&er(()=>{At(d,"storage",N),At(d,ei,R),w&&N()}),w||N();function E(_,M){d&&d.dispatchEvent(new CustomEvent(ei,{detail:{key:e,oldValue:_,newValue:M,storageArea:n}}))}function v(_){try{const M=n.getItem(e);if(_==null)E(M,null),n.removeItem(e);else{const S=H.write(_);M!==S&&(n.setItem(e,S),E(M,S))}}catch(M){y(M)}}function F(_){const M=_?_.newValue:n.getItem(e);if(M==null)return c&&V!=null&&n.setItem(e,H.write(V)),V;if(!_&&a){const S=H.read(M);return typeof a=="function"?a(S,V):K==="object"&&!Array.isArray(S)?{...V,...S}:S}else return typeof M!="string"?M:H.read(M)}function N(_){if(!(_&&_.storageArea!==n)){if(_&&_.key==null){L.value=V;return}if(!(_&&_.key!==e)){g();try{(_==null?void 0:_.newValue)!==H.write(L.value)&&(L.value=F(_))}catch(M){y(M)}finally{_?Nn(b):b()}}}}function R(_){N(_.detail)}return L}function Po(e){return Lo("(prefers-color-scheme: dark)",e)}function Ua(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=Oe,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,d={auto:"",light:"light",dark:"dark",...e.modes||{}},p=Po({window:r}),y=re(()=>p.value?"dark":"light"),w=c||(o==null?Ao(s):tr(o,s,i,{window:r,listenToStorageChanges:l})),L=re(()=>w.value==="auto"?y.value:w.value),V=Io("updateHTMLAttrs",(b,E,v)=>{const F=typeof b=="string"?r==null?void 0:r.document.querySelector(b):Oo(b);if(!F)return;let N;if(f&&(N=r.document.createElement("style"),N.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),r.document.head.appendChild(N)),E==="class"){const R=v.split(/\s/g);Object.values(d).flatMap(_=>(_||"").split(/\s/g)).filter(Boolean).forEach(_=>{R.includes(_)?F.classList.add(_):F.classList.remove(_)})}else F.setAttribute(E,v);f&&(r.getComputedStyle(N).opacity,document.head.removeChild(N))});function K(b){var E;V(t,n,(E=d[b])!=null?E:b)}function H(b){e.onChanged?e.onChanged(b,K):K(b)}Ne(L,H,{flush:"post",immediate:!0}),er(()=>H(L.value));const g=re({get(){return a?w.value:L.value},set(b){w.value=b}});try{return Object.assign(g,{store:w,system:y,state:L})}catch{return g}}function Ka(e={}){const{valueDark:t="dark",valueLight:n="",window:s=Oe}=e,r=Ua({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),i=re(()=>r.system?r.system.value:Po({window:s}).value?"dark":"light");return re({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";i.value===c?r.value="auto":r.value=c}})}function ts(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function qu(e,t,n={}){const{window:s=Oe}=n;return tr(e,t,s==null?void 0:s.localStorage,n)}function Fo(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const ns=new WeakMap;function Gu(e,t=!1){const n=ie(t);let s=null,r="";Ne(Ao(e),l=>{const c=ts($e(l));if(c){const a=c;if(ns.get(a)||ns.set(a,a.style.overflow),a.style.overflow!=="hidden"&&(r=a.style.overflow),a.style.overflow==="hidden")return n.value=!0;if(n.value)return a.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=ts($e(e));!l||n.value||(Zr&&(s=At(l,"touchmove",c=>{Wa(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=ts($e(e));!l||!n.value||(Zr&&(s==null||s()),l.style.overflow=r,ns.delete(l),n.value=!1)};return Zs(o),re({get(){return n.value},set(l){l?i():o()}})}function Xu(e,t,n={}){const{window:s=Oe}=n;return tr(e,t,s==null?void 0:s.sessionStorage,n)}function Yu(e={}){const{window:t=Oe,behavior:n="auto"}=e;if(!t)return{x:ie(0),y:ie(0)};const s=ie(t.scrollX),r=ie(t.scrollY),i=re({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=re({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return At(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function Ju(e={}){const{window:t=Oe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0}=e,o=ie(n),l=ie(s),c=()=>{t&&(i?(o.value=t.innerWidth,l.value=t.innerHeight):(o.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),er(c),At("resize",c,{passive:!0}),r){const a=Lo("(orientation: portrait)");Ne(a,()=>c())}return{width:o,height:l}}var ss={BASE_URL:"/sealdice-manual-next/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},rs={};const Mo=/^(?:[a-z]+:|\/\/)/i,qa="vitepress-theme-appearance",Ga=/#.*$/,Xa=/[?#].*$/,Ya=/(?:(^|\/)index)?\.(?:md|html)$/,pe=typeof document<"u",No={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ja(e,t,n=!1){if(t===void 0)return!1;if(e=ti(`/${e}`),n)return new RegExp(t).test(e);if(ti(t)!==e)return!1;const s=t.match(Ga);return s?(pe?location.hash:"")===s[0]:!0}function ti(e){return decodeURI(e).replace(Xa,"").replace(Ya,"$1")}function za(e){return Mo.test(e)}function Qa(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!za(n)&&Ja(t,`/${n}/`,!0))||"root"}function Za(e,t){var s,r,i,o,l,c,a;const n=Qa(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Ho(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function $o(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=eu(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function eu(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function tu(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function Ho(e,t){return[...e.filter(n=>!tu(t,n)),...t]}const nu=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,su=/^[a-z]:/i;function ni(e){const t=su.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(nu,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const is=new Set;function ru(e){if(is.size===0){const n=typeof process=="object"&&(rs==null?void 0:rs.VITE_EXTRA_EXTENSIONS)||(ss==null?void 0:ss.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>is.add(s))}const t=e.split(".").pop();return t==null||!is.has(t.toLowerCase())}function zu(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const iu=Symbol(),ut=ks(Aa);function Qu(e){const t=re(()=>Za(ut.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?ie(!0):n?Ka({storageKey:qa,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):ie(!1),r=ie(pe?location.hash:"");return pe&&window.addEventListener("hashchange",()=>{r.value=location.hash}),Ne(()=>e.data,()=>{r.value=pe?location.hash:""}),{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>$o(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:s,hash:re(()=>r.value)}}function ou(){const e=Ct(iu);if(!e)throw new Error("vitepress data not properly injected in app");return e}function lu(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function si(e){return Mo.test(e)||!e.startsWith("/")?e:lu(ut.value.base,e)}function cu(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),pe){const n="/sealdice-manual-next/";t=ni(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${ni(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let vn=[];function Zu(e){vn.push(e),Xt(()=>{vn=vn.filter(t=>t!==e)})}function au(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=ri(e,n);else if(Array.isArray(e))for(const s of e){const r=ri(s,n);if(r){t=r;break}}return t}function ri(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const uu=Symbol(),Bo="http://a.com",fu=()=>({path:"/",component:null,data:No});function ef(e,t){const n=Fn(fu()),s={route:n,go:r};async function r(l=pe?location.href:"/"){var c,a;l=os(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(pe&&l!==os(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((a=s.onAfterRouteChanged)==null?void 0:a.call(s,l)))}let i=null;async function o(l,c=0,a=!1){var p;if(await((p=s.onBeforePageLoad)==null?void 0:p.call(s,l))===!1)return;const f=new URL(l,Bo),d=i=f.pathname;try{let y=await e(d);if(!y)throw new Error(`Page not found: ${d}`);if(i===d){i=null;const{default:w,__pageData:L}=y;if(!w)throw new Error(`Invalid route component: ${w}`);n.path=pe?d:si(d),n.component=yn(w),n.data=yn(L),pe&&Nn(()=>{let V=ut.value.base+L.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!V.endsWith("/")&&(V+=".html"),V!==f.pathname&&(f.pathname=V,l=V+f.search+f.hash,history.replaceState({},"",l)),f.hash&&!c){let K=null;try{K=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(H){console.warn(H)}if(K){ii(K,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const w=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await w.json(),await o(l,c,!0);return}catch{}if(i===d){i=null,n.path=pe?d:si(d),n.component=t?yn(t):null;const w=pe?d.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...No,relativePath:w}}}}return pe&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const a=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(a==null)return;const{href:f,origin:d,pathname:p,hash:y,search:w}=new URL(a,c.baseURI),L=new URL(location.href);d===L.origin&&ru(p)&&(l.preventDefault(),p===L.pathname&&w===L.search?(y!==L.hash&&(history.pushState({},"",f),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:L.href,newURL:f}))),y?ii(c,y,c.classList.contains("header-anchor")):window.scrollTo(0,0)):r(f))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await o(os(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function du(){const e=Ct(uu);if(!e)throw new Error("useRouter() is called without provider.");return e}function jo(){return du().route}function ii(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-au()+i;requestAnimationFrame(r)}}function os(e){const t=new URL(e,Bo);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const ls=()=>vn.forEach(e=>e()),tf=qs({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=jo(),{site:n}=ou();return()=>Ts(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?Ts(t.component,{onVnodeMounted:ls,onVnodeUpdated:ls,onVnodeUnmounted:ls}):"404 Page Not Found"])}}),nf=qs({setup(e,{slots:t}){const n=ie(!1);return dt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function sf(){pe&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(a=>a.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function rf(){if(pe){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";o&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),hu(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function hu(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function of(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=cs(l);for(const a of document.head.children)if(a.isEqualNode(c)){s.push(a);return}});return}const o=i.map(cs);s.forEach((l,c)=>{const a=o.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete o[a]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};Js(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],a=$o(o,i);a!==document.title&&(document.title=a);const f=l||o.description;let d=document.querySelector("meta[name=description]");d?d.getAttribute("content")!==f&&d.setAttribute("content",f):cs(["meta",{name:"description",content:f}]),r(Ho(o.head,gu(c)))})}function cs([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function pu(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function gu(e){return e.filter(t=>!pu(t))}const as=new Set,Vo=()=>document.createElement("link"),mu=e=>{const t=Vo();t.rel="prefetch",t.href=e,document.head.appendChild(t)},yu=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let pn;const _u=pe&&(pn=Vo())&&pn.relList&&pn.relList.supports&&pn.relList.supports("prefetch")?mu:yu;function lf(){if(!pe||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!as.has(c)){as.add(c);const a=cu(c);a&&_u(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):as.add(l))})})};dt(s);const r=jo();Ne(()=>r.path,s),Xt(()=>{n&&n.disconnect()})}export{Ru as $,Ac as A,Zl as B,au as C,wu as D,Tu as E,ye as F,ks as G,Zu as H,oe as I,Eu as J,Mo as K,jo as L,Vc as M,Ct as N,Ju as O,Ps as P,Wu as Q,Nn as R,Yu as S,bo as T,pe as U,Mn as V,Su as W,ku as X,Gu as Y,hc as Z,Vu as _,go as a,Hu as a0,Di as a1,$u as a2,Ou as a3,Fn as a4,Pl as a5,Mu as a6,Ts as a7,Pu as a8,Cu as a9,Lu as aA,yn as aB,Bu as aC,zu as aD,Du as aa,z as ab,of as ac,uu as ad,Qu as ae,iu as af,tf as ag,nf as ah,ut as ai,ju as aj,ef as ak,cu as al,lf as am,rf as an,sf as ao,Oo as ap,Zs as aq,Ku as ar,Xu as as,qu as at,Uu as au,du as av,At as aw,xu as ax,Nu as ay,he as az,fo as b,Iu as c,qs as d,Fu as e,ru as f,si as g,re as h,za as i,po as j,Ii as k,vu as l,Ja as m,Fs as n,zs as o,bu as p,Lo as q,Au as r,ie as s,el as t,ou as u,Ne as v,jl as w,Js as x,dt as y,Xt as z}; diff --git a/assets/chunks/ganttDiagram-b62c793e.0tEMa_1q.js b/assets/chunks/ganttDiagram-b62c793e.0tEMa_1q.js new file mode 100644 index 000000000..1ca4d9113 --- /dev/null +++ b/assets/chunks/ganttDiagram-b62c793e.0tEMa_1q.js @@ -0,0 +1,257 @@ +import{au as Je,av as $e,aw as Ke,ax as tn,ay as Un,az as ie,aA as Fn,aB as nt,c as Mt,s as An,g as Ln,x as En,y as In,b as Wn,a as On,A as Hn,m as Nn,l as $t,h as Xt,i as Vn,j as zn,z as Pn}from"../app.BKabOgys.js";import{b as Rn,t as Ee,c as Bn,a as Zn,l as Xn}from"./linear.C2Kb3ud7.js";import{i as qn}from"./init.Gi6I4Gst.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";function Gn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function Qn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function jn(t){return t}var Qt=1,ae=2,ke=3,qt=4,Ie=1e-6;function Jn(t){return"translate("+t+",0)"}function $n(t){return"translate(0,"+t+")"}function Kn(t){return e=>+t(e)}function tr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function er(){return!this.__axis}function en(t,e){var n=[],r=null,i=null,a=6,s=6,m=3,T=typeof window<"u"&&window.devicePixelRatio>1?0:.5,k=t===Qt||t===qt?-1:1,y=t===qt||t===ae?"x":"y",_=t===Qt||t===ke?Jn:$n;function b(p){var E=r??(e.ticks?e.ticks.apply(e,n):e.domain()),D=i??(e.tickFormat?e.tickFormat.apply(e,n):jn),R=Math.max(a,0)+m,X=e.range(),tt=+X[0]+T,B=+X[X.length-1]+T,Z=(e.bandwidth?tr:Kn)(e.copy(),T),J=p.selection?p.selection():p,x=J.selectAll(".domain").data([null]),V=J.selectAll(".tick").data(E,e).order(),w=V.exit(),F=V.enter().append("g").attr("class","tick"),U=V.select("line"),C=V.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),V=V.merge(F),U=U.merge(F.append("line").attr("stroke","currentColor").attr(y+"2",k*a)),C=C.merge(F.append("text").attr("fill","currentColor").attr(y,k*R).attr("dy",t===Qt?"0em":t===ke?"0.71em":"0.32em")),p!==J&&(x=x.transition(p),V=V.transition(p),U=U.transition(p),C=C.transition(p),w=w.transition(p).attr("opacity",Ie).attr("transform",function(c){return isFinite(c=Z(c))?_(c+T):this.getAttribute("transform")}),F.attr("opacity",Ie).attr("transform",function(c){var d=this.parentNode.__axis;return _((d&&isFinite(d=d(c))?d:Z(c))+T)})),w.remove(),x.attr("d",t===qt||t===ae?s?"M"+k*s+","+tt+"H"+T+"V"+B+"H"+k*s:"M"+T+","+tt+"V"+B:s?"M"+tt+","+k*s+"V"+T+"H"+B+"V"+k*s:"M"+tt+","+T+"H"+B),V.attr("opacity",1).attr("transform",function(c){return _(Z(c)+T)}),U.attr(y+"2",k*a),C.attr(y,k*R).text(D),J.filter(er).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===ae?"start":t===qt?"end":"middle"),J.each(function(){this.__axis=Z})}return b.scale=function(p){return arguments.length?(e=p,b):e},b.ticks=function(){return n=Array.from(arguments),b},b.tickArguments=function(p){return arguments.length?(n=p==null?[]:Array.from(p),b):n.slice()},b.tickValues=function(p){return arguments.length?(r=p==null?null:Array.from(p),b):r&&r.slice()},b.tickFormat=function(p){return arguments.length?(i=p,b):i},b.tickSize=function(p){return arguments.length?(a=s=+p,b):a},b.tickSizeInner=function(p){return arguments.length?(a=+p,b):a},b.tickSizeOuter=function(p){return arguments.length?(s=+p,b):s},b.tickPadding=function(p){return arguments.length?(m=+p,b):m},b.offset=function(p){return arguments.length?(T=+p,b):T},b}function nr(t){return en(Qt,t)}function rr(t){return en(ke,t)}const ir=Math.PI/180,ar=180/Math.PI,Kt=18,nn=.96422,rn=1,an=.82521,sn=4/29,St=6/29,on=3*St*St,sr=St*St*St;function cn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return ln(t);t instanceof Ke||(t=Un(t));var e=le(t.r),n=le(t.g),r=le(t.b),i=se((.2225045*e+.7168786*n+.0606169*r)/rn),a,s;return e===n&&n===r?a=s=i:(a=se((.4360747*e+.3850649*n+.1430804*r)/nn),s=se((.0139322*e+.0971045*n+.7141733*r)/an)),new ot(116*i-16,500*(a-i),200*(i-s),t.opacity)}function or(t,e,n,r){return arguments.length===1?cn(t):new ot(t,e,n,r??1)}function ot(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}Je(ot,or,$e(tn,{brighter(t){return new ot(this.l+Kt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Kt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=nn*oe(e),t=rn*oe(t),n=an*oe(n),new Ke(ce(3.1338561*e-1.6168667*t-.4906146*n),ce(-.9787684*e+1.9161415*t+.033454*n),ce(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function se(t){return t>sr?Math.pow(t,1/3):t/on+sn}function oe(t){return t>St?t*t*t:on*(t-sn)}function ce(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function le(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function cr(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=cn(t)),t.a===0&&t.b===0)return new ut(NaN,0(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),m=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,m)=>{const T=[];if(a=i.ceil(a),m=m==null?1:Math.floor(m),!(a0))return T;let k;do T.push(k=new Date(+a)),e(a,m),t(a);while(kj(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,m)=>{if(s>=s)if(m<0)for(;++m<=0;)for(;e(s,-1),!a(s););else for(;--m>=0;)for(;e(s,1),!a(s););}),n&&(i.count=(a,s)=>(ue.setTime(+a),fe.setTime(+s),t(ue),t(fe),Math.floor(n(ue,fe))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?s=>r(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const Yt=j(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Yt.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?j(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Yt);Yt.range;const ft=1e3,it=ft*60,ht=it*60,dt=ht*24,we=dt*7,We=dt*30,he=dt*365,gt=j(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCSeconds());gt.range;const Ot=j(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getMinutes());Ot.range;const hr=j(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*it)},(t,e)=>(e-t)/it,t=>t.getUTCMinutes());hr.range;const Ht=j(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft-t.getMinutes()*it)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getHours());Ht.range;const dr=j(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getUTCHours());dr.range;const Tt=j(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*it)/dt,t=>t.getDate()-1);Tt.range;const Ce=j(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>t.getUTCDate()-1);Ce.range;const mr=j(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>Math.floor(t/dt));mr.range;function xt(t){return j(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*it)/we)}const zt=xt(0),Nt=xt(1),un=xt(2),fn=xt(3),vt=xt(4),hn=xt(5),dn=xt(6);zt.range;Nt.range;un.range;fn.range;vt.range;hn.range;dn.range;function wt(t){return j(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/we)}const mn=wt(0),te=wt(1),gr=wt(2),yr=wt(3),Ut=wt(4),kr=wt(5),pr=wt(6);mn.range;te.range;gr.range;yr.range;Ut.range;kr.range;pr.range;const Vt=j(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Vt.range;const Tr=j(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());Tr.range;const mt=j(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:j(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});mt.range;const bt=j(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());bt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:j(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});bt.range;function vr(t,e,n,r,i,a){const s=[[gt,1,ft],[gt,5,5*ft],[gt,15,15*ft],[gt,30,30*ft],[a,1,it],[a,5,5*it],[a,15,15*it],[a,30,30*it],[i,1,ht],[i,3,3*ht],[i,6,6*ht],[i,12,12*ht],[r,1,dt],[r,2,2*dt],[n,1,we],[e,1,We],[e,3,3*We],[t,1,he]];function m(k,y,_){const b=yR).right(s,b);if(p===s.length)return t.every(Ee(k/he,y/he,_));if(p===0)return Yt.every(Math.max(Ee(k,y,_),1));const[E,D]=s[b/s[p-1][2]53)return null;"w"in l||(l.w=1),"Z"in l?(N=me(Lt(l.y,0,1)),G=N.getUTCDay(),N=G>4||G===0?te.ceil(N):te(N),N=Ce.offset(N,(l.V-1)*7),l.y=N.getUTCFullYear(),l.m=N.getUTCMonth(),l.d=N.getUTCDate()+(l.w+6)%7):(N=de(Lt(l.y,0,1)),G=N.getDay(),N=G>4||G===0?Nt.ceil(N):Nt(N),N=Tt.offset(N,(l.V-1)*7),l.y=N.getFullYear(),l.m=N.getMonth(),l.d=N.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),G="Z"in l?me(Lt(l.y,0,1)).getUTCDay():de(Lt(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(G+5)%7:l.w+l.U*7-(G+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,me(l)):de(l)}}function w(v,A,M,l){for(var z=0,N=A.length,G=M.length,$,et;z=G)return-1;if($=A.charCodeAt(z++),$===37){if($=A.charAt(z++),et=J[$ in Oe?A.charAt(z++):$],!et||(l=et(v,M,l))<0)return-1}else if($!=M.charCodeAt(l++))return-1}return l}function F(v,A,M){var l=k.exec(A.slice(M));return l?(v.p=y.get(l[0].toLowerCase()),M+l[0].length):-1}function U(v,A,M){var l=p.exec(A.slice(M));return l?(v.w=E.get(l[0].toLowerCase()),M+l[0].length):-1}function C(v,A,M){var l=_.exec(A.slice(M));return l?(v.w=b.get(l[0].toLowerCase()),M+l[0].length):-1}function c(v,A,M){var l=X.exec(A.slice(M));return l?(v.m=tt.get(l[0].toLowerCase()),M+l[0].length):-1}function d(v,A,M){var l=D.exec(A.slice(M));return l?(v.m=R.get(l[0].toLowerCase()),M+l[0].length):-1}function g(v,A,M){return w(v,e,A,M)}function u(v,A,M){return w(v,n,A,M)}function S(v,A,M){return w(v,r,A,M)}function o(v){return s[v.getDay()]}function q(v){return a[v.getDay()]}function h(v){return T[v.getMonth()]}function f(v){return m[v.getMonth()]}function Y(v){return i[+(v.getHours()>=12)]}function P(v){return 1+~~(v.getMonth()/3)}function I(v){return s[v.getUTCDay()]}function O(v){return a[v.getUTCDay()]}function L(v){return T[v.getUTCMonth()]}function H(v){return m[v.getUTCMonth()]}function kt(v){return i[+(v.getUTCHours()>=12)]}function pt(v){return 1+~~(v.getUTCMonth()/3)}return{format:function(v){var A=x(v+="",B);return A.toString=function(){return v},A},parse:function(v){var A=V(v+="",!1);return A.toString=function(){return v},A},utcFormat:function(v){var A=x(v+="",Z);return A.toString=function(){return v},A},utcParse:function(v){var A=V(v+="",!0);return A.toString=function(){return v},A}}}var Oe={"-":"",_:" ",0:"0"},K=/^\s*\d+/,Cr=/^%/,Dr=/[\\^$*+?|[\]().{}]/g;function W(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function Sr(t,e,n){var r=K.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function _r(t,e,n){var r=K.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Yr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Ur(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Fr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function He(t,e,n){var r=K.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ne(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Ar(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Lr(t,e,n){var r=K.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Er(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Ve(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Ir(t,e,n){var r=K.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function ze(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Hr(t,e,n){var r=K.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=K.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Vr(t,e,n){var r=Cr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function zr(t,e,n){var r=K.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Pr(t,e,n){var r=K.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Pe(t,e){return W(t.getDate(),e,2)}function Rr(t,e){return W(t.getHours(),e,2)}function Br(t,e){return W(t.getHours()%12||12,e,2)}function Zr(t,e){return W(1+Tt.count(mt(t),t),e,3)}function gn(t,e){return W(t.getMilliseconds(),e,3)}function Xr(t,e){return gn(t,e)+"000"}function qr(t,e){return W(t.getMonth()+1,e,2)}function Gr(t,e){return W(t.getMinutes(),e,2)}function Qr(t,e){return W(t.getSeconds(),e,2)}function jr(t){var e=t.getDay();return e===0?7:e}function Jr(t,e){return W(zt.count(mt(t)-1,t),e,2)}function yn(t){var e=t.getDay();return e>=4||e===0?vt(t):vt.ceil(t)}function $r(t,e){return t=yn(t),W(vt.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Kr(t){return t.getDay()}function ti(t,e){return W(Nt.count(mt(t)-1,t),e,2)}function ei(t,e){return W(t.getFullYear()%100,e,2)}function ni(t,e){return t=yn(t),W(t.getFullYear()%100,e,2)}function ri(t,e){return W(t.getFullYear()%1e4,e,4)}function ii(t,e){var n=t.getDay();return t=n>=4||n===0?vt(t):vt.ceil(t),W(t.getFullYear()%1e4,e,4)}function ai(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+W(e/60|0,"0",2)+W(e%60,"0",2)}function Re(t,e){return W(t.getUTCDate(),e,2)}function si(t,e){return W(t.getUTCHours(),e,2)}function oi(t,e){return W(t.getUTCHours()%12||12,e,2)}function ci(t,e){return W(1+Ce.count(bt(t),t),e,3)}function kn(t,e){return W(t.getUTCMilliseconds(),e,3)}function li(t,e){return kn(t,e)+"000"}function ui(t,e){return W(t.getUTCMonth()+1,e,2)}function fi(t,e){return W(t.getUTCMinutes(),e,2)}function hi(t,e){return W(t.getUTCSeconds(),e,2)}function di(t){var e=t.getUTCDay();return e===0?7:e}function mi(t,e){return W(mn.count(bt(t)-1,t),e,2)}function pn(t){var e=t.getUTCDay();return e>=4||e===0?Ut(t):Ut.ceil(t)}function gi(t,e){return t=pn(t),W(Ut.count(bt(t),t)+(bt(t).getUTCDay()===4),e,2)}function yi(t){return t.getUTCDay()}function ki(t,e){return W(te.count(bt(t)-1,t),e,2)}function pi(t,e){return W(t.getUTCFullYear()%100,e,2)}function Ti(t,e){return t=pn(t),W(t.getUTCFullYear()%100,e,2)}function vi(t,e){return W(t.getUTCFullYear()%1e4,e,4)}function bi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Ut(t):Ut.ceil(t),W(t.getUTCFullYear()%1e4,e,4)}function xi(){return"+0000"}function Be(){return"%"}function Ze(t){return+t}function Xe(t){return Math.floor(+t/1e3)}var Dt,ee;wi({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function wi(t){return Dt=wr(t),ee=Dt.format,Dt.parse,Dt.utcFormat,Dt.utcParse,Dt}function Ci(t){return new Date(t)}function Di(t){return t instanceof Date?+t:+new Date(+t)}function Tn(t,e,n,r,i,a,s,m,T,k){var y=Bn(),_=y.invert,b=y.domain,p=k(".%L"),E=k(":%S"),D=k("%I:%M"),R=k("%I %p"),X=k("%a %d"),tt=k("%b %d"),B=k("%B"),Z=k("%Y");function J(x){return(T(x)4&&(_+=7),y.add(_,ge)},i=function(T){return T.add(4-T.isoWeekday(),ge)},a=e.prototype;a.isoWeekYear=function(){var m=i(this);return m.year()},a.isoWeek=function(m){if(!this.$utils().u(m))return this.add((m-this.isoWeek())*7,ge);var T=i(this),k=r(this.isoWeekYear(),this.$u);return T.diff(k,Si)+1},a.isoWeekday=function(m){return this.$utils().u(m)?this.day()||7:this.day(this.day()%7?m:m-7)};var s=a.startOf;a.startOf=function(m,T){var k=this.$utils(),y=k.u(T)?!0:T,_=k.p(m);return _===Ui?y?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(m,T)}};var Ai=function(e){return e.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(n,r,i){return r||i.slice(1)})},Li={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Ei=function(e,n){return e.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(r,i,a){var s=a&&a.toUpperCase();return i||n[a]||Li[a]||Ai(n[s])})},Ii=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,Wi=/\d/,Gt=/\d\d/,Oi=/\d{3}/,Hi=/\d{4}/,at=/\d\d?/,Ni=/[+-]?\d+/,Vi=/[+-]\d\d:?(\d\d)?|Z/,Wt=/\d*[^-_:/,()\s\d]+/,yt={},vn=function(e){return e=+e,e+(e>68?1900:2e3)};function zi(t){if(!t||t==="Z")return 0;var e=t.match(/([+-]|\d\d)/g),n=+(e[1]*60)+(+e[2]||0);return n===0?0:e[0]==="+"?-n:n}var rt=function(e){return function(n){this[e]=+n}},qe=[Vi,function(t){var e=this.zone||(this.zone={});e.offset=zi(t)}],ye=function(e){var n=yt[e];return n&&(n.indexOf?n:n.s.concat(n.f))},Ge=function(e,n){var r,i=yt,a=i.meridiem;if(!a)r=e===(n?"pm":"PM");else for(var s=1;s<=24;s+=1)if(e.indexOf(a(s,0,n))>-1){r=s>12;break}return r},Pi={A:[Wt,function(t){this.afternoon=Ge(t,!1)}],a:[Wt,function(t){this.afternoon=Ge(t,!0)}],S:[Wi,function(t){this.milliseconds=+t*100}],SS:[Gt,function(t){this.milliseconds=+t*10}],SSS:[Oi,function(t){this.milliseconds=+t}],s:[at,rt("seconds")],ss:[at,rt("seconds")],m:[at,rt("minutes")],mm:[at,rt("minutes")],H:[at,rt("hours")],h:[at,rt("hours")],HH:[at,rt("hours")],hh:[at,rt("hours")],D:[at,rt("day")],DD:[Gt,rt("day")],Do:[Wt,function(t){var e=yt,n=e.ordinal,r=t.match(/\d+/);if(this.day=r[0],!!n)for(var i=1;i<=31;i+=1)n(i).replace(/\[|\]/g,"")===t&&(this.day=i)}],M:[at,rt("month")],MM:[Gt,rt("month")],MMM:[Wt,function(t){var e=ye("months"),n=ye("monthsShort"),r=(n||e.map(function(i){return i.slice(0,3)})).indexOf(t)+1;if(r<1)throw new Error;this.month=r%12||r}],MMMM:[Wt,function(t){var e=ye("months"),n=e.indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],Y:[Ni,rt("year")],YY:[Gt,function(t){this.year=vn(t)}],YYYY:[Hi,rt("year")],Z:qe,ZZ:qe};function Ri(t){var e=t.afternoon;if(e!==void 0){var n=t.hours;e?n<12&&(t.hours+=12):n===12&&(t.hours=0),delete t.afternoon}}function Bi(t){t=Ei(t,yt&&yt.formats);for(var e=t.match(Ii),n=e.length,r=0;r-1)return new Date((n==="X"?1e3:1)*e);var i=Bi(n),a=i(e),s=a.year,m=a.month,T=a.day,k=a.hours,y=a.minutes,_=a.seconds,b=a.milliseconds,p=a.zone,E=new Date,D=T||(!s&&!m?E.getDate():1),R=s||E.getFullYear(),X=0;s&&!m||(X=m>0?m-1:E.getMonth());var tt=k||0,B=y||0,Z=_||0,J=b||0;return p?new Date(Date.UTC(R,X,D,tt,B,Z,J+p.offset*60*1e3)):r?new Date(Date.UTC(R,X,D,tt,B,Z,J)):new Date(R,X,D,tt,B,Z,J)}catch{return new Date("")}};const Xi=function(t,e,n){n.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(vn=t.parseTwoDigitYear);var r=e.prototype,i=r.parse;r.parse=function(a){var s=a.date,m=a.utc,T=a.args;this.$u=m;var k=T[1];if(typeof k=="string"){var y=T[2]===!0,_=T[3]===!0,b=y||_,p=T[2];_&&(p=T[2]),yt=this.$locale(),!y&&p&&(yt=n.Ls[p]),this.$d=Zi(s,k,m),this.init(),p&&p!==!0&&(this.$L=this.locale(p).$L),b&&s!=this.format(k)&&(this.$d=new Date("")),yt={}}else if(k instanceof Array)for(var E=k.length,D=1;D<=E;D+=1){T[1]=k[D-1];var R=n.apply(this,T);if(R.isValid()){this.$d=R.$d,this.$L=R.$L,this.init();break}D===E&&(this.$d=new Date(""))}else i.call(this,a)}},qi=function(t,e){var n=e.prototype,r=n.format;n.format=function(i){var a=this,s=this.$locale();if(!this.isValid())return r.bind(this)(i);var m=this.$utils(),T=i||Yi,k=T.replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(y){switch(y){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return m.s(a.week(),y==="w"?1:2,"0");case"W":case"WW":return m.s(a.isoWeek(),y==="W"?1:2,"0");case"k":case"kk":return m.s(String(a.$H===0?24:a.$H),y==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return y}});return r.bind(this)(k)}};var Te=function(){var t=function(C,c,d,g){for(d=d||{},g=C.length;g--;d[C[g]]=c);return d},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],n=[1,25],r=[1,26],i=[1,27],a=[1,28],s=[1,29],m=[1,30],T=[1,31],k=[1,9],y=[1,10],_=[1,11],b=[1,12],p=[1,13],E=[1,14],D=[1,15],R=[1,16],X=[1,18],tt=[1,19],B=[1,20],Z=[1,21],J=[1,22],x=[1,24],V=[1,32],w={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(c,d,g,u,S,o,q){var h=o.length-1;switch(S){case 1:return o[h-1];case 2:this.$=[];break;case 3:o[h-1].push(o[h]),this.$=o[h-1];break;case 4:case 5:this.$=o[h];break;case 6:case 7:this.$=[];break;case 8:u.setWeekday("monday");break;case 9:u.setWeekday("tuesday");break;case 10:u.setWeekday("wednesday");break;case 11:u.setWeekday("thursday");break;case 12:u.setWeekday("friday");break;case 13:u.setWeekday("saturday");break;case 14:u.setWeekday("sunday");break;case 15:u.setDateFormat(o[h].substr(11)),this.$=o[h].substr(11);break;case 16:u.enableInclusiveEndDates(),this.$=o[h].substr(18);break;case 17:u.TopAxis(),this.$=o[h].substr(8);break;case 18:u.setAxisFormat(o[h].substr(11)),this.$=o[h].substr(11);break;case 19:u.setTickInterval(o[h].substr(13)),this.$=o[h].substr(13);break;case 20:u.setExcludes(o[h].substr(9)),this.$=o[h].substr(9);break;case 21:u.setIncludes(o[h].substr(9)),this.$=o[h].substr(9);break;case 22:u.setTodayMarker(o[h].substr(12)),this.$=o[h].substr(12);break;case 24:u.setDiagramTitle(o[h].substr(6)),this.$=o[h].substr(6);break;case 25:this.$=o[h].trim(),u.setAccTitle(this.$);break;case 26:case 27:this.$=o[h].trim(),u.setAccDescription(this.$);break;case 28:u.addSection(o[h].substr(8)),this.$=o[h].substr(8);break;case 30:u.addTask(o[h-1],o[h]),this.$="task";break;case 31:this.$=o[h-1],u.setClickEvent(o[h-1],o[h],null);break;case 32:this.$=o[h-2],u.setClickEvent(o[h-2],o[h-1],o[h]);break;case 33:this.$=o[h-2],u.setClickEvent(o[h-2],o[h-1],null),u.setLink(o[h-2],o[h]);break;case 34:this.$=o[h-3],u.setClickEvent(o[h-3],o[h-2],o[h-1]),u.setLink(o[h-3],o[h]);break;case 35:this.$=o[h-2],u.setClickEvent(o[h-2],o[h],null),u.setLink(o[h-2],o[h-1]);break;case 36:this.$=o[h-3],u.setClickEvent(o[h-3],o[h-1],o[h]),u.setLink(o[h-3],o[h-2]);break;case 37:this.$=o[h-1],u.setLink(o[h-1],o[h]);break;case 38:case 44:this.$=o[h-1]+" "+o[h];break;case 39:case 40:case 42:this.$=o[h-2]+" "+o[h-1]+" "+o[h];break;case 41:case 43:this.$=o[h-3]+" "+o[h-2]+" "+o[h-1]+" "+o[h];break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:a,16:s,17:m,18:T,19:k,20:y,21:_,22:b,23:p,24:E,25:D,26:R,27:X,28:tt,30:B,32:Z,33:J,34:23,35:x,37:V},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:n,13:r,14:i,15:a,16:s,17:m,18:T,19:k,20:y,21:_,22:b,23:p,24:E,25:D,26:R,27:X,28:tt,30:B,32:Z,33:J,34:23,35:x,37:V},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(c,d){if(d.recoverable)this.trace(c);else{var g=new Error(c);throw g.hash=d,g}},parse:function(c){var d=this,g=[0],u=[],S=[null],o=[],q=this.table,h="",f=0,Y=0,P=2,I=1,O=o.slice.call(arguments,1),L=Object.create(this.lexer),H={yy:{}};for(var kt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,kt)&&(H.yy[kt]=this.yy[kt]);L.setInput(c,H.yy),H.yy.lexer=L,H.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var pt=L.yylloc;o.push(pt);var v=L.options&&L.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function A(){var ct;return ct=u.pop()||L.lex()||I,typeof ct!="number"&&(ct instanceof Array&&(u=ct,ct=u.pop()),ct=d.symbols_[ct]||ct),ct}for(var M,l,z,N,G={},$,et,At,Zt;;){if(l=g[g.length-1],this.defaultActions[l]?z=this.defaultActions[l]:((M===null||typeof M>"u")&&(M=A()),z=q[l]&&q[l][M]),typeof z>"u"||!z.length||!z[0]){var re="";Zt=[];for($ in q[l])this.terminals_[$]&&$>P&&Zt.push("'"+this.terminals_[$]+"'");L.showPosition?re="Parse error on line "+(f+1)+`: +`+L.showPosition()+` +Expecting `+Zt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":re="Parse error on line "+(f+1)+": Unexpected "+(M==I?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(re,{text:L.match,token:this.terminals_[M]||M,line:L.yylineno,loc:pt,expected:Zt})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+l+", token: "+M);switch(z[0]){case 1:g.push(M),S.push(L.yytext),o.push(L.yylloc),g.push(z[1]),M=null,Y=L.yyleng,h=L.yytext,f=L.yylineno,pt=L.yylloc;break;case 2:if(et=this.productions_[z[1]][1],G.$=S[S.length-et],G._$={first_line:o[o.length-(et||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(et||1)].first_column,last_column:o[o.length-1].last_column},v&&(G._$.range=[o[o.length-(et||1)].range[0],o[o.length-1].range[1]]),N=this.performAction.apply(G,[h,Y,f,H.yy,z[1],S,o].concat(O)),typeof N<"u")return N;et&&(g=g.slice(0,-1*et*2),S=S.slice(0,-1*et),o=o.slice(0,-1*et)),g.push(this.productions_[z[1]][0]),S.push(G.$),o.push(G._$),At=q[g[g.length-2]][g[g.length-1]],g.push(At);break;case 3:return!0}}return!0}},F=function(){var C={EOF:1,parseError:function(d,g){if(this.yy.parser)this.yy.parser.parseError(d,g);else throw new Error(d)},setInput:function(c,d){return this.yy=d||this.yy||{},this._input=c,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var c=this._input[0];this.yytext+=c,this.yyleng++,this.offset++,this.match+=c,this.matched+=c;var d=c.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),c},unput:function(c){var d=c.length,g=c.split(/(?:\r\n?|\n)/g);this._input=c+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===u.length?this.yylloc.first_column:0)+u[u.length-g.length].length-g[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(c){this.unput(this.match.slice(c))},pastInput:function(){var c=this.matched.substr(0,this.matched.length-this.match.length);return(c.length>20?"...":"")+c.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var c=this.match;return c.length<20&&(c+=this._input.substr(0,20-c.length)),(c.substr(0,20)+(c.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var c=this.pastInput(),d=new Array(c.length+1).join("-");return c+this.upcomingInput()+` +`+d+"^"},test_match:function(c,d){var g,u,S;if(this.options.backtrack_lexer&&(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(S.yylloc.range=this.yylloc.range.slice(0))),u=c[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+c[0].length},this.yytext+=c[0],this.match+=c[0],this.matches=c,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(c[0].length),this.matched+=c[0],g=this.performAction.call(this,this.yy,this,d,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var o in S)this[o]=S[o];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var c,d,g,u;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),o=0;od[0].length)){if(d=g,u=o,this.options.backtrack_lexer){if(c=this.test_match(g,S[o]),c!==!1)return c;if(this._backtrack){d=!1;continue}else return!1}else if(!this.options.flex)break}return d?(c=this.test_match(d,S[u]),c!==!1?c:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var d=this.next();return d||this.lex()},begin:function(d){this.conditionStack.push(d)},popState:function(){var d=this.conditionStack.length-1;return d>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(d){return d=this.conditionStack.length-1-Math.abs(d||0),d>=0?this.conditionStack[d]:"INITIAL"},pushState:function(d){this.begin(d)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(d,g,u,S){switch(u){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],inclusive:!0}}};return C}();w.lexer=F;function U(){this.yy={}}return U.prototype=w,w.Parser=U,new U}();Te.parser=Te;const Gi=Te;nt.extend(Fi);nt.extend(Xi);nt.extend(qi);let st="",De="",Me,Se="",Pt=[],Rt=[],_e={},Ye=[],ne=[],Ft="",Ue="";const bn=["active","done","crit","milestone"];let Fe=[],Bt=!1,Ae=!1,Le="sunday",ve=0;const Qi=function(){Ye=[],ne=[],Ft="",Fe=[],jt=0,xe=void 0,Jt=void 0,Q=[],st="",De="",Ue="",Me=void 0,Se="",Pt=[],Rt=[],Bt=!1,Ae=!1,ve=0,_e={},Hn(),Le="sunday"},ji=function(t){De=t},Ji=function(){return De},$i=function(t){Me=t},Ki=function(){return Me},ta=function(t){Se=t},ea=function(){return Se},na=function(t){st=t},ra=function(){Bt=!0},ia=function(){return Bt},aa=function(){Ae=!0},sa=function(){return Ae},oa=function(t){Ue=t},ca=function(){return Ue},la=function(){return st},ua=function(t){Pt=t.toLowerCase().split(/[\s,]+/)},fa=function(){return Pt},ha=function(t){Rt=t.toLowerCase().split(/[\s,]+/)},da=function(){return Rt},ma=function(){return _e},ga=function(t){Ft=t,Ye.push(t)},ya=function(){return Ye},ka=function(){let t=Qe();const e=10;let n=0;for(;!t&&n=6&&n.includes("weekends")||n.includes(t.format("dddd").toLowerCase())?!0:n.includes(t.format(e.trim()))},pa=function(t){Le=t},Ta=function(){return Le},wn=function(t,e,n,r){if(!n.length||t.manualEndTime)return;let i;t.startTime instanceof Date?i=nt(t.startTime):i=nt(t.startTime,e,!0),i=i.add(1,"d");let a;t.endTime instanceof Date?a=nt(t.endTime):a=nt(t.endTime,e,!0);const[s,m]=va(i,a,e,n,r);t.endTime=s.toDate(),t.renderEndTime=m},va=function(t,e,n,r,i){let a=!1,s=null;for(;t<=e;)a||(s=e.toDate()),a=xn(t,n,r,i),a&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,s]},be=function(t,e,n){n=n.trim();const i=/^after\s+(?[\d\w- ]+)/.exec(n);if(i!==null){let s=null;for(const T of i.groups.ids.split(" ")){let k=Ct(T);k!==void 0&&(!s||k.endTime>s.endTime)&&(s=k)}if(s)return s.endTime;const m=new Date;return m.setHours(0,0,0,0),m}let a=nt(n,e.trim(),!0);if(a.isValid())return a.toDate();{$t.debug("Invalid date:"+n),$t.debug("With date format:"+e.trim());const s=new Date(n);if(s===void 0||isNaN(s.getTime())||s.getFullYear()<-1e4||s.getFullYear()>1e4)throw new Error("Invalid date:"+n);return s}},Cn=function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},Dn=function(t,e,n,r=!1){n=n.trim();const a=/^until\s+(?[\d\w- ]+)/.exec(n);if(a!==null){let y=null;for(const b of a.groups.ids.split(" ")){let p=Ct(b);p!==void 0&&(!y||p.startTime{window.open(n,"_self")}),_e[r]=n)}),Sn(t,"clickable")},Sn=function(t,e){t.split(",").forEach(function(n){let r=Ct(n);r!==void 0&&r.classes.push(e)})},Ma=function(t,e,n){if(Mt().securityLevel!=="loose"||e===void 0)return;let r=[];if(typeof n=="string"){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Pn.runFunc(e,...r)})},_n=function(t,e){Fe.push(function(){const n=document.querySelector(`[id="${t}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const n=document.querySelector(`[id="${t}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},Sa=function(t,e,n){t.split(",").forEach(function(r){Ma(r,e,n)}),Sn(t,"clickable")},_a=function(t){Fe.forEach(function(e){e(t)})},Ya={getConfig:()=>Mt().gantt,clear:Qi,setDateFormat:na,getDateFormat:la,enableInclusiveEndDates:ra,endDatesAreInclusive:ia,enableTopAxis:aa,topAxisEnabled:sa,setAxisFormat:ji,getAxisFormat:Ji,setTickInterval:$i,getTickInterval:Ki,setTodayMarker:ta,getTodayMarker:ea,setAccTitle:An,getAccTitle:Ln,setDiagramTitle:En,getDiagramTitle:In,setDisplayMode:oa,getDisplayMode:ca,setAccDescription:Wn,getAccDescription:On,addSection:ga,getSections:ya,getTasks:ka,addTask:wa,findTaskById:Ct,addTaskOrg:Ca,setIncludes:ua,getIncludes:fa,setExcludes:ha,getExcludes:da,setClickEvent:Sa,setLink:Da,getLinks:ma,bindFunctions:_a,parseDuration:Cn,isInvalidDate:xn,setWeekday:pa,getWeekday:Ta};function Yn(t,e,n){let r=!0;for(;r;)r=!1,n.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),r=!0)})}const Ua=function(){$t.debug("Something is calling, setConf, remove the call")},je={monday:Nt,tuesday:un,wednesday:fn,thursday:vt,friday:hn,saturday:dn,sunday:zt},Fa=(t,e)=>{let n=[...t].map(()=>-1/0),r=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of r)for(let s=0;s=n[s]){n[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i};let lt;const Aa=function(t,e,n,r){const i=Mt().gantt,a=Mt().securityLevel;let s;a==="sandbox"&&(s=Xt("#i"+e));const m=a==="sandbox"?Xt(s.nodes()[0].contentDocument.body):Xt("body"),T=a==="sandbox"?s.nodes()[0].contentDocument:document,k=T.getElementById(e);lt=k.parentElement.offsetWidth,lt===void 0&&(lt=1200),i.useWidth!==void 0&&(lt=i.useWidth);const y=r.db.getTasks();let _=[];for(const w of y)_.push(w.type);_=V(_);const b={};let p=2*i.topPadding;if(r.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const w={};for(const U of y)w[U.section]===void 0?w[U.section]=[U]:w[U.section].push(U);let F=0;for(const U of Object.keys(w)){const C=Fa(w[U],F)+1;F+=C,p+=C*(i.barHeight+i.barGap),b[U]=C}}else{p+=y.length*(i.barHeight+i.barGap);for(const w of _)b[w]=y.filter(F=>F.type===w).length}k.setAttribute("viewBox","0 0 "+lt+" "+p);const E=m.select(`[id="${e}"]`),D=Mi().domain([Qn(y,function(w){return w.startTime}),Gn(y,function(w){return w.endTime})]).rangeRound([0,lt-i.leftPadding-i.rightPadding]);function R(w,F){const U=w.startTime,C=F.startTime;let c=0;return U>C?c=1:Uf.order))].map(f=>w.find(Y=>Y.order===f));E.append("g").selectAll("rect").data(S).enter().append("rect").attr("x",0).attr("y",function(f,Y){return Y=f.order,Y*F+U-2}).attr("width",function(){return g-i.rightPadding/2}).attr("height",F).attr("class",function(f){for(const[Y,P]of _.entries())if(f.type===P)return"section section"+Y%i.numberSectionStyles;return"section section0"});const o=E.append("g").selectAll("rect").data(w).enter(),q=r.db.getLinks();if(o.append("rect").attr("id",function(f){return f.id}).attr("rx",3).attr("ry",3).attr("x",function(f){return f.milestone?D(f.startTime)+C+.5*(D(f.endTime)-D(f.startTime))-.5*c:D(f.startTime)+C}).attr("y",function(f,Y){return Y=f.order,Y*F+U}).attr("width",function(f){return f.milestone?c:D(f.renderEndTime||f.endTime)-D(f.startTime)}).attr("height",c).attr("transform-origin",function(f,Y){return Y=f.order,(D(f.startTime)+C+.5*(D(f.endTime)-D(f.startTime))).toString()+"px "+(Y*F+U+.5*c).toString()+"px"}).attr("class",function(f){const Y="task";let P="";f.classes.length>0&&(P=f.classes.join(" "));let I=0;for(const[L,H]of _.entries())f.type===H&&(I=L%i.numberSectionStyles);let O="";return f.active?f.crit?O+=" activeCrit":O=" active":f.done?f.crit?O=" doneCrit":O=" done":f.crit&&(O+=" crit"),O.length===0&&(O=" task"),f.milestone&&(O=" milestone "+O),O+=I,O+=" "+P,Y+O}),o.append("text").attr("id",function(f){return f.id+"-text"}).text(function(f){return f.task}).attr("font-size",i.fontSize).attr("x",function(f){let Y=D(f.startTime),P=D(f.renderEndTime||f.endTime);f.milestone&&(Y+=.5*(D(f.endTime)-D(f.startTime))-.5*c),f.milestone&&(P=Y+c);const I=this.getBBox().width;return I>P-Y?P+I+1.5*i.leftPadding>g?Y+C-5:P+C+5:(P-Y)/2+Y+C}).attr("y",function(f,Y){return Y=f.order,Y*F+i.barHeight/2+(i.fontSize/2-2)+U}).attr("text-height",c).attr("class",function(f){const Y=D(f.startTime);let P=D(f.endTime);f.milestone&&(P=Y+c);const I=this.getBBox().width;let O="";f.classes.length>0&&(O=f.classes.join(" "));let L=0;for(const[kt,pt]of _.entries())f.type===pt&&(L=kt%i.numberSectionStyles);let H="";return f.active&&(f.crit?H="activeCritText"+L:H="activeText"+L),f.done?f.crit?H=H+" doneCritText"+L:H=H+" doneText"+L:f.crit&&(H=H+" critText"+L),f.milestone&&(H+=" milestoneText"),I>P-Y?P+I+1.5*i.leftPadding>g?O+" taskTextOutsideLeft taskTextOutside"+L+" "+H:O+" taskTextOutsideRight taskTextOutside"+L+" "+H+" width-"+I:O+" taskText taskText"+L+" "+H+" width-"+I}),Mt().securityLevel==="sandbox"){let f;f=Xt("#i"+e);const Y=f.nodes()[0].contentDocument;o.filter(function(P){return q[P.id]!==void 0}).each(function(P){var I=Y.querySelector("#"+P.id),O=Y.querySelector("#"+P.id+"-text");const L=I.parentNode;var H=Y.createElement("a");H.setAttribute("xlink:href",q[P.id]),H.setAttribute("target","_top"),L.appendChild(H),H.appendChild(I),H.appendChild(O)})}}function B(w,F,U,C,c,d,g,u){if(g.length===0&&u.length===0)return;let S,o;for(const{startTime:I,endTime:O}of d)(S===void 0||Io)&&(o=O);if(!S||!o)return;if(nt(o).diff(nt(S),"year")>5){$t.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const q=r.db.getDateFormat(),h=[];let f=null,Y=nt(S);for(;Y.valueOf()<=o;)r.db.isInvalidDate(Y,q,g,u)?f?f.end=Y:f={start:Y,end:Y}:f&&(h.push(f),f=null),Y=Y.add(1,"d");E.append("g").selectAll("rect").data(h).enter().append("rect").attr("id",function(I){return"exclude-"+I.start.format("YYYY-MM-DD")}).attr("x",function(I){return D(I.start)+U}).attr("y",i.gridLineStartPadding).attr("width",function(I){const O=I.end.add(1,"day");return D(O)-D(I.start)}).attr("height",c-F-i.gridLineStartPadding).attr("transform-origin",function(I,O){return(D(I.start)+U+.5*(D(I.end)-D(I.start))).toString()+"px "+(O*w+.5*c).toString()+"px"}).attr("class","exclude-range")}function Z(w,F,U,C){let c=rr(D).tickSize(-C+F+i.gridLineStartPadding).tickFormat(ee(r.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));const g=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||i.tickInterval);if(g!==null){const u=g[1],S=g[2],o=r.db.getWeekday()||i.weekday;switch(S){case"millisecond":c.ticks(Yt.every(u));break;case"second":c.ticks(gt.every(u));break;case"minute":c.ticks(Ot.every(u));break;case"hour":c.ticks(Ht.every(u));break;case"day":c.ticks(Tt.every(u));break;case"week":c.ticks(je[o].every(u));break;case"month":c.ticks(Vt.every(u));break}}if(E.append("g").attr("class","grid").attr("transform","translate("+w+", "+(C-50)+")").call(c).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||i.topAxis){let u=nr(D).tickSize(-C+F+i.gridLineStartPadding).tickFormat(ee(r.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));if(g!==null){const S=g[1],o=g[2],q=r.db.getWeekday()||i.weekday;switch(o){case"millisecond":u.ticks(Yt.every(S));break;case"second":u.ticks(gt.every(S));break;case"minute":u.ticks(Ot.every(S));break;case"hour":u.ticks(Ht.every(S));break;case"day":u.ticks(Tt.every(S));break;case"week":u.ticks(je[q].every(S));break;case"month":u.ticks(Vt.every(S));break}}E.append("g").attr("class","grid").attr("transform","translate("+w+", "+F+")").call(u).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function J(w,F){let U=0;const C=Object.keys(b).map(c=>[c,b[c]]);E.append("g").selectAll("text").data(C).enter().append(function(c){const d=c[0].split(zn.lineBreakRegex),g=-(d.length-1)/2,u=T.createElementNS("http://www.w3.org/2000/svg","text");u.setAttribute("dy",g+"em");for(const[S,o]of d.entries()){const q=T.createElementNS("http://www.w3.org/2000/svg","tspan");q.setAttribute("alignment-baseline","central"),q.setAttribute("x","10"),S>0&&q.setAttribute("dy","1em"),q.textContent=o,u.appendChild(q)}return u}).attr("x",10).attr("y",function(c,d){if(d>0)for(let g=0;g` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor||t.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`,Ia=Ea,za={parser:Gi,db:Ya,renderer:La,styles:Ia};export{za as diagram}; diff --git a/assets/chunks/gitGraphDiagram-942e62fe.DHd-4RVN.js b/assets/chunks/gitGraphDiagram-942e62fe.DHd-4RVN.js new file mode 100644 index 000000000..e0bd68b26 --- /dev/null +++ b/assets/chunks/gitGraphDiagram-942e62fe.DHd-4RVN.js @@ -0,0 +1,70 @@ +import{c as C,s as vt,g as Ct,a as Ot,b as Pt,x as At,y as Gt,l as B,j as D,A as St,h as It,z as Nt,as as Ht,at as Bt}from"../app.BKabOgys.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";var mt=function(){var r=function(G,o,u,d){for(u=u||{},d=G.length;d--;u[G[d]]=o);return u},n=[1,3],l=[1,6],h=[1,4],i=[1,5],c=[2,5],p=[1,12],m=[5,7,13,19,21,23,24,26,28,31,37,40,47],x=[7,13,19,21,23,24,26,28,31,37,40],y=[7,12,13,19,21,23,24,26,28,31,37,40],a=[7,13,47],R=[1,42],_=[1,41],b=[7,13,29,32,35,38,47],f=[1,55],k=[1,56],g=[1,57],E=[7,13,32,35,42,47],z={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(o,u,d,s,T,t,X){var e=t.length-1;switch(T){case 2:return t[e];case 3:return t[e-1];case 4:return s.setDirection(t[e-3]),t[e-1];case 6:s.setOptions(t[e-1]),this.$=t[e];break;case 7:t[e-1]+=t[e],this.$=t[e-1];break;case 9:this.$=[];break;case 10:t[e-1].push(t[e]),this.$=t[e-1];break;case 11:this.$=t[e-1];break;case 16:this.$=t[e].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=t[e].trim(),s.setAccDescription(this.$);break;case 19:s.addSection(t[e].substr(8)),this.$=t[e].substr(8);break;case 21:s.checkout(t[e]);break;case 22:s.branch(t[e]);break;case 23:s.branch(t[e-2],t[e]);break;case 24:s.cherryPick(t[e],"",void 0);break;case 25:s.cherryPick(t[e-2],"",void 0,t[e]);break;case 26:s.cherryPick(t[e-2],"",t[e]);break;case 27:s.cherryPick(t[e-4],"",t[e],t[e-2]);break;case 28:s.cherryPick(t[e-4],"",t[e-2],t[e]);break;case 29:s.cherryPick(t[e],"",t[e-2]);break;case 30:s.cherryPick(t[e],"","");break;case 31:s.cherryPick(t[e-2],"","");break;case 32:s.cherryPick(t[e-4],"","",t[e-2]);break;case 33:s.cherryPick(t[e-4],"","",t[e]);break;case 34:s.cherryPick(t[e-2],"",t[e-4],t[e]);break;case 35:s.cherryPick(t[e-2],"","",t[e]);break;case 36:s.merge(t[e],"","","");break;case 37:s.merge(t[e-2],t[e],"","");break;case 38:s.merge(t[e-2],"",t[e],"");break;case 39:s.merge(t[e-2],"","",t[e]);break;case 40:s.merge(t[e-4],t[e],"",t[e-2]);break;case 41:s.merge(t[e-4],"",t[e],t[e-2]);break;case 42:s.merge(t[e-4],"",t[e-2],t[e]);break;case 43:s.merge(t[e-4],t[e-2],t[e],"");break;case 44:s.merge(t[e-4],t[e-2],"",t[e]);break;case 45:s.merge(t[e-4],t[e],t[e-2],"");break;case 46:s.merge(t[e-6],t[e-4],t[e-2],t[e]);break;case 47:s.merge(t[e-6],t[e],t[e-4],t[e-2]);break;case 48:s.merge(t[e-6],t[e-4],t[e],t[e-2]);break;case 49:s.merge(t[e-6],t[e-2],t[e-4],t[e]);break;case 50:s.merge(t[e-6],t[e],t[e-2],t[e-4]);break;case 51:s.merge(t[e-6],t[e-2],t[e],t[e-4]);break;case 52:s.commit(t[e]);break;case 53:s.commit("","",s.commitType.NORMAL,t[e]);break;case 54:s.commit("","",t[e],"");break;case 55:s.commit("","",t[e],t[e-2]);break;case 56:s.commit("","",t[e-2],t[e]);break;case 57:s.commit("",t[e],s.commitType.NORMAL,"");break;case 58:s.commit("",t[e-2],s.commitType.NORMAL,t[e]);break;case 59:s.commit("",t[e],s.commitType.NORMAL,t[e-2]);break;case 60:s.commit("",t[e-2],t[e],"");break;case 61:s.commit("",t[e],t[e-2],"");break;case 62:s.commit("",t[e-4],t[e-2],t[e]);break;case 63:s.commit("",t[e-4],t[e],t[e-2]);break;case 64:s.commit("",t[e-2],t[e-4],t[e]);break;case 65:s.commit("",t[e],t[e-4],t[e-2]);break;case 66:s.commit("",t[e],t[e-2],t[e-4]);break;case 67:s.commit("",t[e-2],t[e],t[e-4]);break;case 68:s.commit(t[e],"",s.commitType.NORMAL,"");break;case 69:s.commit(t[e],"",s.commitType.NORMAL,t[e-2]);break;case 70:s.commit(t[e-2],"",s.commitType.NORMAL,t[e]);break;case 71:s.commit(t[e-2],"",t[e],"");break;case 72:s.commit(t[e],"",t[e-2],"");break;case 73:s.commit(t[e],t[e-2],s.commitType.NORMAL,"");break;case 74:s.commit(t[e-2],t[e],s.commitType.NORMAL,"");break;case 75:s.commit(t[e-4],"",t[e-2],t[e]);break;case 76:s.commit(t[e-4],"",t[e],t[e-2]);break;case 77:s.commit(t[e-2],"",t[e-4],t[e]);break;case 78:s.commit(t[e],"",t[e-4],t[e-2]);break;case 79:s.commit(t[e],"",t[e-2],t[e-4]);break;case 80:s.commit(t[e-2],"",t[e],t[e-4]);break;case 81:s.commit(t[e-4],t[e],t[e-2],"");break;case 82:s.commit(t[e-4],t[e-2],t[e],"");break;case 83:s.commit(t[e-2],t[e],t[e-4],"");break;case 84:s.commit(t[e],t[e-2],t[e-4],"");break;case 85:s.commit(t[e],t[e-4],t[e-2],"");break;case 86:s.commit(t[e-2],t[e-4],t[e],"");break;case 87:s.commit(t[e-4],t[e],s.commitType.NORMAL,t[e-2]);break;case 88:s.commit(t[e-4],t[e-2],s.commitType.NORMAL,t[e]);break;case 89:s.commit(t[e-2],t[e],s.commitType.NORMAL,t[e-4]);break;case 90:s.commit(t[e],t[e-2],s.commitType.NORMAL,t[e-4]);break;case 91:s.commit(t[e],t[e-4],s.commitType.NORMAL,t[e-2]);break;case 92:s.commit(t[e-2],t[e-4],s.commitType.NORMAL,t[e]);break;case 93:s.commit(t[e-6],t[e-4],t[e-2],t[e]);break;case 94:s.commit(t[e-6],t[e-4],t[e],t[e-2]);break;case 95:s.commit(t[e-6],t[e-2],t[e-4],t[e]);break;case 96:s.commit(t[e-6],t[e],t[e-4],t[e-2]);break;case 97:s.commit(t[e-6],t[e-2],t[e],t[e-4]);break;case 98:s.commit(t[e-6],t[e],t[e-2],t[e-4]);break;case 99:s.commit(t[e-4],t[e-6],t[e-2],t[e]);break;case 100:s.commit(t[e-4],t[e-6],t[e],t[e-2]);break;case 101:s.commit(t[e-2],t[e-6],t[e-4],t[e]);break;case 102:s.commit(t[e],t[e-6],t[e-4],t[e-2]);break;case 103:s.commit(t[e-2],t[e-6],t[e],t[e-4]);break;case 104:s.commit(t[e],t[e-6],t[e-2],t[e-4]);break;case 105:s.commit(t[e],t[e-4],t[e-2],t[e-6]);break;case 106:s.commit(t[e-2],t[e-4],t[e],t[e-6]);break;case 107:s.commit(t[e],t[e-2],t[e-4],t[e-6]);break;case 108:s.commit(t[e-2],t[e],t[e-4],t[e-6]);break;case 109:s.commit(t[e-4],t[e-2],t[e],t[e-6]);break;case 110:s.commit(t[e-4],t[e],t[e-2],t[e-6]);break;case 111:s.commit(t[e-2],t[e-4],t[e-6],t[e]);break;case 112:s.commit(t[e],t[e-4],t[e-6],t[e-2]);break;case 113:s.commit(t[e-2],t[e],t[e-6],t[e-4]);break;case 114:s.commit(t[e],t[e-2],t[e-6],t[e-4]);break;case 115:s.commit(t[e-4],t[e-2],t[e-6],t[e]);break;case 116:s.commit(t[e-4],t[e],t[e-6],t[e-2]);break;case 117:this.$="";break;case 118:this.$=t[e];break;case 119:this.$=s.commitType.NORMAL;break;case 120:this.$=s.commitType.REVERSE;break;case 121:this.$=s.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:n,7:l,13:h,47:i},{1:[3]},{3:7,4:2,5:n,7:l,13:h,47:i},{6:8,7:c,8:[1,9],9:[1,10],10:11,13:p},r(m,[2,124]),r(m,[2,125]),r(m,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:c,10:11,13:p},{8:[1,15]},r(x,[2,9],{11:16,12:[1,17]}),r(y,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:c,10:11,13:p},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},r(y,[2,7]),{1:[2,3]},{7:[1,36]},r(x,[2,10]),{4:37,7:l,13:h,47:i},r(x,[2,12]),r(a,[2,13]),r(a,[2,14]),r(a,[2,15]),{20:[1,38]},{22:[1,39]},r(a,[2,18]),r(a,[2,19]),r(a,[2,20]),{27:40,33:R,46:_},r(a,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:R,46:_},{32:[1,50],35:[1,51]},{27:52,33:R,46:_},{1:[2,4]},r(x,[2,11]),r(a,[2,16]),r(a,[2,17]),r(a,[2,21]),r(b,[2,122]),r(b,[2,123]),r(a,[2,52]),{33:[1,53]},{39:54,43:f,44:k,45:g},{33:[1,58]},{33:[1,59]},r(a,[2,118]),r(a,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},r(a,[2,22],{29:[1,66]}),r(a,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),r(a,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),r(E,[2,119]),r(E,[2,120]),r(E,[2,121]),r(a,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),r(a,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:f,44:k,45:g},{33:[1,81]},r(a,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:f,44:k,45:g},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:f,44:k,45:g},{33:[1,95]},{33:[1,96]},{39:97,43:f,44:k,45:g},{33:[1,98]},r(a,[2,37],{35:[1,100],38:[1,99]}),r(a,[2,38],{32:[1,102],35:[1,101]}),r(a,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},r(a,[2,23]),r(a,[2,55],{32:[1,110],42:[1,111]}),r(a,[2,59],{38:[1,112],42:[1,113]}),r(a,[2,69],{32:[1,115],38:[1,114]}),r(a,[2,56],{32:[1,116],42:[1,117]}),r(a,[2,61],{35:[1,118],42:[1,119]}),r(a,[2,72],{32:[1,121],35:[1,120]}),r(a,[2,58],{38:[1,122],42:[1,123]}),r(a,[2,60],{35:[1,124],42:[1,125]}),r(a,[2,73],{35:[1,127],38:[1,126]}),r(a,[2,70],{32:[1,129],38:[1,128]}),r(a,[2,71],{32:[1,131],35:[1,130]}),r(a,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:f,44:k,45:g},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:f,44:k,45:g},r(a,[2,25],{35:[1,140]}),r(a,[2,26],{34:[1,141]}),r(a,[2,31],{34:[1,142]}),r(a,[2,29],{34:[1,143]}),r(a,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:f,44:k,45:g},{33:[1,148]},{39:149,43:f,44:k,45:g},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:f,44:k,45:g},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:f,44:k,45:g},{33:[1,162]},{39:163,43:f,44:k,45:g},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:f,44:k,45:g},{33:[1,168]},r(a,[2,43],{35:[1,169]}),r(a,[2,44],{38:[1,170]}),r(a,[2,42],{32:[1,171]}),r(a,[2,45],{35:[1,172]}),r(a,[2,40],{38:[1,173]}),r(a,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},r(a,[2,66],{42:[1,181]}),r(a,[2,79],{32:[1,182]}),r(a,[2,67],{42:[1,183]}),r(a,[2,90],{38:[1,184]}),r(a,[2,80],{32:[1,185]}),r(a,[2,89],{38:[1,186]}),r(a,[2,65],{42:[1,187]}),r(a,[2,78],{32:[1,188]}),r(a,[2,64],{42:[1,189]}),r(a,[2,84],{35:[1,190]}),r(a,[2,77],{32:[1,191]}),r(a,[2,83],{35:[1,192]}),r(a,[2,63],{42:[1,193]}),r(a,[2,91],{38:[1,194]}),r(a,[2,62],{42:[1,195]}),r(a,[2,85],{35:[1,196]}),r(a,[2,86],{35:[1,197]}),r(a,[2,92],{38:[1,198]}),r(a,[2,76],{32:[1,199]}),r(a,[2,87],{38:[1,200]}),r(a,[2,75],{32:[1,201]}),r(a,[2,81],{35:[1,202]}),r(a,[2,82],{35:[1,203]}),r(a,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:f,44:k,45:g},{33:[1,207]},{33:[1,208]},{39:209,43:f,44:k,45:g},{33:[1,210]},r(a,[2,27]),r(a,[2,32]),r(a,[2,28]),r(a,[2,33]),r(a,[2,34]),r(a,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:f,44:k,45:g},{33:[1,215]},{39:216,43:f,44:k,45:g},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:f,44:k,45:g},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:f,44:k,45:g},{33:[1,229]},{39:230,43:f,44:k,45:g},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:f,44:k,45:g},r(a,[2,46]),r(a,[2,48]),r(a,[2,47]),r(a,[2,49]),r(a,[2,51]),r(a,[2,50]),r(a,[2,107]),r(a,[2,108]),r(a,[2,105]),r(a,[2,106]),r(a,[2,110]),r(a,[2,109]),r(a,[2,114]),r(a,[2,113]),r(a,[2,112]),r(a,[2,111]),r(a,[2,116]),r(a,[2,115]),r(a,[2,104]),r(a,[2,103]),r(a,[2,102]),r(a,[2,101]),r(a,[2,99]),r(a,[2,100]),r(a,[2,98]),r(a,[2,97]),r(a,[2,96]),r(a,[2,95]),r(a,[2,93]),r(a,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(o,u){if(u.recoverable)this.trace(o);else{var d=new Error(o);throw d.hash=u,d}},parse:function(o){var u=this,d=[0],s=[],T=[null],t=[],X=this.table,e="",rt=0,ft=0,wt=2,pt=1,Lt=t.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(F.yy[ct]=this.yy[ct]);O.setInput(o,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var ot=O.yylloc;t.push(ot);var Rt=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var q;return q=s.pop()||O.lex()||pt,typeof q!="number"&&(q instanceof Array&&(s=q,q=s.pop()),q=u.symbols_[q]||q),q}for(var N,K,V,lt,J={},it,j,bt,st;;){if(K=d[d.length-1],this.defaultActions[K]?V=this.defaultActions[K]:((N===null||typeof N>"u")&&(N=Mt()),V=X[K]&&X[K][N]),typeof V>"u"||!V.length||!V[0]){var ht="";st=[];for(it in X[K])this.terminals_[it]&&it>wt&&st.push("'"+this.terminals_[it]+"'");O.showPosition?ht="Parse error on line "+(rt+1)+`: +`+O.showPosition()+` +Expecting `+st.join(", ")+", got '"+(this.terminals_[N]||N)+"'":ht="Parse error on line "+(rt+1)+": Unexpected "+(N==pt?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(ht,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:ot,expected:st})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+K+", token: "+N);switch(V[0]){case 1:d.push(N),T.push(O.yytext),t.push(O.yylloc),d.push(V[1]),N=null,ft=O.yyleng,e=O.yytext,rt=O.yylineno,ot=O.yylloc;break;case 2:if(j=this.productions_[V[1]][1],J.$=T[T.length-j],J._$={first_line:t[t.length-(j||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(j||1)].first_column,last_column:t[t.length-1].last_column},Rt&&(J._$.range=[t[t.length-(j||1)].range[0],t[t.length-1].range[1]]),lt=this.performAction.apply(J,[e,ft,rt,F.yy,V[1],T,t].concat(Lt)),typeof lt<"u")return lt;j&&(d=d.slice(0,-1*j*2),T=T.slice(0,-1*j),t=t.slice(0,-1*j)),d.push(this.productions_[V[1]][0]),T.push(J.$),t.push(J._$),bt=X[d[d.length-2]][d[d.length-1]],d.push(bt);break;case 3:return!0}}return!0}},M=function(){var G={EOF:1,parseError:function(u,d){if(this.yy.parser)this.yy.parser.parseError(u,d);else throw new Error(u)},setInput:function(o,u){return this.yy=u||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var u=o.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var u=o.length,d=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var T=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===s.length?this.yylloc.first_column:0)+s[s.length-d.length].length-d[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),u=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+u+"^"},test_match:function(o,u){var d,s,T;if(this.options.backtrack_lexer&&(T={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(T.yylloc.range=this.yylloc.range.slice(0))),s=o[0].match(/(?:\r\n?|\n).*/g),s&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],d=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack){for(var t in T)this[t]=T[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,u,d,s;this._more||(this.yytext="",this.match="");for(var T=this._currentRules(),t=0;tu[0].length)){if(u=d,s=t,this.options.backtrack_lexer){if(o=this.test_match(d,T[t]),o!==!1)return o;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(o=this.test_match(u,T[s]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var u=this.next();return u||this.lex()},begin:function(u){this.conditionStack.push(u)},popState:function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},pushState:function(u){this.begin(u)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(u,d,s,T){switch(s){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return G}();z.lexer=M;function S(){this.yy={}}return S.prototype=z,z.Parser=S,new S}();mt.parser=mt;const Vt=mt;let at=C().gitGraph.mainBranchName,Dt=C().gitGraph.mainBranchOrder,v={},I=null,tt={};tt[at]={name:at,order:Dt};let L={};L[at]=I;let A=at,kt="LR",W=0;function ut(){return Bt({length:7})}function zt(r,n){const l=Object.create(null);return r.reduce((h,i)=>{const c=n(i);return l[c]||(l[c]=!0,h.push(i)),h},[])}const jt=function(r){kt=r};let xt={};const qt=function(r){B.debug("options str",r),r=r&&r.trim(),r=r||"{}";try{xt=JSON.parse(r)}catch(n){B.error("error while parsing gitGraph options",n.message)}},Yt=function(){return xt},Ft=function(r,n,l,h){B.debug("Entering commit:",r,n,l,h),n=D.sanitizeText(n,C()),r=D.sanitizeText(r,C()),h=D.sanitizeText(h,C());const i={id:n||W+"-"+ut(),message:r,seq:W++,type:l||Q.NORMAL,tag:h||"",parents:I==null?[]:[I.id],branch:A};I=i,v[i.id]=i,L[A]=i.id,B.debug("in pushCommit "+i.id)},Kt=function(r,n){if(r=D.sanitizeText(r,C()),L[r]===void 0)L[r]=I!=null?I.id:null,tt[r]={name:r,order:n?parseInt(n,10):null},yt(r),B.debug("in createBranch");else{let l=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+r+'")');throw l.hash={text:"branch "+r,token:"branch "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+r+'"']},l}},Ut=function(r,n,l,h){r=D.sanitizeText(r,C()),n=D.sanitizeText(n,C());const i=v[L[A]],c=v[L[r]];if(A===r){let m=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},m}else if(i===void 0||!i){let m=new Error('Incorrect usage of "merge". Current branch ('+A+")has no commits");throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},m}else if(L[r]===void 0){let m=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+r]},m}else if(c===void 0||!c){let m=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},m}else if(i===c){let m=new Error('Incorrect usage of "merge". Both branches have same head');throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},m}else if(n&&v[n]!==void 0){let m=new Error('Incorrect usage of "merge". Commit with id:'+n+" already exists, use different custom Id");throw m.hash={text:"merge "+r+n+l+h,token:"merge "+r+n+l+h,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+r+" "+n+"_UNIQUE "+l+" "+h]},m}const p={id:n||W+"-"+ut(),message:"merged branch "+r+" into "+A,seq:W++,parents:[I==null?null:I.id,L[r]],branch:A,type:Q.MERGE,customType:l,customId:!!n,tag:h||""};I=p,v[p.id]=p,L[A]=p.id,B.debug(L),B.debug("in mergeBranch")},Wt=function(r,n,l,h){if(B.debug("Entering cherryPick:",r,n,l),r=D.sanitizeText(r,C()),n=D.sanitizeText(n,C()),l=D.sanitizeText(l,C()),h=D.sanitizeText(h,C()),!r||v[r]===void 0){let p=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw p.hash={text:"cherryPick "+r+" "+n,token:"cherryPick "+r+" "+n,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},p}let i=v[r],c=i.branch;if(h&&!(Array.isArray(i.parents)&&i.parents.includes(h)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(i.type===Q.MERGE&&!h)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!n||v[n]===void 0){if(c===A){let x=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw x.hash={text:"cherryPick "+r+" "+n,token:"cherryPick "+r+" "+n,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},x}const p=v[L[A]];if(p===void 0||!p){let x=new Error('Incorrect usage of "cherry-pick". Current branch ('+A+")has no commits");throw x.hash={text:"cherryPick "+r+" "+n,token:"cherryPick "+r+" "+n,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},x}const m={id:W+"-"+ut(),message:"cherry-picked "+i+" into "+A,seq:W++,parents:[I==null?null:I.id,i.id],branch:A,type:Q.CHERRY_PICK,tag:l??`cherry-pick:${i.id}${i.type===Q.MERGE?`|parent:${h}`:""}`};I=m,v[m.id]=m,L[A]=m.id,B.debug(L),B.debug("in cherryPick")}},yt=function(r){if(r=D.sanitizeText(r,C()),L[r]===void 0){let n=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+r+'")');throw n.hash={text:"checkout "+r,token:"checkout "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+r+'"']},n}else{A=r;const n=L[A];I=v[n]}};function gt(r,n,l){const h=r.indexOf(n);h===-1?r.push(l):r.splice(h,1,l)}function _t(r){const n=r.reduce((i,c)=>i.seq>c.seq?i:c,r[0]);let l="";r.forEach(function(i){i===n?l+=" *":l+=" |"});const h=[l,n.id,n.seq];for(let i in L)L[i]===n.id&&h.push(i);if(B.debug(h.join(" ")),n.parents&&n.parents.length==2){const i=v[n.parents[0]];gt(r,n,i),r.push(v[n.parents[1]])}else{if(n.parents.length==0)return;{const i=v[n.parents];gt(r,n,i)}}r=zt(r,i=>i.id),_t(r)}const Jt=function(){B.debug(v);const r=Et()[0];_t([r])},Qt=function(){v={},I=null;let r=C().gitGraph.mainBranchName,n=C().gitGraph.mainBranchOrder;L={},L[r]=null,tt={},tt[r]={name:r,order:n},A=r,W=0,St()},Xt=function(){return Object.values(tt).map((n,l)=>n.order!==null?n:{...n,order:parseFloat(`0.${l}`,10)}).sort((n,l)=>n.order-l.order).map(({name:n})=>({name:n}))},Zt=function(){return L},$t=function(){return v},Et=function(){const r=Object.keys(v).map(function(n){return v[n]});return r.forEach(function(n){B.debug(n.id)}),r.sort((n,l)=>n.seq-l.seq),r},te=function(){return A},ee=function(){return kt},re=function(){return I},Q={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},ie={getConfig:()=>C().gitGraph,setDirection:jt,setOptions:qt,getOptions:Yt,commit:Ft,branch:Kt,merge:Ut,cherryPick:Wt,checkout:yt,prettyPrint:Jt,clear:Qt,getBranchesAsObjArray:Xt,getBranches:Zt,getCommits:$t,getCommitsArray:Et,getCurrentBranch:te,getDirection:ee,getHead:re,setAccTitle:vt,getAccTitle:Ct,getAccDescription:Ot,setAccDescription:Pt,setDiagramTitle:At,getDiagramTitle:Gt,commitType:Q};let Z={};const P={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},U=8;let H={},Y={},nt=[],et=0,w="LR";const se=()=>{H={},Y={},Z={},et=0,nt=[],w="LR"},Tt=r=>{const n=document.createElementNS("http://www.w3.org/2000/svg","text");let l=[];typeof r=="string"?l=r.split(/\\n|\n|/gi):Array.isArray(r)?l=r:l=[];for(const h of l){const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=h.trim(),n.appendChild(i)}return n},ae=r=>{let n="",l=0;return r.forEach(h=>{const i=w==="TB"?Y[h].y:Y[h].x;i>=l&&(n=h,l=i)}),n||void 0},dt=(r,n,l)=>{const h=C().gitGraph,i=r.append("g").attr("class","commit-bullets"),c=r.append("g").attr("class","commit-labels");let p=0;w==="TB"&&(p=30);const x=Object.keys(n).sort((_,b)=>n[_].seq-n[b].seq),y=h.parallelCommits,a=10,R=40;x.forEach(_=>{const b=n[_];if(y)if(b.parents.length){const E=ae(b.parents);p=w==="TB"?Y[E].y+R:Y[E].x+R}else p=0,w==="TB"&&(p=30);const f=p+a,k=w==="TB"?f:H[b.branch].pos,g=w==="TB"?H[b.branch].pos:f;if(l){let E,z=b.customType!==void 0&&b.customType!==""?b.customType:b.type;switch(z){case P.NORMAL:E="commit-normal";break;case P.REVERSE:E="commit-reverse";break;case P.HIGHLIGHT:E="commit-highlight";break;case P.MERGE:E="commit-merge";break;case P.CHERRY_PICK:E="commit-cherry-pick";break;default:E="commit-normal"}if(z===P.HIGHLIGHT){const M=i.append("rect");M.attr("x",g-10),M.attr("y",k-10),M.attr("height",20),M.attr("width",20),M.attr("class",`commit ${b.id} commit-highlight${H[b.branch].index%U} ${E}-outer`),i.append("rect").attr("x",g-6).attr("y",k-6).attr("height",12).attr("width",12).attr("class",`commit ${b.id} commit${H[b.branch].index%U} ${E}-inner`)}else if(z===P.CHERRY_PICK)i.append("circle").attr("cx",g).attr("cy",k).attr("r",10).attr("class",`commit ${b.id} ${E}`),i.append("circle").attr("cx",g-3).attr("cy",k+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${b.id} ${E}`),i.append("circle").attr("cx",g+3).attr("cy",k+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${b.id} ${E}`),i.append("line").attr("x1",g+3).attr("y1",k+1).attr("x2",g).attr("y2",k-5).attr("stroke","#fff").attr("class",`commit ${b.id} ${E}`),i.append("line").attr("x1",g-3).attr("y1",k+1).attr("x2",g).attr("y2",k-5).attr("stroke","#fff").attr("class",`commit ${b.id} ${E}`);else{const M=i.append("circle");if(M.attr("cx",g),M.attr("cy",k),M.attr("r",b.type===P.MERGE?9:10),M.attr("class",`commit ${b.id} commit${H[b.branch].index%U}`),z===P.MERGE){const S=i.append("circle");S.attr("cx",g),S.attr("cy",k),S.attr("r",6),S.attr("class",`commit ${E} ${b.id} commit${H[b.branch].index%U}`)}z===P.REVERSE&&i.append("path").attr("d",`M ${g-5},${k-5}L${g+5},${k+5}M${g-5},${k+5}L${g+5},${k-5}`).attr("class",`commit ${E} ${b.id} commit${H[b.branch].index%U}`)}}if(w==="TB"?Y[b.id]={x:g,y:f}:Y[b.id]={x:f,y:k},l){if(b.type!==P.CHERRY_PICK&&(b.customId&&b.type===P.MERGE||b.type!==P.MERGE)&&h.showCommitLabel){const M=c.append("g"),S=M.insert("rect").attr("class","commit-label-bkg"),G=M.append("text").attr("x",p).attr("y",k+25).attr("class","commit-label").text(b.id);let o=G.node().getBBox();if(S.attr("x",f-o.width/2-2).attr("y",k+13.5).attr("width",o.width+2*2).attr("height",o.height+2*2),w==="TB"&&(S.attr("x",g-(o.width+4*4+5)).attr("y",k-12),G.attr("x",g-(o.width+4*4)).attr("y",k+o.height-12)),w!=="TB"&&G.attr("x",f-o.width/2),h.rotateCommitLabel)if(w==="TB")G.attr("transform","rotate(-45, "+g+", "+k+")"),S.attr("transform","rotate(-45, "+g+", "+k+")");else{let u=-7.5-(o.width+10)/25*9.5,d=10+o.width/25*8.5;M.attr("transform","translate("+u+", "+d+") rotate(-45, "+p+", "+k+")")}}if(b.tag){const M=c.insert("polygon"),S=c.append("circle"),G=c.append("text").attr("y",k-16).attr("class","tag-label").text(b.tag);let o=G.node().getBBox();G.attr("x",f-o.width/2);const u=o.height/2,d=k-19.2;M.attr("class","tag-label-bkg").attr("points",` + ${p-o.width/2-4/2},${d+2} + ${p-o.width/2-4/2},${d-2} + ${f-o.width/2-4},${d-u-2} + ${f+o.width/2+4},${d-u-2} + ${f+o.width/2+4},${d+u+2} + ${f-o.width/2-4},${d+u+2}`),S.attr("cx",p-o.width/2+4/2).attr("cy",d).attr("r",1.5).attr("class","tag-hole"),w==="TB"&&(M.attr("class","tag-label-bkg").attr("points",` + ${g},${p+2} + ${g},${p-2} + ${g+a},${p-u-2} + ${g+a+o.width+4},${p-u-2} + ${g+a+o.width+4},${p+u+2} + ${g+a},${p+u+2}`).attr("transform","translate(12,12) rotate(45, "+g+","+p+")"),S.attr("cx",g+4/2).attr("cy",p).attr("transform","translate(12,12) rotate(45, "+g+","+p+")"),G.attr("x",g+5).attr("y",p+3).attr("transform","translate(14,14) rotate(45, "+g+","+p+")"))}}p+=R+a,p>et&&(et=p)})},ne=(r,n,l,h,i)=>{const p=(w==="TB"?l.xy.branch===p,x=y=>y.seq>r.seq&&y.seqx(y)&&m(y))},$=(r,n,l=0)=>{const h=r+Math.abs(r-n)/2;if(l>5)return h;if(nt.every(p=>Math.abs(p-h)>=10))return nt.push(h),h;const c=Math.abs(r-n);return $(r,n-c/5,l+1)},ce=(r,n,l,h)=>{const i=Y[n.id],c=Y[l.id],p=ne(n,l,i,c,h);let m="",x="",y=0,a=0,R=H[l.branch].index;l.type===P.MERGE&&n.id!==l.parents[0]&&(R=H[n.branch].index);let _;if(p){m="A 10 10, 0, 0, 0,",x="A 10 10, 0, 0, 1,",y=10,a=10;const b=i.yc.x&&(m="A 20 20, 0, 0, 0,",x="A 20 20, 0, 0, 1,",y=20,a=20,l.type===P.MERGE&&n.id!==l.parents[0]?_=`M ${i.x} ${i.y} L ${i.x} ${c.y-y} ${x} ${i.x-a} ${c.y} L ${c.x} ${c.y}`:_=`M ${i.x} ${i.y} L ${c.x+y} ${i.y} ${m} ${c.x} ${i.y+a} L ${c.x} ${c.y}`),i.x===c.x&&(_=`M ${i.x} ${i.y} L ${c.x} ${c.y}`)):(i.yc.y&&(l.type===P.MERGE&&n.id!==l.parents[0]?_=`M ${i.x} ${i.y} L ${c.x-y} ${i.y} ${m} ${c.x} ${i.y-a} L ${c.x} ${c.y}`:_=`M ${i.x} ${i.y} L ${i.x} ${c.y+y} ${x} ${i.x+a} ${c.y} L ${c.x} ${c.y}`),i.y===c.y&&(_=`M ${i.x} ${i.y} L ${c.x} ${c.y}`));r.append("path").attr("d",_).attr("class","arrow arrow"+R%U)},oe=(r,n)=>{const l=r.append("g").attr("class","commit-arrows");Object.keys(n).forEach(h=>{const i=n[h];i.parents&&i.parents.length>0&&i.parents.forEach(c=>{ce(l,n[c],i,n)})})},le=(r,n)=>{const l=C().gitGraph,h=r.append("g");n.forEach((i,c)=>{const p=c%U,m=H[i.name].pos,x=h.append("line");x.attr("x1",0),x.attr("y1",m),x.attr("x2",et),x.attr("y2",m),x.attr("class","branch branch"+p),w==="TB"&&(x.attr("y1",30),x.attr("x1",m),x.attr("y2",et),x.attr("x2",m)),nt.push(m);let y=i.name;const a=Tt(y),R=h.insert("rect"),b=h.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+p);b.node().appendChild(a);let f=a.getBBox();R.attr("class","branchLabelBkg label"+p).attr("rx",4).attr("ry",4).attr("x",-f.width-4-(l.rotateCommitLabel===!0?30:0)).attr("y",-f.height/2+8).attr("width",f.width+18).attr("height",f.height+4),b.attr("transform","translate("+(-f.width-14-(l.rotateCommitLabel===!0?30:0))+", "+(m-f.height/2-1)+")"),w==="TB"&&(R.attr("x",m-f.width/2-10).attr("y",0),b.attr("transform","translate("+(m-f.width/2-5)+", 0)")),w!=="TB"&&R.attr("transform","translate(-19, "+(m-f.height/2)+")")})},he=function(r,n,l,h){se();const i=C(),c=i.gitGraph;B.debug("in gitgraph renderer",r+` +`,"id:",n,l),Z=h.db.getCommits();const p=h.db.getBranchesAsObjArray();w=h.db.getDirection();const m=It(`[id="${n}"]`);let x=0;p.forEach((y,a)=>{const R=Tt(y.name),_=m.append("g"),b=_.insert("g").attr("class","branchLabel"),f=b.insert("g").attr("class","label branch-label");f.node().appendChild(R);let k=R.getBBox();H[y.name]={pos:x,index:a},x+=50+(c.rotateCommitLabel?40:0)+(w==="TB"?k.width/2:0),f.remove(),b.remove(),_.remove()}),dt(m,Z,!1),c.showBranches&&le(m,p),oe(m,Z),dt(m,Z,!0),Nt.insertTitle(m,"gitTitleText",c.titleTopMargin,h.db.getDiagramTitle()),Ht(void 0,m,c.diagramPadding,c.useMaxWidth??i.useMaxWidth)},me={draw:he},ue=r=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(n=>` + .branch-label${n} { fill: ${r["gitBranchLabel"+n]}; } + .commit${n} { stroke: ${r["git"+n]}; fill: ${r["git"+n]}; } + .commit-highlight${n} { stroke: ${r["gitInv"+n]}; fill: ${r["gitInv"+n]}; } + .label${n} { fill: ${r["git"+n]}; } + .arrow${n} { stroke: ${r["git"+n]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${r.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${r.commitLabelFontSize}; fill: ${r.commitLabelColor};} + .commit-label-bkg { font-size: ${r.commitLabelFontSize}; fill: ${r.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${r.tagLabelFontSize}; fill: ${r.tagLabelColor};} + .tag-label-bkg { fill: ${r.tagLabelBackground}; stroke: ${r.tagLabelBorder}; } + .tag-hole { fill: ${r.textColor}; } + + .commit-merge { + stroke: ${r.primaryColor}; + fill: ${r.primaryColor}; + } + .commit-reverse { + stroke: ${r.primaryColor}; + fill: ${r.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${r.primaryColor}; + fill: ${r.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${r.textColor}; + } +`,fe=ue,de={parser:Vt,db:ie,renderer:me,styles:fe};export{de as diagram}; diff --git a/assets/chunks/graph.CmmHGxOl.js b/assets/chunks/graph.CmmHGxOl.js new file mode 100644 index 000000000..83357ef39 --- /dev/null +++ b/assets/chunks/graph.CmmHGxOl.js @@ -0,0 +1 @@ +import{B as I,C as Ze,S as m,D as y,E as Te,F as qe,G as Xe,H as Je,I as Ee,J as G,K as X,L as Qe,M as me,N as We,O as C,P as x,Q as Oe,R as ve,T as ze,U as Z,V as Ve,W as ke,X as P,Y as en,Z as nn,_ as rn,$ as re,a0 as tn,a1 as sn,a2 as an,a3 as we,a4 as un,a5 as j,a6 as fn,a7 as on,a8 as M,a9 as te,aa as ie}from"../app.BKabOgys.js";var dn="[object Symbol]";function J(e){return typeof e=="symbol"||I(e)&&Ze(e)==dn}function $e(e,n){for(var r=-1,t=e==null?0:e.length,i=Array(t);++r-1}function T(e){return Te(e)?qe(e):Xe(e)}var yn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,An=/^\w*$/;function Q(e,n){if(y(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||J(e)?!0:An.test(e)||!yn.test(e)||n!=null&&e in Object(n)}var Tn=500;function En(e){var n=Je(e,function(t){return r.size===Tn&&r.clear(),t}),r=n.cache;return n}var mn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,On=/\\(\\)?/g,vn=En(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(mn,function(r,t,i,s){n.push(i?s.replace(On,"$1"):t||r)}),n});function wn(e){return e==null?"":Le(e)}function Ie(e,n){return y(e)?e:Q(e,n)?[e]:vn(wn(e))}var $n=1/0;function U(e){if(typeof e=="string"||J(e))return e;var n=e+"";return n=="0"&&1/e==-$n?"-0":n}function Ce(e,n){n=Ie(n,e);for(var r=0,t=n.length;e!=null&&ru))return!1;var l=s.get(e),g=s.get(n);if(l&&g)return l==n&&g==e;var o=-1,h=!0,A=r&Qr?new S:void 0;for(s.set(e,n),s.set(n,e);++o=Ht){var l=Kt(e);if(l)return V(l);a=!1,i=Ge,f=new S}else f=u;e:for(;++t1?i.setNode(s,r):i.setNode(s)}),this}setNode(n,r){return E(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=r),this):(this._nodes[n]=arguments.length>1?r:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=w,this._children[n]={},this._children[w][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return E(this._nodes,n)}removeNode(n){var r=this;if(E(this._nodes,n)){var t=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],v(this.children(n),function(i){r.setParent(i)}),delete this._children[n]),v(T(this._in[n]),t),delete this._in[n],delete this._preds[n],v(T(this._out[n]),t),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if($(r))r=w;else{r+="";for(var t=r;!$(t);t=this.parent(t))if(t===n)throw new Error("Setting "+r+" as parent of "+n+" would create a cycle");this.setNode(r)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=r,this._children[r][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var r=this._parent[n];if(r!==w)return r}}children(n){if($(n)&&(n=w),this._isCompound){var r=this._children[n];if(r)return T(r)}else{if(n===w)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var r=this._preds[n];if(r)return T(r)}successors(n){var r=this._sucs[n];if(r)return T(r)}neighbors(n){var r=this.predecessors(n);if(r)return Zt(r,this.successors(n))}isLeaf(n){var r;return this.isDirected()?r=this.successors(n):r=this.neighbors(n),r.length===0}filterNodes(n){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;v(this._nodes,function(a,u){n(u)&&r.setNode(u,a)}),v(this._edgeObjs,function(a){r.hasNode(a.v)&&r.hasNode(a.w)&&r.setEdge(a,t.edge(a))});var i={};function s(a){var u=t.parent(a);return u===void 0||r.hasNode(u)?(i[a]=u,u):u in i?i[u]:s(u)}return this._isCompound&&v(r.nodes(),function(a){r.setParent(a,s(a))}),r}setDefaultEdgeLabel(n){return te(n)||(n=M(n)),this._defaultEdgeLabelFn=n,this}edgeCount(){return this._edgeCount}edges(){return H(this._edgeObjs)}setPath(n,r){var t=this,i=arguments;return jt(n,function(s,a){return i.length>1?t.setEdge(s,a,r):t.setEdge(s,a),a}),this}setEdge(){var n,r,t,i,s=!1,a=arguments[0];typeof a=="object"&&a!==null&&"v"in a?(n=a.v,r=a.w,t=a.name,arguments.length===2&&(i=arguments[1],s=!0)):(n=a,r=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),n=""+n,r=""+r,$(t)||(t=""+t);var u=L(this._isDirected,n,r,t);if(E(this._edgeLabels,u))return s&&(this._edgeLabels[u]=i),this;if(!$(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(r),this._edgeLabels[u]=s?i:this._defaultEdgeLabelFn(n,r,t);var f=Xt(this._isDirected,n,r,t);return n=f.v,r=f.w,Object.freeze(f),this._edgeObjs[u]=f,ye(this._preds[r],n),ye(this._sucs[n],r),this._in[r][u]=f,this._out[n][u]=f,this._edgeCount++,this}edge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t);return this._edgeLabels[i]}hasEdge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t);return E(this._edgeLabels,i)}removeEdge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t),s=this._edgeObjs[i];return s&&(n=s.v,r=s.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Ae(this._preds[r],n),Ae(this._sucs[n],r),delete this._in[r][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,r){var t=this._in[n];if(t){var i=H(t);return r?D(i,function(s){return s.v===r}):i}}outEdges(n,r){var t=this._out[n];if(t){var i=H(t);return r?D(i,function(s){return s.w===r}):i}}nodeEdges(n,r){var t=this.inEdges(n,r);if(t)return t.concat(this.outEdges(n,r))}}Ye.prototype._nodeCount=0;Ye.prototype._edgeCount=0;function ye(e,n){e[n]?e[n]++:e[n]=1}function Ae(e,n){--e[n]||delete e[n]}function L(e,n,r,t){var i=""+n,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}return i+be+s+be+($(t)?qt:t)}function Xt(e,n,r,t){var i=""+n,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}var u={v:i,w:s};return t&&(u.name=t),u}function Y(e,n){return L(e,n.v,n.w,n.name)}export{Ye as G,B as a,In as b,He as c,ln as d,ee as e,v as f,$e as g,E as h,J as i,Ft as j,T as k,St as l,Ie as m,Ce as n,vt as o,wn as p,$ as q,D as r,jt as s,U as t,H as v}; diff --git a/assets/chunks/index-01f381cb.zbRgJYXZ.js b/assets/chunks/index-01f381cb.zbRgJYXZ.js new file mode 100644 index 000000000..f2c2a9e63 --- /dev/null +++ b/assets/chunks/index-01f381cb.zbRgJYXZ.js @@ -0,0 +1 @@ +import{q as N,G as A}from"./graph.CmmHGxOl.js";import{m as $,l as q}from"./layout.CbVLFsVb.js";import{c as H}from"./clone.TnmvHrgs.js";import{i as V,u as U,s as W,a as _,b as z,g as D,p as O,c as K,d as Q,e as Y,f as Z,h as J,j as p}from"./edges-066a5561.CPwEKA1n.js";import{l as s,c as T,q as S,h as L}from"../app.BKabOgys.js";import{c as I}from"./createText-ca0c5216.lHq48BDc.js";function m(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:tt(e),edges:et(e)};return N(e.graph())||(t.value=H(e.graph())),t}function tt(e){return $(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return N(n)||(i.value=n),N(r)||(i.parent=r),i})}function et(e){return $(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return N(t.name)||(r.name=t.name),N(n)||(r.value=n),r})}let l={},g={},R={};const nt=()=>{g={},R={},l={}},B=(e,t)=>(s.trace("In isDescendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),it=(e,t)=>(s.info("Descendants of ",t," is ",g[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||B(e.v,t)||B(e.w,t)||g[t].includes(e.w):(s.debug("Tilt, ",t,",not in descendants"),!1)),P=(e,t,n,r)=>{s.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const i=t.children(e)||[];e!==r&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)P(a,t,n,r);else{const d=t.node(a);s.info("cp ",a," to ",r," with parent ",e),n.setNode(a,d),r!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",r,"data",t.node(e),r),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const u=t.edges(a);s.debug("Copying Edges",u),u.forEach(f=>{s.info("Edge",f);const h=t.edge(f.v,f.w,f.name);s.info("Edge data",h,r);try{it(f,r)?(s.info("Copying as ",f.v,f.w,h,f.name),n.setEdge(f.v,f.w,h,f.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",f.v,"-->",f.w," rootId: ",r," clusterId:",e)}catch(w){s.error(w)}})}s.debug("Removing node",a),t.removeNode(a)})},k=(e,t)=>{const n=t.children(e);let r=[...n];for(const i of n)R[i]=e,r=[...r,...k(i,t)];return r},C=(e,t)=>{s.trace("Searching",e);const n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(const r of n){const i=C(r,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},X=e=>!l[e]||!l[e].externalConnections?e:l[e]?l[e].id:e,st=(e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),g[n]=k(n,e),l[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),i=e.edges();r.length>0?(s.debug("Cluster identified",n,g),i.forEach(a=>{if(a.v!==n&&a.w!==n){const d=B(a.v,n),u=B(a.w,n);d^u&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",g[n]),l[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,g)});for(let n of Object.keys(l)){const r=l[n].id,i=e.parent(r);i!==n&&l[i]&&!l[i].externalConnections&&(l[n].id=i)}e.edges().forEach(function(n){const r=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",l,"ids:",n.v,n.w,"Translating: ",l[n.v]," --- ",l[n.w]),l[n.v]&&l[n.w]&&l[n.v]===l[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name);const d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const u=structuredClone(r),f=structuredClone(r);u.label="",u.arrowTypeEnd="none",f.label="",u.fromCluster=n.v,f.toCluster=n.v,e.setEdge(i,d,u,n.name+"-cyclic-special"),e.setEdge(d,a,f,n.name+"-cyclic-special")}else if(l[n.v]||l[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const d=e.parent(i);l[d].externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){const d=e.parent(a);l[d].externalConnections=!0,r.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,r,n.name)}}),s.warn("Adjusted Graph",m(e)),F(e,0),s.trace(l)},F=(e,t)=>{if(s.warn("extractor - ",t,m(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),r=!1;for(const i of n){const a=e.children(i);r=r||a.length>0}if(!r){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(const i of n)if(s.debug("Extracting node",i,l,l[i]&&!l[i].externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!l[i])s.debug("Not a cluster",i,t);else if(!l[i].externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,t);let d=e.graph().rankdir==="TB"?"LR":"TB";l[i]&&l[i].clusterData&&l[i].clusterData.dir&&(d=l[i].clusterData.dir,s.warn("Fixing dir",l[i].clusterData.dir,d));const u=new A({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",m(e)),P(i,e,u,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:l[i].clusterData,labelText:l[i].labelText,graph:u}),s.warn("New graph after copy node: (",i,")",m(u)),s.debug("Old graph after copy",m(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!l[i].externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),s.debug(l);n=e.nodes(),s.warn("New list of nodes",n);for(const i of n){const a=e.node(i);s.warn(" Now next level",i,a),a.clusterNode&&F(a.graph,t+1)}},G=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const i=e.children(r),a=G(e,i);n=[...n,...a]}),n},rt=e=>G(e,e.children()),at=(e,t)=>{s.info("Creating subgraph rect for ",t.id,t);const n=T(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),a=S(n.flowchart.htmlLabels),d=r.insert("g").attr("class","cluster-label"),u=t.labelType==="markdown"?I(d,t.labelText,{style:t.labelStyle,useHtmlLabels:a}):d.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}const h=0*t.padding,w=h/2,x=t.width<=f.width+h?f.width+h:t.width;t.width<=f.width+h?t.diff=(f.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-x/2).attr("y",t.y-t.height/2-w).attr("width",x).attr("height",t.height+h);const{subGraphTitleTopMargin:v}=D(n);a?d.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2+v})`):d.attr("transform",`translate(${t.x}, ${t.y-t.height/2+v})`);const y=i.node().getBBox();return t.width=y.width,t.height=y.height,t.intersect=function(c){return p(t,c)},r},ct=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(u){return p(t,u)},n},ot=(e,t)=>{const n=T(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),a=r.insert("g").attr("class","cluster-label"),d=r.append("rect"),u=a.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}f=u.getBBox();const h=0*t.padding,w=h/2,x=t.width<=f.width+t.padding?f.width+t.padding:t.width;t.width<=f.width+t.padding?t.diff=(f.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-x/2-w).attr("y",t.y-t.height/2-w).attr("width",x+h).attr("height",t.height+h),d.attr("class","inner").attr("x",t.x-x/2-w).attr("y",t.y-t.height/2-w+f.height-1).attr("width",x+h).attr("height",t.height+h-f.height-3);const{subGraphTitleTopMargin:v}=D(n);a.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2-t.padding/3+(S(n.flowchart.htmlLabels)?5:3)+v})`);const y=i.node().getBBox();return t.height=y.height,t.intersect=function(c){return p(t,c)},r},lt=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(u){return p(t,u)},n},ft={rect:at,roundedWithTitle:ot,noteGroup:ct,divider:lt};let j={};const dt=(e,t)=>{s.trace("Inserting cluster");const n=t.shape||"rect";j[t.id]=ft[n](e,t)},ut=()=>{j={}},M=async(e,t,n,r,i,a)=>{s.info("Graph in recursive render: XXX",m(t),i);const d=t.graph().rankdir;s.trace("Dir in recursive render - dir:",d);const u=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));const f=u.insert("g").attr("class","clusters"),h=u.insert("g").attr("class","edgePaths"),w=u.insert("g").attr("class","edgeLabels"),x=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){const o=t.node(c);if(i!==void 0){const b=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",b,i),t.setNode(i.id,b),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,b))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));const b=await M(x,o.graph,n,r,t.node(c),a),E=b.elem;U(o,E),o.diff=b.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),W(E,o),s.warn("Recursive render complete ",E,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(C(o.id,t)),l[o.id]={id:C(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await _(x,t.node(c),d))})),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",l,"ids:",c.v,c.w,"Translating: ",l[c.v],l[c.w]),z(w,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),q(t),s.info("Graph after layout:",m(t));let v=0;const{subGraphTitleTotalMargin:y}=D(a);return rt(t).forEach(function(c){const o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?(o.y+=y,O(o)):t.children(c).length>0?(o.height+=y,dt(f,o),l[o.id].node=o):(o.y+=y/2,O(o))}),t.edges().forEach(function(c){const o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=y/2);const b=K(h,c,o,l,n,t,r);Q(o,b)}),t.nodes().forEach(function(c){const o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:u,diff:v}},bt=async(e,t,n,r,i)=>{V(e,n,r,i),Y(),Z(),ut(),nt(),s.warn("Graph at first:",JSON.stringify(m(t))),st(t),s.warn("Graph after:",JSON.stringify(m(t)));const a=T();await M(e,t,r,i,void 0,a)};export{bt as r}; diff --git a/assets/chunks/infoDiagram-94cd232f.JmpHCYP9.js b/assets/chunks/infoDiagram-94cd232f.JmpHCYP9.js new file mode 100644 index 000000000..5539ba085 --- /dev/null +++ b/assets/chunks/infoDiagram-94cd232f.JmpHCYP9.js @@ -0,0 +1,7 @@ +import{l as Y,aH as D,i as M}from"../app.BKabOgys.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";var O=function(){var a=function(u,t,e,n){for(e=e||{},n=u.length;n--;e[u[n]]=t);return e},f=[6,9,10],m={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,s,r,i,d){switch(i.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},a(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},a(f,[2,3]),a(f,[2,4]),a(f,[2,5]),a(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],s=[],r=[null],i=[],d=this.table,P="",v=0,L=0,N=2,T=1,R=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(p.yy[E]=this.yy[E]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;i.push(I);var z=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var y;return y=s.pop()||o.lex()||T,typeof y!="number"&&(y instanceof Array&&(s=y,y=s.pop()),y=e.symbols_[y]||y),y}for(var l,g,h,w,_={},b,c,F,S;;){if(g=n[n.length-1],this.defaultActions[g]?h=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),h=d[g]&&d[g][l]),typeof h>"u"||!h.length||!h[0]){var A="";S=[];for(b in d[g])this.terminals_[b]&&b>N&&S.push("'"+this.terminals_[b]+"'");o.showPosition?A="Parse error on line "+(v+1)+`: +`+o.showPosition()+` +Expecting `+S.join(", ")+", got '"+(this.terminals_[l]||l)+"'":A="Parse error on line "+(v+1)+": Unexpected "+(l==T?"end of input":"'"+(this.terminals_[l]||l)+"'"),this.parseError(A,{text:o.match,token:this.terminals_[l]||l,line:o.yylineno,loc:I,expected:S})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+l);switch(h[0]){case 1:n.push(l),r.push(o.yytext),i.push(o.yylloc),n.push(h[1]),l=null,L=o.yyleng,P=o.yytext,v=o.yylineno,I=o.yylloc;break;case 2:if(c=this.productions_[h[1]][1],_.$=r[r.length-c],_._$={first_line:i[i.length-(c||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(c||1)].first_column,last_column:i[i.length-1].last_column},z&&(_._$.range=[i[i.length-(c||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(_,[P,L,v,p.yy,h[1],r,i].concat(R)),typeof w<"u")return w;c&&(n=n.slice(0,-1*c*2),r=r.slice(0,-1*c),i=i.slice(0,-1*c)),n.push(this.productions_[h[1]][0]),r.push(_.$),i.push(_._$),F=d[n[n.length-2]][n[n.length-1]],n.push(F);break;case 3:return!0}}return!0}},k=function(){var u={EOF:1,parseError:function(e,n){if(this.yy.parser)this.yy.parser.parseError(e,n);else throw new Error(e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+` +`+e+"^"},test_match:function(t,e){var n,s,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),s=t[0].match(/(?:\r\n?|\n).*/g),s&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,s;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;ie[0].length)){if(e=n,s=i,this.options.backtrack_lexer){if(t=this.test_match(n,r[i]),t!==!1)return t;if(this._backtrack){e=!1;continue}else return!1}else if(!this.options.flex)break}return e?(t=this.test_match(e,r[s]),t!==!1?t:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,n,s,r){switch(s){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return u}();m.lexer=k;function x(){this.yy={}}return x.prototype=m,m.Parser=x,new x}();O.parser=O;const B=O,j={info:!1};let $=j.info;const H=a=>{$=a},V=()=>$,X=()=>{$=j.info},q={clear:X,setInfo:H,getInfo:V},C=(a,f,m)=>{Y.debug(`rendering info diagram +`+a);const k=D(f);M(k,100,400,!0),k.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${m}`)},G={draw:C},W={parser:B,db:q,renderer:G};export{W as diagram}; diff --git a/assets/chunks/init.Gi6I4Gst.js b/assets/chunks/init.Gi6I4Gst.js new file mode 100644 index 000000000..d44de9416 --- /dev/null +++ b/assets/chunks/init.Gi6I4Gst.js @@ -0,0 +1 @@ +function t(e,a){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(a).domain(e);break}return this}export{t as i}; diff --git a/assets/chunks/journeyDiagram-6625b456.DTGNa8mU.js b/assets/chunks/journeyDiagram-6625b456.DTGNa8mU.js new file mode 100644 index 000000000..fdef23b99 --- /dev/null +++ b/assets/chunks/journeyDiagram-6625b456.DTGNa8mU.js @@ -0,0 +1,139 @@ +import{c as A,x as yt,y as ft,s as dt,g as pt,b as gt,a as mt,A as xt,h as W,i as kt}from"../app.BKabOgys.js";import{d as _t,f as bt,a as vt,g as it}from"./svgDrawCommon-5e1cfd1d.IQKLCKK_.js";import{a as Q}from"./arc.BxUBBXCP.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./path.CbwjOpE9.js";var G=function(){var t=function(p,s,r,a){for(r=r||{},a=p.length;a--;r[p[a]]=s);return r},e=[6,8,10,11,12,14,16,17,18],i=[1,9],l=[1,10],n=[1,11],h=[1,12],c=[1,13],f=[1,14],y={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(s,r,a,u,d,o,w){var k=o.length-1;switch(d){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 13:u.addTask(o[k-1],o[k]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:function(s,r){if(r.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=r,a}},parse:function(s){var r=this,a=[0],u=[],d=[null],o=[],w=this.table,k="",R=0,Z=0,lt=2,J=1,ct=o.slice.call(arguments,1),x=Object.create(this.lexer),S={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(S.yy[z]=this.yy[z]);x.setInput(s,S.yy),S.yy.lexer=x,S.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var Y=x.yylloc;o.push(Y);var ht=x.options&&x.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ut(){var T;return T=u.pop()||x.lex()||J,typeof T!="number"&&(T instanceof Array&&(u=T,T=u.pop()),T=r.symbols_[T]||T),T}for(var _,E,b,O,I={},N,$,K,B;;){if(E=a[a.length-1],this.defaultActions[E]?b=this.defaultActions[E]:((_===null||typeof _>"u")&&(_=ut()),b=w[E]&&w[E][_]),typeof b>"u"||!b.length||!b[0]){var q="";B=[];for(N in w[E])this.terminals_[N]&&N>lt&&B.push("'"+this.terminals_[N]+"'");x.showPosition?q="Parse error on line "+(R+1)+`: +`+x.showPosition()+` +Expecting `+B.join(", ")+", got '"+(this.terminals_[_]||_)+"'":q="Parse error on line "+(R+1)+": Unexpected "+(_==J?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(q,{text:x.match,token:this.terminals_[_]||_,line:x.yylineno,loc:Y,expected:B})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+_);switch(b[0]){case 1:a.push(_),d.push(x.yytext),o.push(x.yylloc),a.push(b[1]),_=null,Z=x.yyleng,k=x.yytext,R=x.yylineno,Y=x.yylloc;break;case 2:if($=this.productions_[b[1]][1],I.$=d[d.length-$],I._$={first_line:o[o.length-($||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-($||1)].first_column,last_column:o[o.length-1].last_column},ht&&(I._$.range=[o[o.length-($||1)].range[0],o[o.length-1].range[1]]),O=this.performAction.apply(I,[k,Z,R,S.yy,b[1],d,o].concat(ct)),typeof O<"u")return O;$&&(a=a.slice(0,-1*$*2),d=d.slice(0,-1*$),o=o.slice(0,-1*$)),a.push(this.productions_[b[1]][0]),d.push(I.$),o.push(I._$),K=w[a[a.length-2]][a[a.length-1]],a.push(K);break;case 3:return!0}}return!0}},m=function(){var p={EOF:1,parseError:function(r,a){if(this.yy.parser)this.yy.parser.parseError(r,a);else throw new Error(r)},setInput:function(s,r){return this.yy=r||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var r=s.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},unput:function(s){var r=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===u.length?this.yylloc.first_column:0)+u[u.length-a.length].length-a[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(s){this.unput(this.match.slice(s))},pastInput:function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var s=this.pastInput(),r=new Array(s.length+1).join("-");return s+this.upcomingInput()+` +`+r+"^"},test_match:function(s,r){var a,u,d;if(this.options.backtrack_lexer&&(d={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(d.yylloc.range=this.yylloc.range.slice(0))),u=s[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+s[0].length},this.yytext+=s[0],this.match+=s[0],this.matches=s,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(s[0].length),this.matched+=s[0],a=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack){for(var o in d)this[o]=d[o];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var s,r,a,u;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),o=0;or[0].length)){if(r=a,u=o,this.options.backtrack_lexer){if(s=this.test_match(a,d[o]),s!==!1)return s;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(s=this.test_match(r,d[u]),s!==!1?s:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){var r=this.conditionStack.length-1;return r>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(r){return r=this.conditionStack.length-1-Math.abs(r||0),r>=0?this.conditionStack[r]:"INITIAL"},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(r,a,u,d){switch(u){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return p}();y.lexer=m;function g(){this.yy={}}return g.prototype=y,y.Parser=g,new g}();G.parser=G;const wt=G;let C="";const H=[],V=[],F=[],$t=function(){H.length=0,V.length=0,C="",F.length=0,xt()},Tt=function(t){C=t,H.push(t)},Mt=function(){return H},St=function(){let t=D();const e=100;let i=0;for(;!t&&i{i.people&&t.push(...i.people)}),[...new Set(t)].sort()},Pt=function(t,e){const i=e.substr(1).split(":");let l=0,n=[];i.length===1?(l=Number(i[0]),n=[]):(l=Number(i[0]),n=i[1].split(","));const h=n.map(f=>f.trim()),c={section:C,type:C,people:h,task:t,score:l};F.push(c)},At=function(t){const e={section:C,type:C,description:t,task:t,classes:[]};V.push(e)},D=function(){const t=function(i){return F[i].processed};let e=!0;for(const[i,l]of F.entries())t(i),e=e&&l.processed;return e},It=function(){return Et()},tt={getConfig:()=>A().journey,clear:$t,setDiagramTitle:yt,getDiagramTitle:ft,setAccTitle:dt,getAccTitle:pt,setAccDescription:gt,getAccDescription:mt,addSection:Tt,getSections:Mt,getTasks:St,addTask:Pt,addTaskOrg:At,getActors:It},Ct=t=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0?`fill: ${t.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${t.fillType0?`fill: ${t.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${t.fillType0?`fill: ${t.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${t.fillType0?`fill: ${t.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${t.fillType0?`fill: ${t.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${t.fillType0?`fill: ${t.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${t.fillType0?`fill: ${t.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${t.fillType0?`fill: ${t.fillType7}`:""}; + } + + .actor-0 { + ${t.actor0?`fill: ${t.actor0}`:""}; + } + .actor-1 { + ${t.actor1?`fill: ${t.actor1}`:""}; + } + .actor-2 { + ${t.actor2?`fill: ${t.actor2}`:""}; + } + .actor-3 { + ${t.actor3?`fill: ${t.actor3}`:""}; + } + .actor-4 { + ${t.actor4?`fill: ${t.actor4}`:""}; + } + .actor-5 { + ${t.actor5?`fill: ${t.actor5}`:""}; + } +`,Vt=Ct,U=function(t,e){return _t(t,e)},Ft=function(t,e){const l=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");n.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function h(y){const m=Q().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function c(y){const m=Q().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function f(y){y.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return e.score>3?h(n):e.score<3?c(n):f(n),l},rt=function(t,e){const i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),i.class!==void 0&&i.attr("class",i.class),e.title!==void 0&&i.append("title").text(e.title),i},at=function(t,e){return bt(t,e)},Lt=function(t,e){function i(n,h,c,f,y){return n+","+h+" "+(n+c)+","+h+" "+(n+c)+","+(h+f-y)+" "+(n+c-y*1.2)+","+(h+f)+" "+n+","+(h+f)}const l=t.append("polygon");l.attr("points",i(e.x,e.y,50,20,7)),l.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,at(t,e)},Rt=function(t,e,i){const l=t.append("g"),n=it();n.x=e.x,n.y=e.y,n.fill=e.fill,n.width=i.width*e.taskCount+i.diagramMarginX*(e.taskCount-1),n.height=i.height,n.class="journey-section section-type-"+e.num,n.rx=3,n.ry=3,U(l,n),ot(i)(e.text,l,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+e.num},i,e.colour)};let et=-1;const Nt=function(t,e,i){const l=e.x+i.width/2,n=t.append("g");et++;const h=300+5*30;n.append("line").attr("id","task"+et).attr("x1",l).attr("y1",e.y).attr("x2",l).attr("y2",h).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Ft(n,{cx:l,cy:300+(5-e.score)*30,score:e.score});const c=it();c.x=e.x,c.y=e.y,c.fill=e.fill,c.width=i.width,c.height=i.height,c.class="task task-type-"+e.num,c.rx=3,c.ry=3,U(n,c);let f=e.x+14;e.people.forEach(y=>{const m=e.actors[y].color,g={cx:f,cy:e.y,r:7,fill:m,stroke:"#000",title:y,pos:e.actors[y].position};rt(n,g),f+=10}),ot(i)(e.task,n,c.x,c.y,c.width,c.height,{class:"task"},i,e.colour)},Bt=function(t,e){vt(t,e)},ot=function(){function t(n,h,c,f,y,m,g,p){const s=h.append("text").attr("x",c+y/2).attr("y",f+m/2+5).style("font-color",p).style("text-anchor","middle").text(n);l(s,g)}function e(n,h,c,f,y,m,g,p,s){const{taskFontSize:r,taskFontFamily:a}=p,u=n.split(//gi);for(let d=0;d{const n=M[l].color,h={cx:20,cy:i,r:7,fill:n,stroke:"#000",pos:M[l].position};L.drawCircle(t,h);const c={x:40,y:i+7,fill:"#666",text:l,textMargin:e.boxTextMargin|5};L.drawText(t,c),i+=20})}const j=A().journey,P=j.leftMargin,Ot=function(t,e,i,l){const n=A().journey,h=A().securityLevel;let c;h==="sandbox"&&(c=W("#i"+e));const f=h==="sandbox"?W(c.nodes()[0].contentDocument.body):W("body");v.init();const y=f.select("#"+e);L.initGraphics(y);const m=l.db.getTasks(),g=l.db.getDiagramTitle(),p=l.db.getActors();for(const o in M)delete M[o];let s=0;p.forEach(o=>{M[o]={color:n.actorColours[s%n.actorColours.length],position:s},s++}),Yt(y),v.insert(0,0,P,Object.keys(M).length*50),qt(y,m,0);const r=v.getBounds();g&&y.append("text").text(g).attr("x",P).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const a=r.stopy-r.starty+2*n.diagramMarginY,u=P+r.stopx+2*n.diagramMarginX;kt(y,a,u,n.useMaxWidth),y.append("line").attr("x1",P).attr("y1",n.height*4).attr("x2",u-P-4).attr("y2",n.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const d=g?70:0;y.attr("viewBox",`${r.startx} -25 ${u} ${a+d}`),y.attr("preserveAspectRatio","xMinYMin meet"),y.attr("height",a+d+25)},v={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,i,l){t[e]===void 0?t[e]=i:t[e]=l(i,t[e])},updateBounds:function(t,e,i,l){const n=A().journey,h=this;let c=0;function f(y){return function(g){c++;const p=h.sequenceItems.length-c+1;h.updateVal(g,"starty",e-p*n.boxMargin,Math.min),h.updateVal(g,"stopy",l+p*n.boxMargin,Math.max),h.updateVal(v.data,"startx",t-p*n.boxMargin,Math.min),h.updateVal(v.data,"stopx",i+p*n.boxMargin,Math.max),h.updateVal(g,"startx",t-p*n.boxMargin,Math.min),h.updateVal(g,"stopx",i+p*n.boxMargin,Math.max),h.updateVal(v.data,"starty",e-p*n.boxMargin,Math.min),h.updateVal(v.data,"stopy",l+p*n.boxMargin,Math.max)}}this.sequenceItems.forEach(f())},insert:function(t,e,i,l){const n=Math.min(t,i),h=Math.max(t,i),c=Math.min(e,l),f=Math.max(e,l);this.updateVal(v.data,"startx",n,Math.min),this.updateVal(v.data,"starty",c,Math.min),this.updateVal(v.data,"stopx",h,Math.max),this.updateVal(v.data,"stopy",f,Math.max),this.updateBounds(n,c,h,f)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},X=j.sectionFills,st=j.sectionColours,qt=function(t,e,i){const l=A().journey;let n="";const h=l.height*2+l.diagramMarginY,c=i+h;let f=0,y="#CCC",m="black",g=0;for(const[p,s]of e.entries()){if(n!==s.section){y=X[f%X.length],g=f%X.length,m=st[f%st.length];let a=0;const u=s.section;for(let o=p;o(M[u]&&(a[u]=M[u]),a),{});s.x=p*l.taskMargin+p*l.width+P,s.y=c,s.width=l.diagramMarginX,s.height=l.diagramMarginY,s.colour=m,s.fill=y,s.num=g,s.actors=r,L.drawTask(t,s,l),v.insert(s.x,s.y,s.x+s.width+l.taskMargin,300+5*30)}},nt={setConf:zt,draw:Ot},Jt={parser:wt,db:tt,renderer:nt,styles:Vt,init:t=>{nt.setConf(t.journey),tt.clear()}};export{Jt as diagram}; diff --git a/assets/chunks/katex.CvgdMzdh.js b/assets/chunks/katex.CvgdMzdh.js new file mode 100644 index 000000000..b7fdcb9e7 --- /dev/null +++ b/assets/chunks/katex.CvgdMzdh.js @@ -0,0 +1,261 @@ +class u0{constructor(e,t,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=a}static range(e,t){return t?!e||!e.loc||!t.loc||e.loc.lexer!==t.loc.lexer?null:new u0(e.loc.lexer,e.loc.start,t.loc.end):e&&e.loc}}class f0{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new f0(t,u0.range(this,e))}}class M{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var a="KaTeX parse error: "+e,n,s,o=t&&t.loc;if(o&&o.start<=o.end){var h=o.lexer.input;n=o.start,s=o.end,n===h.length?a+=" at end of input: ":a+=" at position "+(n+1)+": ";var c=h.slice(n,s).replace(/[^]/g,"$&̲"),p;n>15?p="…"+h.slice(n-15,n):p=h.slice(0,n);var g;s+15":">","<":"<",'"':""","'":"'"},ba=/[&><"']/g;function ya(r){return String(r).replace(ba,e=>ga[e])}var pr=function r(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?r(e.body[0]):e:e.type==="font"?r(e.body):e},xa=function(e){var t=pr(e);return t.type==="mathord"||t.type==="textord"||t.type==="atom"},wa=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},ka=function(e){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},q={contains:da,deflt:fa,escape:ya,hyphenate:va,getBaseElem:pr,isCharacterBox:xa,protocolFromUrl:ka},ze={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:r=>"#"+r},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(r,e)=>(e.push(r),e)},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:r=>Math.max(0,r),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:r=>Math.max(0,r),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:r=>Math.max(0,r),cli:"-e, --max-expand ",cliProcessor:r=>r==="Infinity"?1/0:parseInt(r)},globalGroup:{type:"boolean",cli:!1}};function Sa(r){if(r.default)return r.default;var e=r.type,t=Array.isArray(e)?e[0]:e;if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class ct{constructor(e){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||{};for(var t in ze)if(ze.hasOwnProperty(t)){var a=ze[t];this[t]=e[t]!==void 0?a.processor?a.processor(e[t]):e[t]:Sa(a)}}reportNonstrict(e,t,a){var n=this.strict;if(typeof n=="function"&&(n=n(e,t,a)),!(!n||n==="ignore")){if(n===!0||n==="error")throw new M("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),a);n==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,a){var n=this.strict;if(typeof n=="function")try{n=n(e,t,a)}catch{n="error"}return!n||n==="ignore"?!1:n===!0||n==="error"?!0:n==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var t=q.protocolFromUrl(e.url);if(t==null)return!1;e.protocol=t}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}}class O0{constructor(e,t,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=a}sup(){return y0[Ma[this.id]]}sub(){return y0[za[this.id]]}fracNum(){return y0[Aa[this.id]]}fracDen(){return y0[Ta[this.id]]}cramp(){return y0[Ba[this.id]]}text(){return y0[Da[this.id]]}isTight(){return this.size>=2}}var dt=0,Te=1,_0=2,T0=3,le=4,d0=5,ee=6,n0=7,y0=[new O0(dt,0,!1),new O0(Te,0,!0),new O0(_0,1,!1),new O0(T0,1,!0),new O0(le,2,!1),new O0(d0,2,!0),new O0(ee,3,!1),new O0(n0,3,!0)],Ma=[le,d0,le,d0,ee,n0,ee,n0],za=[d0,d0,d0,d0,n0,n0,n0,n0],Aa=[_0,T0,le,d0,ee,n0,ee,n0],Ta=[T0,T0,d0,d0,n0,n0,n0,n0],Ba=[Te,Te,T0,T0,d0,d0,n0,n0],Da=[dt,Te,_0,T0,_0,T0,_0,T0],R={DISPLAY:y0[dt],TEXT:y0[_0],SCRIPT:y0[le],SCRIPTSCRIPT:y0[ee]},at=[{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]]}];function Ca(r){for(var e=0;e=n[0]&&r<=n[1])return t.name}return null}var Ae=[];at.forEach(r=>r.blocks.forEach(e=>Ae.push(...e)));function vr(r){for(var e=0;e=Ae[e]&&r<=Ae[e+1])return!0;return!1}var Q0=80,Na=function(e,t){return"M95,"+(622+e+t)+` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.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 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+e/2.075+" -"+e+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+e)+`H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M`+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},qa=function(e,t){return"M263,"+(601+e+t)+`c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l`+e/2.084+" -"+e+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+e)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Ea=function(e,t){return"M983 "+(10+e+t)+` +l`+e/3.13+" -"+e+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Ra=function(e,t){return"M424,"+(2398+e+t)+` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-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 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+e)+`H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+t+` +h400000v`+(40+e)+"h-400000z"},Ia=function(e,t){return"M473,"+(2713+e+t)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-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 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM`+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"},Oa=function(e){var t=e/2;return"M400000 "+e+" H0 L"+t+" 0 l65 45 L145 "+(e-80)+" H400000z"},Fa=function(e,t,a){var n=a-54-t-e;return"M702 "+(e+t)+"H400000"+(40+e)+` +H742v`+n+`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 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 `+t+"H400000v"+(40+e)+"H742z"},Ha=function(e,t,a){t=1e3*t;var n="";switch(e){case"sqrtMain":n=Na(t,Q0);break;case"sqrtSize1":n=qa(t,Q0);break;case"sqrtSize2":n=Ea(t,Q0);break;case"sqrtSize3":n=Ra(t,Q0);break;case"sqrtSize4":n=Ia(t,Q0);break;case"sqrtTall":n=Fa(t,Q0,a)}return n},La=function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z"+("M367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z");case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257z"+("M478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z");default:return""}},It={doubleleftarrow:`M262 157 +l10-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 + 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 + 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 +c2 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 + 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 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-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 + 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 +-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 +-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 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-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 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 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 +-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 +c-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 + 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 + 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 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 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 + 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 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 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 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-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 +-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 +-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 + 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 +-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 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 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 +-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 + 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 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-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 +-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 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 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-70-101l-7-8h399905v-40H95l7-8 +c28.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 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-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 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 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 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.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 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 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 +-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 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.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 +60.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 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 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 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.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 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 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 +-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 + 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 + 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 +-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 +-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 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-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 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.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 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-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 + 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 + 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 +-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 +-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 + 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 +-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 + 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 +m0 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 + 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 +-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 +-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 + 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 + 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 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-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 + 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 +-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 + 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 +M399960 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 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-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 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 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 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 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 +c-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 + 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 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 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 +-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 + 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 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-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 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 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 + 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 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -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 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-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 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-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 +-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 +-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 +-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, +-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, +-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, +-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, +-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 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-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 +s-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 +121.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 +s2.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 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-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 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 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-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 +-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 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,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 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-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 +c-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 +M0 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 +c1.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, +1c0,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, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 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 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-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 +c-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 +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Pa=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v1759 h347 v-84 +H403z 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 +M347 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 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-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 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z +M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-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 +MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v602 h84z +M403 1759 V0 H319 V1759 v`+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v602 h84z +M347 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 +c-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, +-36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.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 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-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, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+` +c-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 +c-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 +c0,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 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-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.")}};class ue{constructor(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={}}hasClass(e){return q.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;tt.toText();return this.children.map(e).join("")}}var x0={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},ve={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Ot={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function Ga(r,e){x0[r]=e}function ft(r,e,t){if(!x0[e])throw new Error("Font metrics not found for font: "+e+".");var a=r.charCodeAt(0),n=x0[e][a];if(!n&&r[0]in Ot&&(a=Ot[r[0]].charCodeAt(0),n=x0[e][a]),!n&&t==="text"&&vr(a)&&(n=x0[e][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var Ue={};function Va(r){var e;if(r>=5?e=0:r>=3?e=1:e=2,!Ue[e]){var t=Ue[e]={cssEmPerMu:ve.quad[e]/18};for(var a in ve)ve.hasOwnProperty(a)&&(t[a]=ve[a][e])}return Ue[e]}var Ua=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Ft=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Ht=function(e,t){return t.size<2?e:Ua[e-1][t.size-1]};class A0{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||A0.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=Ft[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var a in e)e.hasOwnProperty(a)&&(t[a]=e[a]);return new A0(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:Ht(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Ft[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=Ht(A0.BASESIZE,e);return this.size===t&&this.textSize===A0.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==A0.BASESIZE?["sizing","reset-size"+this.size,"size"+A0.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Va(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}A0.BASESIZE=6;var nt={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},Ya={ex:!0,em:!0,mu:!0},gr=function(e){return typeof e!="string"&&(e=e.unit),e in nt||e in Ya||e==="ex"},K=function(e,t){var a;if(e.unit in nt)a=nt[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")a=t.fontMetrics().cssEmPerMu;else{var n;if(t.style.isTight()?n=t.havingStyle(t.style.text()):n=t,e.unit==="ex")a=n.fontMetrics().xHeight;else if(e.unit==="em")a=n.fontMetrics().quad;else throw new M("Invalid unit: '"+e.unit+"'");n!==t&&(a*=n.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*a,t.maxSize)},A=function(e){return+e.toFixed(4)+"em"},L0=function(e){return e.filter(t=>t).join(" ")},br=function(e,t,a){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},t){t.style.isTight()&&this.classes.push("mtight");var n=t.getColor();n&&(this.style.color=n)}},yr=function(e){var t=document.createElement(e);t.className=L0(this.classes);for(var a in this.style)this.style.hasOwnProperty(a)&&(t.style[a]=this.style[a]);for(var n in this.attributes)this.attributes.hasOwnProperty(n)&&t.setAttribute(n,this.attributes[n]);for(var s=0;s",t};class he{constructor(e,t,a,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,br.call(this,e,a,n),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return q.contains(this.classes,e)}toNode(){return yr.call(this,"span")}toMarkup(){return xr.call(this,"span")}}class pt{constructor(e,t,a,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,br.call(this,t,n),this.children=a||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return q.contains(this.classes,e)}toNode(){return yr.call(this,"a")}toMarkup(){return xr.call(this,"a")}}class Xa{constructor(e,t,a){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=a}hasClass(e){return q.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e=''+q.escape(this.alt)+'0&&(t=document.createElement("span"),t.style.marginRight=A(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=L0(this.classes));for(var a in this.style)this.style.hasOwnProperty(a)&&(t=t||document.createElement("span"),t.style[a]=this.style[a]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="0&&(a+="margin-right:"+this.italic+"em;");for(var n in this.style)this.style.hasOwnProperty(n)&&(a+=q.hyphenate(n)+":"+this.style[n]+";");a&&(e=!0,t+=' style="'+q.escape(a)+'"');var s=q.escape(this.text);return e?(t+=">",t+=s,t+="",t):s}}class D0{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);for(var n=0;n':''}}class it{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);return t}toMarkup(){var e=" but got "+String(r)+".")}var ja={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Za={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},$={math:{},text:{}};function i(r,e,t,a,n,s){$[r][n]={font:e,group:t,replace:a},s&&a&&($[r][a]=$[r][n])}var l="math",k="text",u="main",d="ams",W="accent-token",D="bin",i0="close",te="inner",E="mathord",_="op-token",h0="open",qe="punct",f="rel",q0="spacing",v="textord";i(l,u,f,"≡","\\equiv",!0);i(l,u,f,"≺","\\prec",!0);i(l,u,f,"≻","\\succ",!0);i(l,u,f,"∼","\\sim",!0);i(l,u,f,"⊥","\\perp");i(l,u,f,"⪯","\\preceq",!0);i(l,u,f,"⪰","\\succeq",!0);i(l,u,f,"≃","\\simeq",!0);i(l,u,f,"∣","\\mid",!0);i(l,u,f,"≪","\\ll",!0);i(l,u,f,"≫","\\gg",!0);i(l,u,f,"≍","\\asymp",!0);i(l,u,f,"∥","\\parallel");i(l,u,f,"⋈","\\bowtie",!0);i(l,u,f,"⌣","\\smile",!0);i(l,u,f,"⊑","\\sqsubseteq",!0);i(l,u,f,"⊒","\\sqsupseteq",!0);i(l,u,f,"≐","\\doteq",!0);i(l,u,f,"⌢","\\frown",!0);i(l,u,f,"∋","\\ni",!0);i(l,u,f,"∝","\\propto",!0);i(l,u,f,"⊢","\\vdash",!0);i(l,u,f,"⊣","\\dashv",!0);i(l,u,f,"∋","\\owns");i(l,u,qe,".","\\ldotp");i(l,u,qe,"⋅","\\cdotp");i(l,u,v,"#","\\#");i(k,u,v,"#","\\#");i(l,u,v,"&","\\&");i(k,u,v,"&","\\&");i(l,u,v,"ℵ","\\aleph",!0);i(l,u,v,"∀","\\forall",!0);i(l,u,v,"ℏ","\\hbar",!0);i(l,u,v,"∃","\\exists",!0);i(l,u,v,"∇","\\nabla",!0);i(l,u,v,"♭","\\flat",!0);i(l,u,v,"ℓ","\\ell",!0);i(l,u,v,"♮","\\natural",!0);i(l,u,v,"♣","\\clubsuit",!0);i(l,u,v,"℘","\\wp",!0);i(l,u,v,"♯","\\sharp",!0);i(l,u,v,"♢","\\diamondsuit",!0);i(l,u,v,"ℜ","\\Re",!0);i(l,u,v,"♡","\\heartsuit",!0);i(l,u,v,"ℑ","\\Im",!0);i(l,u,v,"♠","\\spadesuit",!0);i(l,u,v,"§","\\S",!0);i(k,u,v,"§","\\S");i(l,u,v,"¶","\\P",!0);i(k,u,v,"¶","\\P");i(l,u,v,"†","\\dag");i(k,u,v,"†","\\dag");i(k,u,v,"†","\\textdagger");i(l,u,v,"‡","\\ddag");i(k,u,v,"‡","\\ddag");i(k,u,v,"‡","\\textdaggerdbl");i(l,u,i0,"⎱","\\rmoustache",!0);i(l,u,h0,"⎰","\\lmoustache",!0);i(l,u,i0,"⟯","\\rgroup",!0);i(l,u,h0,"⟮","\\lgroup",!0);i(l,u,D,"∓","\\mp",!0);i(l,u,D,"⊖","\\ominus",!0);i(l,u,D,"⊎","\\uplus",!0);i(l,u,D,"⊓","\\sqcap",!0);i(l,u,D,"∗","\\ast");i(l,u,D,"⊔","\\sqcup",!0);i(l,u,D,"◯","\\bigcirc",!0);i(l,u,D,"∙","\\bullet",!0);i(l,u,D,"‡","\\ddagger");i(l,u,D,"≀","\\wr",!0);i(l,u,D,"⨿","\\amalg");i(l,u,D,"&","\\And");i(l,u,f,"⟵","\\longleftarrow",!0);i(l,u,f,"⇐","\\Leftarrow",!0);i(l,u,f,"⟸","\\Longleftarrow",!0);i(l,u,f,"⟶","\\longrightarrow",!0);i(l,u,f,"⇒","\\Rightarrow",!0);i(l,u,f,"⟹","\\Longrightarrow",!0);i(l,u,f,"↔","\\leftrightarrow",!0);i(l,u,f,"⟷","\\longleftrightarrow",!0);i(l,u,f,"⇔","\\Leftrightarrow",!0);i(l,u,f,"⟺","\\Longleftrightarrow",!0);i(l,u,f,"↦","\\mapsto",!0);i(l,u,f,"⟼","\\longmapsto",!0);i(l,u,f,"↗","\\nearrow",!0);i(l,u,f,"↩","\\hookleftarrow",!0);i(l,u,f,"↪","\\hookrightarrow",!0);i(l,u,f,"↘","\\searrow",!0);i(l,u,f,"↼","\\leftharpoonup",!0);i(l,u,f,"⇀","\\rightharpoonup",!0);i(l,u,f,"↙","\\swarrow",!0);i(l,u,f,"↽","\\leftharpoondown",!0);i(l,u,f,"⇁","\\rightharpoondown",!0);i(l,u,f,"↖","\\nwarrow",!0);i(l,u,f,"⇌","\\rightleftharpoons",!0);i(l,d,f,"≮","\\nless",!0);i(l,d,f,"","\\@nleqslant");i(l,d,f,"","\\@nleqq");i(l,d,f,"⪇","\\lneq",!0);i(l,d,f,"≨","\\lneqq",!0);i(l,d,f,"","\\@lvertneqq");i(l,d,f,"⋦","\\lnsim",!0);i(l,d,f,"⪉","\\lnapprox",!0);i(l,d,f,"⊀","\\nprec",!0);i(l,d,f,"⋠","\\npreceq",!0);i(l,d,f,"⋨","\\precnsim",!0);i(l,d,f,"⪹","\\precnapprox",!0);i(l,d,f,"≁","\\nsim",!0);i(l,d,f,"","\\@nshortmid");i(l,d,f,"∤","\\nmid",!0);i(l,d,f,"⊬","\\nvdash",!0);i(l,d,f,"⊭","\\nvDash",!0);i(l,d,f,"⋪","\\ntriangleleft");i(l,d,f,"⋬","\\ntrianglelefteq",!0);i(l,d,f,"⊊","\\subsetneq",!0);i(l,d,f,"","\\@varsubsetneq");i(l,d,f,"⫋","\\subsetneqq",!0);i(l,d,f,"","\\@varsubsetneqq");i(l,d,f,"≯","\\ngtr",!0);i(l,d,f,"","\\@ngeqslant");i(l,d,f,"","\\@ngeqq");i(l,d,f,"⪈","\\gneq",!0);i(l,d,f,"≩","\\gneqq",!0);i(l,d,f,"","\\@gvertneqq");i(l,d,f,"⋧","\\gnsim",!0);i(l,d,f,"⪊","\\gnapprox",!0);i(l,d,f,"⊁","\\nsucc",!0);i(l,d,f,"⋡","\\nsucceq",!0);i(l,d,f,"⋩","\\succnsim",!0);i(l,d,f,"⪺","\\succnapprox",!0);i(l,d,f,"≆","\\ncong",!0);i(l,d,f,"","\\@nshortparallel");i(l,d,f,"∦","\\nparallel",!0);i(l,d,f,"⊯","\\nVDash",!0);i(l,d,f,"⋫","\\ntriangleright");i(l,d,f,"⋭","\\ntrianglerighteq",!0);i(l,d,f,"","\\@nsupseteqq");i(l,d,f,"⊋","\\supsetneq",!0);i(l,d,f,"","\\@varsupsetneq");i(l,d,f,"⫌","\\supsetneqq",!0);i(l,d,f,"","\\@varsupsetneqq");i(l,d,f,"⊮","\\nVdash",!0);i(l,d,f,"⪵","\\precneqq",!0);i(l,d,f,"⪶","\\succneqq",!0);i(l,d,f,"","\\@nsubseteqq");i(l,d,D,"⊴","\\unlhd");i(l,d,D,"⊵","\\unrhd");i(l,d,f,"↚","\\nleftarrow",!0);i(l,d,f,"↛","\\nrightarrow",!0);i(l,d,f,"⇍","\\nLeftarrow",!0);i(l,d,f,"⇏","\\nRightarrow",!0);i(l,d,f,"↮","\\nleftrightarrow",!0);i(l,d,f,"⇎","\\nLeftrightarrow",!0);i(l,d,f,"△","\\vartriangle");i(l,d,v,"ℏ","\\hslash");i(l,d,v,"▽","\\triangledown");i(l,d,v,"◊","\\lozenge");i(l,d,v,"Ⓢ","\\circledS");i(l,d,v,"®","\\circledR");i(k,d,v,"®","\\circledR");i(l,d,v,"∡","\\measuredangle",!0);i(l,d,v,"∄","\\nexists");i(l,d,v,"℧","\\mho");i(l,d,v,"Ⅎ","\\Finv",!0);i(l,d,v,"⅁","\\Game",!0);i(l,d,v,"‵","\\backprime");i(l,d,v,"▲","\\blacktriangle");i(l,d,v,"▼","\\blacktriangledown");i(l,d,v,"■","\\blacksquare");i(l,d,v,"⧫","\\blacklozenge");i(l,d,v,"★","\\bigstar");i(l,d,v,"∢","\\sphericalangle",!0);i(l,d,v,"∁","\\complement",!0);i(l,d,v,"ð","\\eth",!0);i(k,u,v,"ð","ð");i(l,d,v,"╱","\\diagup");i(l,d,v,"╲","\\diagdown");i(l,d,v,"□","\\square");i(l,d,v,"□","\\Box");i(l,d,v,"◊","\\Diamond");i(l,d,v,"¥","\\yen",!0);i(k,d,v,"¥","\\yen",!0);i(l,d,v,"✓","\\checkmark",!0);i(k,d,v,"✓","\\checkmark");i(l,d,v,"ℶ","\\beth",!0);i(l,d,v,"ℸ","\\daleth",!0);i(l,d,v,"ℷ","\\gimel",!0);i(l,d,v,"ϝ","\\digamma",!0);i(l,d,v,"ϰ","\\varkappa");i(l,d,h0,"┌","\\@ulcorner",!0);i(l,d,i0,"┐","\\@urcorner",!0);i(l,d,h0,"└","\\@llcorner",!0);i(l,d,i0,"┘","\\@lrcorner",!0);i(l,d,f,"≦","\\leqq",!0);i(l,d,f,"⩽","\\leqslant",!0);i(l,d,f,"⪕","\\eqslantless",!0);i(l,d,f,"≲","\\lesssim",!0);i(l,d,f,"⪅","\\lessapprox",!0);i(l,d,f,"≊","\\approxeq",!0);i(l,d,D,"⋖","\\lessdot");i(l,d,f,"⋘","\\lll",!0);i(l,d,f,"≶","\\lessgtr",!0);i(l,d,f,"⋚","\\lesseqgtr",!0);i(l,d,f,"⪋","\\lesseqqgtr",!0);i(l,d,f,"≑","\\doteqdot");i(l,d,f,"≓","\\risingdotseq",!0);i(l,d,f,"≒","\\fallingdotseq",!0);i(l,d,f,"∽","\\backsim",!0);i(l,d,f,"⋍","\\backsimeq",!0);i(l,d,f,"⫅","\\subseteqq",!0);i(l,d,f,"⋐","\\Subset",!0);i(l,d,f,"⊏","\\sqsubset",!0);i(l,d,f,"≼","\\preccurlyeq",!0);i(l,d,f,"⋞","\\curlyeqprec",!0);i(l,d,f,"≾","\\precsim",!0);i(l,d,f,"⪷","\\precapprox",!0);i(l,d,f,"⊲","\\vartriangleleft");i(l,d,f,"⊴","\\trianglelefteq");i(l,d,f,"⊨","\\vDash",!0);i(l,d,f,"⊪","\\Vvdash",!0);i(l,d,f,"⌣","\\smallsmile");i(l,d,f,"⌢","\\smallfrown");i(l,d,f,"≏","\\bumpeq",!0);i(l,d,f,"≎","\\Bumpeq",!0);i(l,d,f,"≧","\\geqq",!0);i(l,d,f,"⩾","\\geqslant",!0);i(l,d,f,"⪖","\\eqslantgtr",!0);i(l,d,f,"≳","\\gtrsim",!0);i(l,d,f,"⪆","\\gtrapprox",!0);i(l,d,D,"⋗","\\gtrdot");i(l,d,f,"⋙","\\ggg",!0);i(l,d,f,"≷","\\gtrless",!0);i(l,d,f,"⋛","\\gtreqless",!0);i(l,d,f,"⪌","\\gtreqqless",!0);i(l,d,f,"≖","\\eqcirc",!0);i(l,d,f,"≗","\\circeq",!0);i(l,d,f,"≜","\\triangleq",!0);i(l,d,f,"∼","\\thicksim");i(l,d,f,"≈","\\thickapprox");i(l,d,f,"⫆","\\supseteqq",!0);i(l,d,f,"⋑","\\Supset",!0);i(l,d,f,"⊐","\\sqsupset",!0);i(l,d,f,"≽","\\succcurlyeq",!0);i(l,d,f,"⋟","\\curlyeqsucc",!0);i(l,d,f,"≿","\\succsim",!0);i(l,d,f,"⪸","\\succapprox",!0);i(l,d,f,"⊳","\\vartriangleright");i(l,d,f,"⊵","\\trianglerighteq");i(l,d,f,"⊩","\\Vdash",!0);i(l,d,f,"∣","\\shortmid");i(l,d,f,"∥","\\shortparallel");i(l,d,f,"≬","\\between",!0);i(l,d,f,"⋔","\\pitchfork",!0);i(l,d,f,"∝","\\varpropto");i(l,d,f,"◀","\\blacktriangleleft");i(l,d,f,"∴","\\therefore",!0);i(l,d,f,"∍","\\backepsilon");i(l,d,f,"▶","\\blacktriangleright");i(l,d,f,"∵","\\because",!0);i(l,d,f,"⋘","\\llless");i(l,d,f,"⋙","\\gggtr");i(l,d,D,"⊲","\\lhd");i(l,d,D,"⊳","\\rhd");i(l,d,f,"≂","\\eqsim",!0);i(l,u,f,"⋈","\\Join");i(l,d,f,"≑","\\Doteq",!0);i(l,d,D,"∔","\\dotplus",!0);i(l,d,D,"∖","\\smallsetminus");i(l,d,D,"⋒","\\Cap",!0);i(l,d,D,"⋓","\\Cup",!0);i(l,d,D,"⩞","\\doublebarwedge",!0);i(l,d,D,"⊟","\\boxminus",!0);i(l,d,D,"⊞","\\boxplus",!0);i(l,d,D,"⋇","\\divideontimes",!0);i(l,d,D,"⋉","\\ltimes",!0);i(l,d,D,"⋊","\\rtimes",!0);i(l,d,D,"⋋","\\leftthreetimes",!0);i(l,d,D,"⋌","\\rightthreetimes",!0);i(l,d,D,"⋏","\\curlywedge",!0);i(l,d,D,"⋎","\\curlyvee",!0);i(l,d,D,"⊝","\\circleddash",!0);i(l,d,D,"⊛","\\circledast",!0);i(l,d,D,"⋅","\\centerdot");i(l,d,D,"⊺","\\intercal",!0);i(l,d,D,"⋒","\\doublecap");i(l,d,D,"⋓","\\doublecup");i(l,d,D,"⊠","\\boxtimes",!0);i(l,d,f,"⇢","\\dashrightarrow",!0);i(l,d,f,"⇠","\\dashleftarrow",!0);i(l,d,f,"⇇","\\leftleftarrows",!0);i(l,d,f,"⇆","\\leftrightarrows",!0);i(l,d,f,"⇚","\\Lleftarrow",!0);i(l,d,f,"↞","\\twoheadleftarrow",!0);i(l,d,f,"↢","\\leftarrowtail",!0);i(l,d,f,"↫","\\looparrowleft",!0);i(l,d,f,"⇋","\\leftrightharpoons",!0);i(l,d,f,"↶","\\curvearrowleft",!0);i(l,d,f,"↺","\\circlearrowleft",!0);i(l,d,f,"↰","\\Lsh",!0);i(l,d,f,"⇈","\\upuparrows",!0);i(l,d,f,"↿","\\upharpoonleft",!0);i(l,d,f,"⇃","\\downharpoonleft",!0);i(l,u,f,"⊶","\\origof",!0);i(l,u,f,"⊷","\\imageof",!0);i(l,d,f,"⊸","\\multimap",!0);i(l,d,f,"↭","\\leftrightsquigarrow",!0);i(l,d,f,"⇉","\\rightrightarrows",!0);i(l,d,f,"⇄","\\rightleftarrows",!0);i(l,d,f,"↠","\\twoheadrightarrow",!0);i(l,d,f,"↣","\\rightarrowtail",!0);i(l,d,f,"↬","\\looparrowright",!0);i(l,d,f,"↷","\\curvearrowright",!0);i(l,d,f,"↻","\\circlearrowright",!0);i(l,d,f,"↱","\\Rsh",!0);i(l,d,f,"⇊","\\downdownarrows",!0);i(l,d,f,"↾","\\upharpoonright",!0);i(l,d,f,"⇂","\\downharpoonright",!0);i(l,d,f,"⇝","\\rightsquigarrow",!0);i(l,d,f,"⇝","\\leadsto");i(l,d,f,"⇛","\\Rrightarrow",!0);i(l,d,f,"↾","\\restriction");i(l,u,v,"‘","`");i(l,u,v,"$","\\$");i(k,u,v,"$","\\$");i(k,u,v,"$","\\textdollar");i(l,u,v,"%","\\%");i(k,u,v,"%","\\%");i(l,u,v,"_","\\_");i(k,u,v,"_","\\_");i(k,u,v,"_","\\textunderscore");i(l,u,v,"∠","\\angle",!0);i(l,u,v,"∞","\\infty",!0);i(l,u,v,"′","\\prime");i(l,u,v,"△","\\triangle");i(l,u,v,"Γ","\\Gamma",!0);i(l,u,v,"Δ","\\Delta",!0);i(l,u,v,"Θ","\\Theta",!0);i(l,u,v,"Λ","\\Lambda",!0);i(l,u,v,"Ξ","\\Xi",!0);i(l,u,v,"Π","\\Pi",!0);i(l,u,v,"Σ","\\Sigma",!0);i(l,u,v,"Υ","\\Upsilon",!0);i(l,u,v,"Φ","\\Phi",!0);i(l,u,v,"Ψ","\\Psi",!0);i(l,u,v,"Ω","\\Omega",!0);i(l,u,v,"A","Α");i(l,u,v,"B","Β");i(l,u,v,"E","Ε");i(l,u,v,"Z","Ζ");i(l,u,v,"H","Η");i(l,u,v,"I","Ι");i(l,u,v,"K","Κ");i(l,u,v,"M","Μ");i(l,u,v,"N","Ν");i(l,u,v,"O","Ο");i(l,u,v,"P","Ρ");i(l,u,v,"T","Τ");i(l,u,v,"X","Χ");i(l,u,v,"¬","\\neg",!0);i(l,u,v,"¬","\\lnot");i(l,u,v,"⊤","\\top");i(l,u,v,"⊥","\\bot");i(l,u,v,"∅","\\emptyset");i(l,d,v,"∅","\\varnothing");i(l,u,E,"α","\\alpha",!0);i(l,u,E,"β","\\beta",!0);i(l,u,E,"γ","\\gamma",!0);i(l,u,E,"δ","\\delta",!0);i(l,u,E,"ϵ","\\epsilon",!0);i(l,u,E,"ζ","\\zeta",!0);i(l,u,E,"η","\\eta",!0);i(l,u,E,"θ","\\theta",!0);i(l,u,E,"ι","\\iota",!0);i(l,u,E,"κ","\\kappa",!0);i(l,u,E,"λ","\\lambda",!0);i(l,u,E,"μ","\\mu",!0);i(l,u,E,"ν","\\nu",!0);i(l,u,E,"ξ","\\xi",!0);i(l,u,E,"ο","\\omicron",!0);i(l,u,E,"π","\\pi",!0);i(l,u,E,"ρ","\\rho",!0);i(l,u,E,"σ","\\sigma",!0);i(l,u,E,"τ","\\tau",!0);i(l,u,E,"υ","\\upsilon",!0);i(l,u,E,"ϕ","\\phi",!0);i(l,u,E,"χ","\\chi",!0);i(l,u,E,"ψ","\\psi",!0);i(l,u,E,"ω","\\omega",!0);i(l,u,E,"ε","\\varepsilon",!0);i(l,u,E,"ϑ","\\vartheta",!0);i(l,u,E,"ϖ","\\varpi",!0);i(l,u,E,"ϱ","\\varrho",!0);i(l,u,E,"ς","\\varsigma",!0);i(l,u,E,"φ","\\varphi",!0);i(l,u,D,"∗","*",!0);i(l,u,D,"+","+");i(l,u,D,"−","-",!0);i(l,u,D,"⋅","\\cdot",!0);i(l,u,D,"∘","\\circ",!0);i(l,u,D,"÷","\\div",!0);i(l,u,D,"±","\\pm",!0);i(l,u,D,"×","\\times",!0);i(l,u,D,"∩","\\cap",!0);i(l,u,D,"∪","\\cup",!0);i(l,u,D,"∖","\\setminus",!0);i(l,u,D,"∧","\\land");i(l,u,D,"∨","\\lor");i(l,u,D,"∧","\\wedge",!0);i(l,u,D,"∨","\\vee",!0);i(l,u,v,"√","\\surd");i(l,u,h0,"⟨","\\langle",!0);i(l,u,h0,"∣","\\lvert");i(l,u,h0,"∥","\\lVert");i(l,u,i0,"?","?");i(l,u,i0,"!","!");i(l,u,i0,"⟩","\\rangle",!0);i(l,u,i0,"∣","\\rvert");i(l,u,i0,"∥","\\rVert");i(l,u,f,"=","=");i(l,u,f,":",":");i(l,u,f,"≈","\\approx",!0);i(l,u,f,"≅","\\cong",!0);i(l,u,f,"≥","\\ge");i(l,u,f,"≥","\\geq",!0);i(l,u,f,"←","\\gets");i(l,u,f,">","\\gt",!0);i(l,u,f,"∈","\\in",!0);i(l,u,f,"","\\@not");i(l,u,f,"⊂","\\subset",!0);i(l,u,f,"⊃","\\supset",!0);i(l,u,f,"⊆","\\subseteq",!0);i(l,u,f,"⊇","\\supseteq",!0);i(l,d,f,"⊈","\\nsubseteq",!0);i(l,d,f,"⊉","\\nsupseteq",!0);i(l,u,f,"⊨","\\models");i(l,u,f,"←","\\leftarrow",!0);i(l,u,f,"≤","\\le");i(l,u,f,"≤","\\leq",!0);i(l,u,f,"<","\\lt",!0);i(l,u,f,"→","\\rightarrow",!0);i(l,u,f,"→","\\to");i(l,d,f,"≱","\\ngeq",!0);i(l,d,f,"≰","\\nleq",!0);i(l,u,q0," ","\\ ");i(l,u,q0," ","\\space");i(l,u,q0," ","\\nobreakspace");i(k,u,q0," ","\\ ");i(k,u,q0," "," ");i(k,u,q0," ","\\space");i(k,u,q0," ","\\nobreakspace");i(l,u,q0,null,"\\nobreak");i(l,u,q0,null,"\\allowbreak");i(l,u,qe,",",",");i(l,u,qe,";",";");i(l,d,D,"⊼","\\barwedge",!0);i(l,d,D,"⊻","\\veebar",!0);i(l,u,D,"⊙","\\odot",!0);i(l,u,D,"⊕","\\oplus",!0);i(l,u,D,"⊗","\\otimes",!0);i(l,u,v,"∂","\\partial",!0);i(l,u,D,"⊘","\\oslash",!0);i(l,d,D,"⊚","\\circledcirc",!0);i(l,d,D,"⊡","\\boxdot",!0);i(l,u,D,"△","\\bigtriangleup");i(l,u,D,"▽","\\bigtriangledown");i(l,u,D,"†","\\dagger");i(l,u,D,"⋄","\\diamond");i(l,u,D,"⋆","\\star");i(l,u,D,"◃","\\triangleleft");i(l,u,D,"▹","\\triangleright");i(l,u,h0,"{","\\{");i(k,u,v,"{","\\{");i(k,u,v,"{","\\textbraceleft");i(l,u,i0,"}","\\}");i(k,u,v,"}","\\}");i(k,u,v,"}","\\textbraceright");i(l,u,h0,"{","\\lbrace");i(l,u,i0,"}","\\rbrace");i(l,u,h0,"[","\\lbrack",!0);i(k,u,v,"[","\\lbrack",!0);i(l,u,i0,"]","\\rbrack",!0);i(k,u,v,"]","\\rbrack",!0);i(l,u,h0,"(","\\lparen",!0);i(l,u,i0,")","\\rparen",!0);i(k,u,v,"<","\\textless",!0);i(k,u,v,">","\\textgreater",!0);i(l,u,h0,"⌊","\\lfloor",!0);i(l,u,i0,"⌋","\\rfloor",!0);i(l,u,h0,"⌈","\\lceil",!0);i(l,u,i0,"⌉","\\rceil",!0);i(l,u,v,"\\","\\backslash");i(l,u,v,"∣","|");i(l,u,v,"∣","\\vert");i(k,u,v,"|","\\textbar",!0);i(l,u,v,"∥","\\|");i(l,u,v,"∥","\\Vert");i(k,u,v,"∥","\\textbardbl");i(k,u,v,"~","\\textasciitilde");i(k,u,v,"\\","\\textbackslash");i(k,u,v,"^","\\textasciicircum");i(l,u,f,"↑","\\uparrow",!0);i(l,u,f,"⇑","\\Uparrow",!0);i(l,u,f,"↓","\\downarrow",!0);i(l,u,f,"⇓","\\Downarrow",!0);i(l,u,f,"↕","\\updownarrow",!0);i(l,u,f,"⇕","\\Updownarrow",!0);i(l,u,_,"∐","\\coprod");i(l,u,_,"⋁","\\bigvee");i(l,u,_,"⋀","\\bigwedge");i(l,u,_,"⨄","\\biguplus");i(l,u,_,"⋂","\\bigcap");i(l,u,_,"⋃","\\bigcup");i(l,u,_,"∫","\\int");i(l,u,_,"∫","\\intop");i(l,u,_,"∬","\\iint");i(l,u,_,"∭","\\iiint");i(l,u,_,"∏","\\prod");i(l,u,_,"∑","\\sum");i(l,u,_,"⨂","\\bigotimes");i(l,u,_,"⨁","\\bigoplus");i(l,u,_,"⨀","\\bigodot");i(l,u,_,"∮","\\oint");i(l,u,_,"∯","\\oiint");i(l,u,_,"∰","\\oiiint");i(l,u,_,"⨆","\\bigsqcup");i(l,u,_,"∫","\\smallint");i(k,u,te,"…","\\textellipsis");i(l,u,te,"…","\\mathellipsis");i(k,u,te,"…","\\ldots",!0);i(l,u,te,"…","\\ldots",!0);i(l,u,te,"⋯","\\@cdots",!0);i(l,u,te,"⋱","\\ddots",!0);i(l,u,v,"⋮","\\varvdots");i(l,u,W,"ˊ","\\acute");i(l,u,W,"ˋ","\\grave");i(l,u,W,"¨","\\ddot");i(l,u,W,"~","\\tilde");i(l,u,W,"ˉ","\\bar");i(l,u,W,"˘","\\breve");i(l,u,W,"ˇ","\\check");i(l,u,W,"^","\\hat");i(l,u,W,"⃗","\\vec");i(l,u,W,"˙","\\dot");i(l,u,W,"˚","\\mathring");i(l,u,E,"","\\@imath");i(l,u,E,"","\\@jmath");i(l,u,v,"ı","ı");i(l,u,v,"ȷ","ȷ");i(k,u,v,"ı","\\i",!0);i(k,u,v,"ȷ","\\j",!0);i(k,u,v,"ß","\\ss",!0);i(k,u,v,"æ","\\ae",!0);i(k,u,v,"œ","\\oe",!0);i(k,u,v,"ø","\\o",!0);i(k,u,v,"Æ","\\AE",!0);i(k,u,v,"Œ","\\OE",!0);i(k,u,v,"Ø","\\O",!0);i(k,u,W,"ˊ","\\'");i(k,u,W,"ˋ","\\`");i(k,u,W,"ˆ","\\^");i(k,u,W,"˜","\\~");i(k,u,W,"ˉ","\\=");i(k,u,W,"˘","\\u");i(k,u,W,"˙","\\.");i(k,u,W,"¸","\\c");i(k,u,W,"˚","\\r");i(k,u,W,"ˇ","\\v");i(k,u,W,"¨",'\\"');i(k,u,W,"˝","\\H");i(k,u,W,"◯","\\textcircled");var wr={"--":!0,"---":!0,"``":!0,"''":!0};i(k,u,v,"–","--",!0);i(k,u,v,"–","\\textendash");i(k,u,v,"—","---",!0);i(k,u,v,"—","\\textemdash");i(k,u,v,"‘","`",!0);i(k,u,v,"‘","\\textquoteleft");i(k,u,v,"’","'",!0);i(k,u,v,"’","\\textquoteright");i(k,u,v,"“","``",!0);i(k,u,v,"“","\\textquotedblleft");i(k,u,v,"”","''",!0);i(k,u,v,"”","\\textquotedblright");i(l,u,v,"°","\\degree",!0);i(k,u,v,"°","\\degree");i(k,u,v,"°","\\textdegree",!0);i(l,u,v,"£","\\pounds");i(l,u,v,"£","\\mathsterling",!0);i(k,u,v,"£","\\pounds");i(k,u,v,"£","\\textsterling",!0);i(l,d,v,"✠","\\maltese");i(k,d,v,"✠","\\maltese");var Pt='0123456789/@."';for(var Ye=0;Ye0)return b0(s,p,n,t,o.concat(g));if(c){var y,w;if(c==="boldsymbol"){var x=Qa(s,n,t,o,a);y=x.fontName,w=[x.fontClass]}else h?(y=Mr[c].fontName,w=[c]):(y=xe(c,t.fontWeight,t.fontShape),w=[c,t.fontWeight,t.fontShape]);if(Ee(s,y,n).metrics)return b0(s,y,n,t,o.concat(w));if(wr.hasOwnProperty(s)&&y.slice(0,10)==="Typewriter"){for(var z=[],T=0;T{if(L0(r.classes)!==L0(e.classes)||r.skew!==e.skew||r.maxFontSize!==e.maxFontSize)return!1;if(r.classes.length===1){var t=r.classes[0];if(t==="mbin"||t==="mord")return!1}for(var a in r.style)if(r.style.hasOwnProperty(a)&&r.style[a]!==e.style[a])return!1;for(var n in e.style)if(e.style.hasOwnProperty(n)&&r.style[n]!==e.style[n])return!1;return!0},t1=r=>{for(var e=0;et&&(t=o.height),o.depth>a&&(a=o.depth),o.maxFontSize>n&&(n=o.maxFontSize)}e.height=t,e.depth=a,e.maxFontSize=n},l0=function(e,t,a,n){var s=new he(e,t,a,n);return vt(s),s},kr=(r,e,t,a)=>new he(r,e,t,a),r1=function(e,t,a){var n=l0([e],[],t);return n.height=Math.max(a||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=A(n.height),n.maxFontSize=1,n},a1=function(e,t,a,n){var s=new pt(e,t,a,n);return vt(s),s},Sr=function(e){var t=new ue(e);return vt(t),t},n1=function(e,t){return e instanceof ue?l0([],[e],t):e},i1=function(e){if(e.positionType==="individualShift"){for(var t=e.children,a=[t[0]],n=-t[0].shift-t[0].elem.depth,s=n,o=1;o{var t=l0(["mspace"],[],e),a=K(r,e);return t.style.marginRight=A(a),t},xe=function(e,t,a){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}var s;return t==="textbf"&&a==="textit"?s="BoldItalic":t==="textbf"?s="Bold":t==="textit"?s="Italic":s="Regular",n+"-"+s},Mr={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"}},zr={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},o1=function(e,t){var[a,n,s]=zr[e],o=new P0(a),h=new D0([o],{width:A(n),height:A(s),style:"width:"+A(n),viewBox:"0 0 "+1e3*n+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),c=kr(["overlay"],[h],t);return c.height=s,c.style.height=A(s),c.style.width=A(n),c},b={fontMap:Mr,makeSymbol:b0,mathsym:Ja,makeSpan:l0,makeSvgSpan:kr,makeLineSpan:r1,makeAnchor:a1,makeFragment:Sr,wrapFragment:n1,makeVList:s1,makeOrd:_a,makeGlue:l1,staticSvg:o1,svgData:zr,tryCombineChars:t1},Z={number:3,unit:"mu"},X0={number:4,unit:"mu"},z0={number:5,unit:"mu"},u1={mord:{mop:Z,mbin:X0,mrel:z0,minner:Z},mop:{mord:Z,mop:Z,mrel:z0,minner:Z},mbin:{mord:X0,mop:X0,mopen:X0,minner:X0},mrel:{mord:z0,mop:z0,mopen:z0,minner:z0},mopen:{},mclose:{mop:Z,mbin:X0,mrel:z0,minner:Z},mpunct:{mord:Z,mop:Z,mrel:z0,mopen:Z,mclose:Z,mpunct:Z,minner:Z},minner:{mord:Z,mop:Z,mbin:X0,mrel:z0,mopen:Z,mpunct:Z,minner:Z}},h1={mord:{mop:Z},mop:{mord:Z,mop:Z},mbin:{},mrel:{},mopen:{},mclose:{mop:Z},mpunct:{},minner:{mop:Z}},Ar={},De={},Ce={};function B(r){for(var{type:e,names:t,props:a,handler:n,htmlBuilder:s,mathmlBuilder:o}=r,h={type:e,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:a.allowedInMath===void 0?!0:a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:n},c=0;c{var C=T.classes[0],N=z.classes[0];C==="mbin"&&q.contains(c1,N)?T.classes[0]="mord":N==="mbin"&&q.contains(m1,C)&&(z.classes[0]="mord")},{node:y},w,x),Xt(s,(z,T)=>{var C=lt(T),N=lt(z),O=C&&N?z.hasClass("mtight")?h1[C][N]:u1[C][N]:null;if(O)return b.makeGlue(O,p)},{node:y},w,x),s},Xt=function r(e,t,a,n,s){n&&e.push(n);for(var o=0;ow=>{e.splice(y+1,0,w),o++})(o)}n&&e.pop()},Tr=function(e){return e instanceof ue||e instanceof pt||e instanceof he&&e.hasClass("enclosing")?e:null},p1=function r(e,t){var a=Tr(e);if(a){var n=a.children;if(n.length){if(t==="right")return r(n[n.length-1],"right");if(t==="left")return r(n[0],"left")}}return e},lt=function(e,t){return e?(t&&(e=p1(e,t)),f1[e.classes[0]]||null):null},oe=function(e,t){var a=["nulldelimiter"].concat(e.baseSizingClasses());return C0(t.concat(a))},P=function(e,t,a){if(!e)return C0();if(De[e.type]){var n=De[e.type](e,t);if(a&&t.size!==a.size){n=C0(t.sizingClasses(a),[n],t);var s=t.sizeMultiplier/a.sizeMultiplier;n.height*=s,n.depth*=s}return n}else throw new M("Got group of unknown type: '"+e.type+"'")};function we(r,e){var t=C0(["base"],r,e),a=C0(["strut"]);return a.style.height=A(t.height+t.depth),t.depth&&(a.style.verticalAlign=A(-t.depth)),t.children.unshift(a),t}function ot(r,e){var t=null;r.length===1&&r[0].type==="tag"&&(t=r[0].tag,r=r[0].body);var a=t0(r,e,"root"),n;a.length===2&&a[1].hasClass("tag")&&(n=a.pop());for(var s=[],o=[],h=0;h0&&(s.push(we(o,e)),o=[]),s.push(a[h]));o.length>0&&s.push(we(o,e));var p;t?(p=we(t0(t,e,!0)),p.classes=["tag"],s.push(p)):n&&s.push(n);var g=C0(["katex-html"],s);if(g.setAttribute("aria-hidden","true"),p){var y=p.children[0];y.style.height=A(g.height+g.depth),g.depth&&(y.style.verticalAlign=A(-g.depth))}return g}function Br(r){return new ue(r)}class c0{constructor(e,t,a){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=a||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){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=L0(this.classes));for(var a=0;a0&&(e+=' class ="'+q.escape(L0(this.classes))+'"'),e+=">";for(var a=0;a",e}toText(){return this.children.map(e=>e.toText()).join("")}}class ie{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return q.escape(this.toText())}toText(){return this.text}}class v1{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",A(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var S={MathNode:c0,TextNode:ie,SpaceNode:v1,newDocumentFragment:Br},v0=function(e,t,a){return $[t][e]&&$[t][e].replace&&e.charCodeAt(0)!==55349&&!(wr.hasOwnProperty(e)&&a&&(a.fontFamily&&a.fontFamily.slice(4,6)==="tt"||a.font&&a.font.slice(4,6)==="tt"))&&(e=$[t][e].replace),new S.TextNode(e)},gt=function(e){return e.length===1?e[0]:new S.MathNode("mrow",e)},bt=function(e,t){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold";var a=t.font;if(!a||a==="mathnormal")return null;var n=e.mode;if(a==="mathit")return"italic";if(a==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(a==="mathbf")return"bold";if(a==="mathbb")return"double-struck";if(a==="mathfrak")return"fraktur";if(a==="mathscr"||a==="mathcal")return"script";if(a==="mathsf")return"sans-serif";if(a==="mathtt")return"monospace";var s=e.text;if(q.contains(["\\imath","\\jmath"],s))return null;$[n][s]&&$[n][s].replace&&(s=$[n][s].replace);var o=b.fontMap[a].fontName;return ft(s,o,n)?b.fontMap[a].variant:null},o0=function(e,t,a){if(e.length===1){var n=X(e[0],t);return a&&n instanceof c0&&n.type==="mo"&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var s=[],o,h=0;h0&&(y.text=y.text.slice(0,1)+"̸"+y.text.slice(1),s.pop())}}}s.push(c),o=c}return s},G0=function(e,t,a){return gt(o0(e,t,a))},X=function(e,t){if(!e)return new S.MathNode("mrow");if(Ce[e.type]){var a=Ce[e.type](e,t);return a}else throw new M("Got group of unknown type: '"+e.type+"'")};function $t(r,e,t,a,n){var s=o0(r,t),o;s.length===1&&s[0]instanceof c0&&q.contains(["mrow","mtable"],s[0].type)?o=s[0]:o=new S.MathNode("mrow",s);var h=new S.MathNode("annotation",[new S.TextNode(e)]);h.setAttribute("encoding","application/x-tex");var c=new S.MathNode("semantics",[o,h]),p=new S.MathNode("math",[c]);p.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&p.setAttribute("display","block");var g=n?"katex":"katex-mathml";return b.makeSpan([g],[p])}var Dr=function(e){return new A0({style:e.displayMode?R.DISPLAY:R.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Cr=function(e,t){if(t.displayMode){var a=["katex-display"];t.leqno&&a.push("leqno"),t.fleqn&&a.push("fleqn"),e=b.makeSpan(a,[e])}return e},g1=function(e,t,a){var n=Dr(a),s;if(a.output==="mathml")return $t(e,t,n,a.displayMode,!0);if(a.output==="html"){var o=ot(e,n);s=b.makeSpan(["katex"],[o])}else{var h=$t(e,t,n,a.displayMode,!1),c=ot(e,n);s=b.makeSpan(["katex"],[h,c])}return Cr(s,a)},b1=function(e,t,a){var n=Dr(a),s=ot(e,n),o=b.makeSpan(["katex"],[s]);return Cr(o,a)},y1={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},x1=function(e){var t=new S.MathNode("mo",[new S.TextNode(y1[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},w1={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]},k1=function(e){return e.type==="ordgroup"?e.body.length:1},S1=function(e,t){function a(){var h=4e5,c=e.label.slice(1);if(q.contains(["widehat","widecheck","widetilde","utilde"],c)){var p=e,g=k1(p.base),y,w,x;if(g>5)c==="widehat"||c==="widecheck"?(y=420,h=2364,x=.42,w=c+"4"):(y=312,h=2340,x=.34,w="tilde4");else{var z=[1,1,2,2,3,3][g];c==="widehat"||c==="widecheck"?(h=[0,1062,2364,2364,2364][z],y=[0,239,300,360,420][z],x=[0,.24,.3,.3,.36,.42][z],w=c+z):(h=[0,600,1033,2339,2340][z],y=[0,260,286,306,312][z],x=[0,.26,.286,.3,.306,.34][z],w="tilde"+z)}var T=new P0(w),C=new D0([T],{width:"100%",height:A(x),viewBox:"0 0 "+h+" "+y,preserveAspectRatio:"none"});return{span:b.makeSvgSpan([],[C],t),minWidth:0,height:x}}else{var N=[],O=w1[c],[F,V,L]=O,U=L/1e3,G=F.length,j,Y;if(G===1){var M0=O[3];j=["hide-tail"],Y=[M0]}else if(G===2)j=["halfarrow-left","halfarrow-right"],Y=["xMinYMin","xMaxYMin"];else if(G===3)j=["brace-left","brace-center","brace-right"],Y=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+G+" children.");for(var r0=0;r00&&(n.style.minWidth=A(s)),n},M1=function(e,t,a,n,s){var o,h=e.height+e.depth+a+n;if(/fbox|color|angl/.test(t)){if(o=b.makeSpan(["stretchy",t],[],s),t==="fbox"){var c=s.color&&s.getColor();c&&(o.style.borderColor=c)}}else{var p=[];/^[bx]cancel$/.test(t)&&p.push(new it({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&p.push(new it({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var g=new D0(p,{width:"100%",height:A(h)});o=b.makeSvgSpan([],[g],s)}return o.height=h,o.style.height=A(h),o},N0={encloseSpan:M1,mathMLnode:x1,svgSpan:S1};function H(r,e){if(!r||r.type!==e)throw new Error("Expected node of type "+e+", but got "+(r?"node of type "+r.type:String(r)));return r}function yt(r){var e=Re(r);if(!e)throw new Error("Expected node of symbol group type, but got "+(r?"node of type "+r.type:String(r)));return e}function Re(r){return r&&(r.type==="atom"||Za.hasOwnProperty(r.type))?r:null}var xt=(r,e)=>{var t,a,n;r&&r.type==="supsub"?(a=H(r.base,"accent"),t=a.base,r.base=t,n=Wa(P(r,e)),r.base=a):(a=H(r,"accent"),t=a.base);var s=P(t,e.havingCrampedStyle()),o=a.isShifty&&q.isCharacterBox(t),h=0;if(o){var c=q.getBaseElem(t),p=P(c,e.havingCrampedStyle());h=Lt(p).skew}var g=a.label==="\\c",y=g?s.height+s.depth:Math.min(s.height,e.fontMetrics().xHeight),w;if(a.isStretchy)w=N0.svgSpan(a,e),w=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:w,wrapperClasses:["svg-align"],wrapperStyle:h>0?{width:"calc(100% - "+A(2*h)+")",marginLeft:A(2*h)}:void 0}]},e);else{var x,z;a.label==="\\vec"?(x=b.staticSvg("vec",e),z=b.svgData.vec[1]):(x=b.makeOrd({mode:a.mode,text:a.label},e,"textord"),x=Lt(x),x.italic=0,z=x.width,g&&(y+=x.depth)),w=b.makeSpan(["accent-body"],[x]);var T=a.label==="\\textcircled";T&&(w.classes.push("accent-full"),y=s.height);var C=h;T||(C-=z/2),w.style.left=A(C),a.label==="\\textcircled"&&(w.style.top=".2em"),w=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-y},{type:"elem",elem:w}]},e)}var N=b.makeSpan(["mord","accent"],[w],e);return n?(n.children[0]=N,n.height=Math.max(N.height,n.height),n.classes[0]="mord",n):N},Nr=(r,e)=>{var t=r.isStretchy?N0.mathMLnode(r.label):new S.MathNode("mo",[v0(r.label,r.mode)]),a=new S.MathNode("mover",[X(r.base,e),t]);return a.setAttribute("accent","true"),a},z1=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(r=>"\\"+r).join("|"));B({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:(r,e)=>{var t=Ne(e[0]),a=!z1.test(r.funcName),n=!a||r.funcName==="\\widehat"||r.funcName==="\\widetilde"||r.funcName==="\\widecheck";return{type:"accent",mode:r.parser.mode,label:r.funcName,isStretchy:a,isShifty:n,base:t}},htmlBuilder:xt,mathmlBuilder:Nr});B({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(r,e)=>{var t=e[0],a=r.parser.mode;return a==="math"&&(r.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+r.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:r.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:xt,mathmlBuilder:Nr});B({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0];return{type:"accentUnder",mode:t.mode,label:a,base:n}},htmlBuilder:(r,e)=>{var t=P(r.base,e),a=N0.svgSpan(r,e),n=r.label==="\\utilde"?.12:0,s=b.makeVList({positionType:"top",positionData:t.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:t}]},e);return b.makeSpan(["mord","accentunder"],[s],e)},mathmlBuilder:(r,e)=>{var t=N0.mathMLnode(r.label),a=new S.MathNode("munder",[X(r.base,e),t]);return a.setAttribute("accentunder","true"),a}});var ke=r=>{var e=new S.MathNode("mpadded",r?[r]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};B({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(r,e,t){var{parser:a,funcName:n}=r;return{type:"xArrow",mode:a.mode,label:n,body:e[0],below:t[0]}},htmlBuilder(r,e){var t=e.style,a=e.havingStyle(t.sup()),n=b.wrapFragment(P(r.body,a,e),e),s=r.label.slice(0,2)==="\\x"?"x":"cd";n.classes.push(s+"-arrow-pad");var o;r.below&&(a=e.havingStyle(t.sub()),o=b.wrapFragment(P(r.below,a,e),e),o.classes.push(s+"-arrow-pad"));var h=N0.svgSpan(r,e),c=-e.fontMetrics().axisHeight+.5*h.height,p=-e.fontMetrics().axisHeight-.5*h.height-.111;(n.depth>.25||r.label==="\\xleftequilibrium")&&(p-=n.depth);var g;if(o){var y=-e.fontMetrics().axisHeight+o.height+.5*h.height+.111;g=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:p},{type:"elem",elem:h,shift:c},{type:"elem",elem:o,shift:y}]},e)}else g=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:p},{type:"elem",elem:h,shift:c}]},e);return g.children[0].children[0].children[1].classes.push("svg-align"),b.makeSpan(["mrel","x-arrow"],[g],e)},mathmlBuilder(r,e){var t=N0.mathMLnode(r.label);t.setAttribute("minsize",r.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(r.body){var n=ke(X(r.body,e));if(r.below){var s=ke(X(r.below,e));a=new S.MathNode("munderover",[t,s,n])}else a=new S.MathNode("mover",[t,n])}else if(r.below){var o=ke(X(r.below,e));a=new S.MathNode("munder",[t,o])}else a=ke(),a=new S.MathNode("mover",[t,a]);return a}});var A1=b.makeSpan;function qr(r,e){var t=t0(r.body,e,!0);return A1([r.mclass],t,e)}function Er(r,e){var t,a=o0(r.body,e);return r.mclass==="minner"?t=new S.MathNode("mpadded",a):r.mclass==="mord"?r.isCharacterBox?(t=a[0],t.type="mi"):t=new S.MathNode("mi",a):(r.isCharacterBox?(t=a[0],t.type="mo"):t=new S.MathNode("mo",a),r.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):r.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):r.mclass==="mopen"||r.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):r.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}B({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+a.slice(5),body:Q(n),isCharacterBox:q.isCharacterBox(n)}},htmlBuilder:qr,mathmlBuilder:Er});var Ie=r=>{var e=r.type==="ordgroup"&&r.body.length?r.body[0]:r;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};B({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(r,e){var{parser:t}=r;return{type:"mclass",mode:t.mode,mclass:Ie(e[0]),body:Q(e[1]),isCharacterBox:q.isCharacterBox(e[1])}}});B({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(r,e){var{parser:t,funcName:a}=r,n=e[1],s=e[0],o;a!=="\\stackrel"?o=Ie(n):o="mrel";var h={type:"op",mode:n.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:Q(n)},c={type:"supsub",mode:s.mode,base:h,sup:a==="\\underset"?null:s,sub:a==="\\underset"?s:null};return{type:"mclass",mode:t.mode,mclass:o,body:[c],isCharacterBox:q.isCharacterBox(c)}},htmlBuilder:qr,mathmlBuilder:Er});B({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"pmb",mode:t.mode,mclass:Ie(e[0]),body:Q(e[0])}},htmlBuilder(r,e){var t=t0(r.body,e,!0),a=b.makeSpan([r.mclass],t,e);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(r,e){var t=o0(r.body,e),a=new S.MathNode("mstyle",t);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var T1={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Wt=()=>({type:"styling",body:[],mode:"math",style:"display"}),jt=r=>r.type==="textord"&&r.text==="@",B1=(r,e)=>(r.type==="mathord"||r.type==="atom")&&r.text===e;function D1(r,e,t){var a=T1[r];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(a,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var n=t.callFunction("\\\\cdleft",[e[0]],[]),s={type:"atom",text:a,mode:"math",family:"rel"},o=t.callFunction("\\Big",[s],[]),h=t.callFunction("\\\\cdright",[e[1]],[]),c={type:"ordgroup",mode:"math",body:[n,o,h]};return t.callFunction("\\\\cdparent",[c],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var p={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[p],[])}default:return{type:"textord",text:" ",mode:"math"}}}function C1(r){var e=[];for(r.gullet.beginGroup(),r.gullet.macros.set("\\cr","\\\\\\relax"),r.gullet.beginGroup();;){e.push(r.parseExpression(!1,"\\\\")),r.gullet.endGroup(),r.gullet.beginGroup();var t=r.fetch().text;if(t==="&"||t==="\\\\")r.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new M("Expected \\\\ or \\cr or \\end",r.nextToken)}for(var a=[],n=[a],s=0;s-1))if("<>AV".indexOf(p)>-1)for(var y=0;y<2;y++){for(var w=!0,x=c+1;xAV=|." after @',o[c]);var z=D1(p,g,r),T={type:"styling",body:[z],mode:"math",style:"display"};a.push(T),h=Wt()}s%2===0?a.push(h):a.shift(),a=[],n.push(a)}r.gullet.endGroup(),r.gullet.endGroup();var C=new Array(n[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:n,arraystretch:1,addJot:!0,rowGaps:[null],cols:C,colSeparationType:"CD",hLinesBeforeRow:new Array(n.length+1).fill([])}}B({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"cdlabel",mode:t.mode,side:a.slice(4),label:e[0]}},htmlBuilder(r,e){var t=e.havingStyle(e.style.sup()),a=b.wrapFragment(P(r.label,t,e),e);return a.classes.push("cd-label-"+r.side),a.style.bottom=A(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(r,e){var t=new S.MathNode("mrow",[X(r.label,e)]);return t=new S.MathNode("mpadded",[t]),t.setAttribute("width","0"),r.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new S.MathNode("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});B({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(r,e){var{parser:t}=r;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(r,e){var t=b.wrapFragment(P(r.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(r,e){return new S.MathNode("mrow",[X(r.fragment,e)])}});B({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(r,e){for(var{parser:t}=r,a=H(e[0],"ordgroup"),n=a.body,s="",o=0;o=1114111)throw new M("\\@char with invalid code point "+s);return c<=65535?p=String.fromCharCode(c):(c-=65536,p=String.fromCharCode((c>>10)+55296,(c&1023)+56320)),{type:"textord",mode:t.mode,text:p}}});var Rr=(r,e)=>{var t=t0(r.body,e.withColor(r.color),!1);return b.makeFragment(t)},Ir=(r,e)=>{var t=o0(r.body,e.withColor(r.color)),a=new S.MathNode("mstyle",t);return a.setAttribute("mathcolor",r.color),a};B({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(r,e){var{parser:t}=r,a=H(e[0],"color-token").color,n=e[1];return{type:"color",mode:t.mode,color:a,body:Q(n)}},htmlBuilder:Rr,mathmlBuilder:Ir});B({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(r,e){var{parser:t,breakOnTokenText:a}=r,n=H(e[0],"color-token").color;t.gullet.macros.set("\\current@color",n);var s=t.parseExpression(!0,a);return{type:"color",mode:t.mode,color:n,body:s}},htmlBuilder:Rr,mathmlBuilder:Ir});B({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(r,e,t){var{parser:a}=r,n=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,s=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:s,size:n&&H(n,"size").value}},htmlBuilder(r,e){var t=b.makeSpan(["mspace"],[],e);return r.newLine&&(t.classes.push("newline"),r.size&&(t.style.marginTop=A(K(r.size,e)))),t},mathmlBuilder(r,e){var t=new S.MathNode("mspace");return r.newLine&&(t.setAttribute("linebreak","newline"),r.size&&t.setAttribute("height",A(K(r.size,e)))),t}});var ut={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Or=r=>{var e=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new M("Expected a control sequence",r);return e},N1=r=>{var e=r.gullet.popToken();return e.text==="="&&(e=r.gullet.popToken(),e.text===" "&&(e=r.gullet.popToken())),e},Fr=(r,e,t,a)=>{var n=r.gullet.macros.get(t.text);n==null&&(t.noexpand=!0,n={tokens:[t],numArgs:0,unexpandable:!r.gullet.isExpandable(t.text)}),r.gullet.macros.set(e,n,a)};B({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e,funcName:t}=r;e.consumeSpaces();var a=e.fetch();if(ut[a.text])return(t==="\\global"||t==="\\\\globallong")&&(a.text=ut[a.text]),H(e.parseFunction(),"internal");throw new M("Invalid token after macro prefix",a)}});B({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=e.gullet.popToken(),n=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(n))throw new M("Expected a control sequence",a);for(var s=0,o,h=[[]];e.gullet.future().text!=="{";)if(a=e.gullet.popToken(),a.text==="#"){if(e.gullet.future().text==="{"){o=e.gullet.future(),h[s].push("{");break}if(a=e.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new M('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==s+1)throw new M('Argument number "'+a.text+'" out of order');s++,h.push([])}else{if(a.text==="EOF")throw new M("Expected a macro definition");h[s].push(a.text)}var{tokens:c}=e.gullet.consumeArg();return o&&c.unshift(o),(t==="\\edef"||t==="\\xdef")&&(c=e.gullet.expandTokens(c),c.reverse()),e.gullet.macros.set(n,{tokens:c,numArgs:s,delimiters:h},t===ut[t]),{type:"internal",mode:e.mode}}});B({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=Or(e.gullet.popToken());e.gullet.consumeSpaces();var n=N1(e);return Fr(e,a,n,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});B({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=Or(e.gullet.popToken()),n=e.gullet.popToken(),s=e.gullet.popToken();return Fr(e,a,s,t==="\\\\globalfuture"),e.gullet.pushToken(s),e.gullet.pushToken(n),{type:"internal",mode:e.mode}}});var ne=function(e,t,a){var n=$.math[e]&&$.math[e].replace,s=ft(n||e,t,a);if(!s)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return s},wt=function(e,t,a,n){var s=a.havingBaseStyle(t),o=b.makeSpan(n.concat(s.sizingClasses(a)),[e],a),h=s.sizeMultiplier/a.sizeMultiplier;return o.height*=h,o.depth*=h,o.maxFontSize=s.sizeMultiplier,o},Hr=function(e,t,a){var n=t.havingBaseStyle(a),s=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=A(s),e.height-=s,e.depth+=s},q1=function(e,t,a,n,s,o){var h=b.makeSymbol(e,"Main-Regular",s,n),c=wt(h,t,n,o);return a&&Hr(c,n,t),c},E1=function(e,t,a,n){return b.makeSymbol(e,"Size"+t+"-Regular",a,n)},Lr=function(e,t,a,n,s,o){var h=E1(e,t,s,n),c=wt(b.makeSpan(["delimsizing","size"+t],[h],n),R.TEXT,n,o);return a&&Hr(c,n,R.TEXT),c},je=function(e,t,a){var n;t==="Size1-Regular"?n="delim-size1":n="delim-size4";var s=b.makeSpan(["delimsizinginner",n],[b.makeSpan([],[b.makeSymbol(e,t,a)])]);return{type:"elem",elem:s}},Ze=function(e,t,a){var n=x0["Size4-Regular"][e.charCodeAt(0)]?x0["Size4-Regular"][e.charCodeAt(0)][4]:x0["Size1-Regular"][e.charCodeAt(0)][4],s=new P0("inner",La(e,Math.round(1e3*t))),o=new D0([s],{width:A(n),height:A(t),style:"width:"+A(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),h=b.makeSvgSpan([],[o],a);return h.height=t,h.style.height=A(t),h.style.width=A(n),{type:"elem",elem:h}},ht=.008,Se={type:"kern",size:-1*ht},R1=["|","\\lvert","\\rvert","\\vert"],I1=["\\|","\\lVert","\\rVert","\\Vert"],Pr=function(e,t,a,n,s,o){var h,c,p,g,y="",w=0;h=p=g=e,c=null;var x="Size1-Regular";e==="\\uparrow"?p=g="⏐":e==="\\Uparrow"?p=g="‖":e==="\\downarrow"?h=p="⏐":e==="\\Downarrow"?h=p="‖":e==="\\updownarrow"?(h="\\uparrow",p="⏐",g="\\downarrow"):e==="\\Updownarrow"?(h="\\Uparrow",p="‖",g="\\Downarrow"):q.contains(R1,e)?(p="∣",y="vert",w=333):q.contains(I1,e)?(p="∥",y="doublevert",w=556):e==="["||e==="\\lbrack"?(h="⎡",p="⎢",g="⎣",x="Size4-Regular",y="lbrack",w=667):e==="]"||e==="\\rbrack"?(h="⎤",p="⎥",g="⎦",x="Size4-Regular",y="rbrack",w=667):e==="\\lfloor"||e==="⌊"?(p=h="⎢",g="⎣",x="Size4-Regular",y="lfloor",w=667):e==="\\lceil"||e==="⌈"?(h="⎡",p=g="⎢",x="Size4-Regular",y="lceil",w=667):e==="\\rfloor"||e==="⌋"?(p=h="⎥",g="⎦",x="Size4-Regular",y="rfloor",w=667):e==="\\rceil"||e==="⌉"?(h="⎤",p=g="⎥",x="Size4-Regular",y="rceil",w=667):e==="("||e==="\\lparen"?(h="⎛",p="⎜",g="⎝",x="Size4-Regular",y="lparen",w=875):e===")"||e==="\\rparen"?(h="⎞",p="⎟",g="⎠",x="Size4-Regular",y="rparen",w=875):e==="\\{"||e==="\\lbrace"?(h="⎧",c="⎨",g="⎩",p="⎪",x="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(h="⎫",c="⎬",g="⎭",p="⎪",x="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(h="⎧",g="⎩",p="⎪",x="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(h="⎫",g="⎭",p="⎪",x="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(h="⎧",g="⎭",p="⎪",x="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(h="⎫",g="⎩",p="⎪",x="Size4-Regular");var z=ne(h,x,s),T=z.height+z.depth,C=ne(p,x,s),N=C.height+C.depth,O=ne(g,x,s),F=O.height+O.depth,V=0,L=1;if(c!==null){var U=ne(c,x,s);V=U.height+U.depth,L=2}var G=T+F+V,j=Math.max(0,Math.ceil((t-G)/(L*N))),Y=G+j*L*N,M0=n.fontMetrics().axisHeight;a&&(M0*=n.sizeMultiplier);var r0=Y/2-M0,e0=[];if(y.length>0){var U0=Y-T-F,s0=Math.round(Y*1e3),g0=Pa(y,Math.round(U0*1e3)),E0=new P0(y,g0),W0=(w/1e3).toFixed(3)+"em",j0=(s0/1e3).toFixed(3)+"em",Le=new D0([E0],{width:W0,height:j0,viewBox:"0 0 "+w+" "+s0}),R0=b.makeSvgSpan([],[Le],n);R0.height=s0/1e3,R0.style.width=W0,R0.style.height=j0,e0.push({type:"elem",elem:R0})}else{if(e0.push(je(g,x,s)),e0.push(Se),c===null){var I0=Y-T-F+2*ht;e0.push(Ze(p,I0,n))}else{var m0=(Y-T-F-V)/2+2*ht;e0.push(Ze(p,m0,n)),e0.push(Se),e0.push(je(c,x,s)),e0.push(Se),e0.push(Ze(p,m0,n))}e0.push(Se),e0.push(je(h,x,s))}var ae=n.havingBaseStyle(R.TEXT),Pe=b.makeVList({positionType:"bottom",positionData:r0,children:e0},ae);return wt(b.makeSpan(["delimsizing","mult"],[Pe],ae),R.TEXT,n,o)},Ke=80,Je=.08,Qe=function(e,t,a,n,s){var o=Ha(e,n,a),h=new P0(e,o),c=new D0([h],{width:"400em",height:A(t),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return b.makeSvgSpan(["hide-tail"],[c],s)},O1=function(e,t){var a=t.havingBaseSizing(),n=Yr("\\surd",e*a.sizeMultiplier,Ur,a),s=a.sizeMultiplier,o=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),h,c=0,p=0,g=0,y;return n.type==="small"?(g=1e3+1e3*o+Ke,e<1?s=1:e<1.4&&(s=.7),c=(1+o+Je)/s,p=(1+o)/s,h=Qe("sqrtMain",c,g,o,t),h.style.minWidth="0.853em",y=.833/s):n.type==="large"?(g=(1e3+Ke)*se[n.size],p=(se[n.size]+o)/s,c=(se[n.size]+o+Je)/s,h=Qe("sqrtSize"+n.size,c,g,o,t),h.style.minWidth="1.02em",y=1/s):(c=e+o+Je,p=e+o,g=Math.floor(1e3*e+o)+Ke,h=Qe("sqrtTall",c,g,o,t),h.style.minWidth="0.742em",y=1.056),h.height=p,h.style.height=A(c),{span:h,advanceWidth:y,ruleWidth:(t.fontMetrics().sqrtRuleThickness+o)*s}},Gr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],F1=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Vr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],se=[0,1.2,1.8,2.4,3],H1=function(e,t,a,n,s){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),q.contains(Gr,e)||q.contains(Vr,e))return Lr(e,t,!1,a,n,s);if(q.contains(F1,e))return Pr(e,se[t],!1,a,n,s);throw new M("Illegal delimiter: '"+e+"'")},L1=[{type:"small",style:R.SCRIPTSCRIPT},{type:"small",style:R.SCRIPT},{type:"small",style:R.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],P1=[{type:"small",style:R.SCRIPTSCRIPT},{type:"small",style:R.SCRIPT},{type:"small",style:R.TEXT},{type:"stack"}],Ur=[{type:"small",style:R.SCRIPTSCRIPT},{type:"small",style:R.SCRIPT},{type:"small",style:R.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],G1=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Yr=function(e,t,a,n){for(var s=Math.min(2,3-n.style.size),o=s;ot)return a[o]}return a[a.length-1]},Xr=function(e,t,a,n,s,o){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var h;q.contains(Vr,e)?h=L1:q.contains(Gr,e)?h=Ur:h=P1;var c=Yr(e,t,h,n);return c.type==="small"?q1(e,c.style,a,n,s,o):c.type==="large"?Lr(e,c.size,a,n,s,o):Pr(e,t,a,n,s,o)},V1=function(e,t,a,n,s,o){var h=n.fontMetrics().axisHeight*n.sizeMultiplier,c=901,p=5/n.fontMetrics().ptPerEm,g=Math.max(t-h,a+h),y=Math.max(g/500*c,2*g-p);return Xr(e,y,!0,n,s,o)},B0={sqrtImage:O1,sizedDelim:H1,sizeToMaxHeight:se,customSizedDelim:Xr,leftRightDelim:V1},Zt={"\\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}},U1=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Oe(r,e){var t=Re(r);if(t&&q.contains(U1,t.text))return t;throw t?new M("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",r):new M("Invalid delimiter type '"+r.type+"'",r)}B({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:(r,e)=>{var t=Oe(e[0],r);return{type:"delimsizing",mode:r.parser.mode,size:Zt[r.funcName].size,mclass:Zt[r.funcName].mclass,delim:t.text}},htmlBuilder:(r,e)=>r.delim==="."?b.makeSpan([r.mclass]):B0.sizedDelim(r.delim,r.size,e,r.mode,[r.mclass]),mathmlBuilder:r=>{var e=[];r.delim!=="."&&e.push(v0(r.delim,r.mode));var t=new S.MathNode("mo",e);r.mclass==="mopen"||r.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var a=A(B0.sizeToMaxHeight[r.size]);return t.setAttribute("minsize",a),t.setAttribute("maxsize",a),t}});function Kt(r){if(!r.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}B({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=r.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new M("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:r.parser.mode,delim:Oe(e[0],r).text,color:t}}});B({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Oe(e[0],r),a=r.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var s=H(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:t.text,right:s.delim,rightColor:s.color}},htmlBuilder:(r,e)=>{Kt(r);for(var t=t0(r.body,e,!0,["mopen","mclose"]),a=0,n=0,s=!1,o=0;o{Kt(r);var t=o0(r.body,e);if(r.left!=="."){var a=new S.MathNode("mo",[v0(r.left,r.mode)]);a.setAttribute("fence","true"),t.unshift(a)}if(r.right!=="."){var n=new S.MathNode("mo",[v0(r.right,r.mode)]);n.setAttribute("fence","true"),r.rightColor&&n.setAttribute("mathcolor",r.rightColor),t.push(n)}return gt(t)}});B({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=Oe(e[0],r);if(!r.parser.leftrightDepth)throw new M("\\middle without preceding \\left",t);return{type:"middle",mode:r.parser.mode,delim:t.text}},htmlBuilder:(r,e)=>{var t;if(r.delim===".")t=oe(e,[]);else{t=B0.sizedDelim(r.delim,1,e,r.mode,[]);var a={delim:r.delim,options:e};t.isMiddle=a}return t},mathmlBuilder:(r,e)=>{var t=r.delim==="\\vert"||r.delim==="|"?v0("|","text"):v0(r.delim,r.mode),a=new S.MathNode("mo",[t]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var kt=(r,e)=>{var t=b.wrapFragment(P(r.body,e),e),a=r.label.slice(1),n=e.sizeMultiplier,s,o=0,h=q.isCharacterBox(r.body);if(a==="sout")s=b.makeSpan(["stretchy","sout"]),s.height=e.fontMetrics().defaultRuleThickness/n,o=-.5*e.fontMetrics().xHeight;else if(a==="phase"){var c=K({number:.6,unit:"pt"},e),p=K({number:.35,unit:"ex"},e),g=e.havingBaseSizing();n=n/g.sizeMultiplier;var y=t.height+t.depth+c+p;t.style.paddingLeft=A(y/2+c);var w=Math.floor(1e3*y*n),x=Oa(w),z=new D0([new P0("phase",x)],{width:"400em",height:A(w/1e3),viewBox:"0 0 400000 "+w,preserveAspectRatio:"xMinYMin slice"});s=b.makeSvgSpan(["hide-tail"],[z],e),s.style.height=A(y),o=t.depth+c+p}else{/cancel/.test(a)?h||t.classes.push("cancel-pad"):a==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var T=0,C=0,N=0;/box/.test(a)?(N=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),T=e.fontMetrics().fboxsep+(a==="colorbox"?0:N),C=T):a==="angl"?(N=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),T=4*N,C=Math.max(0,.25-t.depth)):(T=h?.2:0,C=T),s=N0.encloseSpan(t,a,T,C,e),/fbox|boxed|fcolorbox/.test(a)?(s.style.borderStyle="solid",s.style.borderWidth=A(N)):a==="angl"&&N!==.049&&(s.style.borderTopWidth=A(N),s.style.borderRightWidth=A(N)),o=t.depth+C,r.backgroundColor&&(s.style.backgroundColor=r.backgroundColor,r.borderColor&&(s.style.borderColor=r.borderColor))}var O;if(r.backgroundColor)O=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:o},{type:"elem",elem:t,shift:0}]},e);else{var F=/cancel|phase/.test(a)?["svg-align"]:[];O=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:s,shift:o,wrapperClasses:F}]},e)}return/cancel/.test(a)&&(O.height=t.height,O.depth=t.depth),/cancel/.test(a)&&!h?b.makeSpan(["mord","cancel-lap"],[O],e):b.makeSpan(["mord"],[O],e)},St=(r,e)=>{var t=0,a=new S.MathNode(r.label.indexOf("colorbox")>-1?"mpadded":"menclose",[X(r.body,e)]);switch(r.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*t+"pt"),a.setAttribute("height","+"+2*t+"pt"),a.setAttribute("lspace",t+"pt"),a.setAttribute("voffset",t+"pt"),r.label==="\\fcolorbox"){var n=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(r.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return r.backgroundColor&&a.setAttribute("mathbackground",r.backgroundColor),a};B({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(r,e,t){var{parser:a,funcName:n}=r,s=H(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:s,body:o}},htmlBuilder:kt,mathmlBuilder:St});B({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(r,e,t){var{parser:a,funcName:n}=r,s=H(e[0],"color-token").color,o=H(e[1],"color-token").color,h=e[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:o,borderColor:s,body:h}},htmlBuilder:kt,mathmlBuilder:St});B({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});B({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];return{type:"enclose",mode:t.mode,label:a,body:n}},htmlBuilder:kt,mathmlBuilder:St});B({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});var $r={};function w0(r){for(var{type:e,names:t,props:a,handler:n,htmlBuilder:s,mathmlBuilder:o}=r,h={type:e,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:n},c=0;c{var e=r.parser.settings;if(!e.displayMode)throw new M("{"+r.envName+"} can be used only in display mode.")};function Mt(r){if(r.indexOf("ed")===-1)return r.indexOf("*")===-1}function V0(r,e,t){var{hskipBeforeAndAfter:a,addJot:n,cols:s,arraystretch:o,colSeparationType:h,autoTag:c,singleRow:p,emptySingleRow:g,maxNumCols:y,leqno:w}=e;if(r.gullet.beginGroup(),p||r.gullet.macros.set("\\cr","\\\\\\relax"),!o){var x=r.gullet.expandMacroAsText("\\arraystretch");if(x==null)o=1;else if(o=parseFloat(x),!o||o<0)throw new M("Invalid \\arraystretch: "+x)}r.gullet.beginGroup();var z=[],T=[z],C=[],N=[],O=c!=null?[]:void 0;function F(){c&&r.gullet.macros.set("\\@eqnsw","1",!0)}function V(){O&&(r.gullet.macros.get("\\df@tag")?(O.push(r.subparse([new f0("\\df@tag")])),r.gullet.macros.set("\\df@tag",void 0,!0)):O.push(!!c&&r.gullet.macros.get("\\@eqnsw")==="1"))}for(F(),N.push(Jt(r));;){var L=r.parseExpression(!1,p?"\\end":"\\\\");r.gullet.endGroup(),r.gullet.beginGroup(),L={type:"ordgroup",mode:r.mode,body:L},t&&(L={type:"styling",mode:r.mode,style:t,body:[L]}),z.push(L);var U=r.fetch().text;if(U==="&"){if(y&&z.length===y){if(p||h)throw new M("Too many tab characters: &",r.nextToken);r.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}r.consume()}else if(U==="\\end"){V(),z.length===1&&L.type==="styling"&&L.body[0].body.length===0&&(T.length>1||!g)&&T.pop(),N.length0&&(F+=.25),p.push({pos:F,isDashed:fe[pe]})}for(V(o[0]),a=0;a0&&(r0+=O,Gfe))for(a=0;a=h)){var K0=void 0;(n>0||e.hskipBeforeAndAfter)&&(K0=q.deflt(m0.pregap,w),K0!==0&&(g0=b.makeSpan(["arraycolsep"],[]),g0.style.width=A(K0),s0.push(g0)));var J0=[];for(a=0;a0){for(var ma=b.makeLineSpan("hline",t,g),ca=b.makeLineSpan("hdashline",t,g),Ge=[{type:"elem",elem:c,shift:0}];p.length>0;){var Et=p.pop(),Rt=Et.pos-e0;Et.isDashed?Ge.push({type:"elem",elem:ca,shift:Rt}):Ge.push({type:"elem",elem:ma,shift:Rt})}c=b.makeVList({positionType:"individualShift",children:Ge},t)}if(W0.length===0)return b.makeSpan(["mord"],[c],t);var Ve=b.makeVList({positionType:"individualShift",children:W0},t);return Ve=b.makeSpan(["tag"],[Ve],t),b.makeFragment([c,Ve])},Y1={c:"center ",l:"left ",r:"right "},S0=function(e,t){for(var a=[],n=new S.MathNode("mtd",[],["mtr-glue"]),s=new S.MathNode("mtd",[],["mml-eqn-num"]),o=0;o0){var z=e.cols,T="",C=!1,N=0,O=z.length;z[0].type==="separator"&&(w+="top ",N=1),z[z.length-1].type==="separator"&&(w+="bottom ",O-=1);for(var F=N;F0?"left ":"",w+=j[j.length-1].length>0?"right ":"";for(var Y=1;Y-1?"alignat":"align",s=e.envName==="split",o=V0(e.parser,{cols:a,addJot:!0,autoTag:s?void 0:Mt(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:s?2:void 0,leqno:e.parser.settings.leqno},"display"),h,c=0,p={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&t[0].type==="ordgroup"){for(var g="",y=0;y0&&x&&(C=1),a[z]={type:"align",align:T,pregap:C,postgap:0}}return o.colSeparationType=x?"align":"alignat",o};w0({type:"array",names:["array","darray"],props:{numArgs:1},handler(r,e){var t=Re(e[0]),a=t?[e[0]]:H(e[0],"ordgroup").body,n=a.map(function(o){var h=yt(o),c=h.text;if("lcr".indexOf(c)!==-1)return{type:"align",align:c};if(c==="|")return{type:"separator",separator:"|"};if(c===":")return{type:"separator",separator:":"};throw new M("Unknown column alignment: "+c,o)}),s={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return V0(r.parser,s,zt(r.envName))},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(r){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[r.envName.replace("*","")],t="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(r.envName.charAt(r.envName.length-1)==="*"){var n=r.parser;if(n.consumeSpaces(),n.fetch().text==="["){if(n.consume(),n.consumeSpaces(),t=n.fetch().text,"lcr".indexOf(t)===-1)throw new M("Expected l or c or r",n.nextToken);n.consume(),n.consumeSpaces(),n.expect("]"),n.consume(),a.cols=[{type:"align",align:t}]}}var s=V0(r.parser,a,zt(r.envName)),o=Math.max(0,...s.body.map(h=>h.length));return s.cols=new Array(o).fill({type:"align",align:t}),e?{type:"leftright",mode:r.mode,body:[s],left:e[0],right:e[1],rightColor:void 0}:s},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(r){var e={arraystretch:.5},t=V0(r.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["subarray"],props:{numArgs:1},handler(r,e){var t=Re(e[0]),a=t?[e[0]]:H(e[0],"ordgroup").body,n=a.map(function(o){var h=yt(o),c=h.text;if("lc".indexOf(c)!==-1)return{type:"align",align:c};throw new M("Unknown column alignment: "+c,o)});if(n.length>1)throw new M("{subarray} can contain only one column");var s={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5};if(s=V0(r.parser,s,"script"),s.body.length>0&&s.body[0].length>1)throw new M("{subarray} can contain only one column");return s},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(r){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=V0(r.parser,e,zt(r.envName));return{type:"leftright",mode:r.mode,body:[t],left:r.envName.indexOf("r")>-1?".":"\\{",right:r.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:jr,htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(r){q.contains(["gather","gather*"],r.envName)&&Fe(r);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Mt(r.envName),emptySingleRow:!0,leqno:r.parser.settings.leqno};return V0(r.parser,e,"display")},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:jr,htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(r){Fe(r);var e={autoTag:Mt(r.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:r.parser.settings.leqno};return V0(r.parser,e,"display")},htmlBuilder:k0,mathmlBuilder:S0});w0({type:"array",names:["CD"],props:{numArgs:0},handler(r){return Fe(r),C1(r.parser)},htmlBuilder:k0,mathmlBuilder:S0});m("\\nonumber","\\gdef\\@eqnsw{0}");m("\\notag","\\nonumber");B({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(r,e){throw new M(r.funcName+" valid only within array environment")}});var Qt=$r;B({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];if(n.type!=="ordgroup")throw new M("Invalid environment name",n);for(var s="",o=0;o{var t=r.font,a=e.withFont(t);return P(r.body,a)},Kr=(r,e)=>{var t=r.font,a=e.withFont(t);return X(r.body,a)},_t={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};B({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=Ne(e[0]),s=a;return s in _t&&(s=_t[s]),{type:"font",mode:t.mode,font:s.slice(1),body:n}},htmlBuilder:Zr,mathmlBuilder:Kr});B({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(r,e)=>{var{parser:t}=r,a=e[0],n=q.isCharacterBox(a);return{type:"mclass",mode:t.mode,mclass:Ie(a),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:a}],isCharacterBox:n}}});B({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,breakOnTokenText:n}=r,{mode:s}=t,o=t.parseExpression(!0,n),h="math"+a.slice(1);return{type:"font",mode:s,font:h,body:{type:"ordgroup",mode:t.mode,body:o}}},htmlBuilder:Zr,mathmlBuilder:Kr});var Jr=(r,e)=>{var t=e;return r==="display"?t=t.id>=R.SCRIPT.id?t.text():R.DISPLAY:r==="text"&&t.size===R.DISPLAY.size?t=R.TEXT:r==="script"?t=R.SCRIPT:r==="scriptscript"&&(t=R.SCRIPTSCRIPT),t},At=(r,e)=>{var t=Jr(r.size,e.style),a=t.fracNum(),n=t.fracDen(),s;s=e.havingStyle(a);var o=P(r.numer,s,e);if(r.continued){var h=8.5/e.fontMetrics().ptPerEm,c=3.5/e.fontMetrics().ptPerEm;o.height=o.height0?z=3*w:z=7*w,T=e.fontMetrics().denom1):(y>0?(x=e.fontMetrics().num2,z=w):(x=e.fontMetrics().num3,z=3*w),T=e.fontMetrics().denom2);var C;if(g){var O=e.fontMetrics().axisHeight;x-o.depth-(O+.5*y){var t=new S.MathNode("mfrac",[X(r.numer,e),X(r.denom,e)]);if(!r.hasBarLine)t.setAttribute("linethickness","0px");else if(r.barSize){var a=K(r.barSize,e);t.setAttribute("linethickness",A(a))}var n=Jr(r.size,e.style);if(n.size!==e.style.size){t=new S.MathNode("mstyle",[t]);var s=n.size===R.DISPLAY.size?"true":"false";t.setAttribute("displaystyle",s),t.setAttribute("scriptlevel","0")}if(r.leftDelim!=null||r.rightDelim!=null){var o=[];if(r.leftDelim!=null){var h=new S.MathNode("mo",[new S.TextNode(r.leftDelim.replace("\\",""))]);h.setAttribute("fence","true"),o.push(h)}if(o.push(t),r.rightDelim!=null){var c=new S.MathNode("mo",[new S.TextNode(r.rightDelim.replace("\\",""))]);c.setAttribute("fence","true"),o.push(c)}return gt(o)}return t};B({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0],s=e[1],o,h=null,c=null,p="auto";switch(a){case"\\dfrac":case"\\frac":case"\\tfrac":o=!0;break;case"\\\\atopfrac":o=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":o=!1,h="(",c=")";break;case"\\\\bracefrac":o=!1,h="\\{",c="\\}";break;case"\\\\brackfrac":o=!1,h="[",c="]";break;default:throw new Error("Unrecognized genfrac command")}switch(a){case"\\dfrac":case"\\dbinom":p="display";break;case"\\tfrac":case"\\tbinom":p="text";break}return{type:"genfrac",mode:t.mode,continued:!1,numer:n,denom:s,hasBarLine:o,leftDelim:h,rightDelim:c,size:p,barSize:null}},htmlBuilder:At,mathmlBuilder:Tt});B({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0],s=e[1];return{type:"genfrac",mode:t.mode,continued:!0,numer:n,denom:s,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}});B({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(r){var{parser:e,funcName:t,token:a}=r,n;switch(t){case"\\over":n="\\frac";break;case"\\choose":n="\\binom";break;case"\\atop":n="\\\\atopfrac";break;case"\\brace":n="\\\\bracefrac";break;case"\\brack":n="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:n,token:a}}});var er=["display","text","script","scriptscript"],tr=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};B({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(r,e){var{parser:t}=r,a=e[4],n=e[5],s=Ne(e[0]),o=s.type==="atom"&&s.family==="open"?tr(s.text):null,h=Ne(e[1]),c=h.type==="atom"&&h.family==="close"?tr(h.text):null,p=H(e[2],"size"),g,y=null;p.isBlank?g=!0:(y=p.value,g=y.number>0);var w="auto",x=e[3];if(x.type==="ordgroup"){if(x.body.length>0){var z=H(x.body[0],"textord");w=er[Number(z.text)]}}else x=H(x,"textord"),w=er[Number(x.text)];return{type:"genfrac",mode:t.mode,numer:a,denom:n,continued:!1,hasBarLine:g,barSize:y,leftDelim:o,rightDelim:c,size:w}},htmlBuilder:At,mathmlBuilder:Tt});B({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(r,e){var{parser:t,funcName:a,token:n}=r;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:H(e[0],"size").value,token:n}}});B({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0],s=wa(H(e[1],"infix").size),o=e[2],h=s.number>0;return{type:"genfrac",mode:t.mode,numer:n,denom:o,continued:!1,hasBarLine:h,barSize:s,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:At,mathmlBuilder:Tt});var Qr=(r,e)=>{var t=e.style,a,n;r.type==="supsub"?(a=r.sup?P(r.sup,e.havingStyle(t.sup()),e):P(r.sub,e.havingStyle(t.sub()),e),n=H(r.base,"horizBrace")):n=H(r,"horizBrace");var s=P(n.base,e.havingBaseStyle(R.DISPLAY)),o=N0.svgSpan(n,e),h;if(n.isOver?(h=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},e),h.children[0].children[0].children[1].classes.push("svg-align")):(h=b.makeVList({positionType:"bottom",positionData:s.depth+.1+o.height,children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},e),h.children[0].children[0].children[0].classes.push("svg-align")),a){var c=b.makeSpan(["mord",n.isOver?"mover":"munder"],[h],e);n.isOver?h=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:c},{type:"kern",size:.2},{type:"elem",elem:a}]},e):h=b.makeVList({positionType:"bottom",positionData:c.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:c}]},e)}return b.makeSpan(["mord",n.isOver?"mover":"munder"],[h],e)},X1=(r,e)=>{var t=N0.mathMLnode(r.label);return new S.MathNode(r.isOver?"mover":"munder",[X(r.base,e),t])};B({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"horizBrace",mode:t.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Qr,mathmlBuilder:X1});B({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[1],n=H(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:t.mode,href:n,body:Q(a)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(r,e)=>{var t=t0(r.body,e,!1);return b.makeAnchor(r.href,[],t,e)},mathmlBuilder:(r,e)=>{var t=G0(r.body,e);return t instanceof c0||(t=new c0("mrow",[t])),t.setAttribute("href",r.href),t}});B({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=H(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:a}))return t.formatUnsupportedCmd("\\url");for(var n=[],s=0;s{var{parser:t,funcName:a,token:n}=r,s=H(e[0],"raw").string,o=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var h,c={};switch(a){case"\\htmlClass":c.class=s,h={command:"\\htmlClass",class:s};break;case"\\htmlId":c.id=s,h={command:"\\htmlId",id:s};break;case"\\htmlStyle":c.style=s,h={command:"\\htmlStyle",style:s};break;case"\\htmlData":{for(var p=s.split(","),g=0;g{var t=t0(r.body,e,!1),a=["enclosing"];r.attributes.class&&a.push(...r.attributes.class.trim().split(/\s+/));var n=b.makeSpan(a,t,e);for(var s in r.attributes)s!=="class"&&r.attributes.hasOwnProperty(s)&&n.setAttribute(s,r.attributes[s]);return n},mathmlBuilder:(r,e)=>G0(r.body,e)});B({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"htmlmathml",mode:t.mode,html:Q(e[0]),mathml:Q(e[1])}},htmlBuilder:(r,e)=>{var t=t0(r.html,e,!1);return b.makeFragment(t)},mathmlBuilder:(r,e)=>G0(r.mathml,e)});var _e=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new M("Invalid size: '"+e+"' in \\includegraphics");var a={number:+(t[1]+t[2]),unit:t[3]};if(!gr(a))throw new M("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};B({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(r,e,t)=>{var{parser:a}=r,n={number:0,unit:"em"},s={number:.9,unit:"em"},o={number:0,unit:"em"},h="";if(t[0])for(var c=H(t[0],"raw").string,p=c.split(","),g=0;g{var t=K(r.height,e),a=0;r.totalheight.number>0&&(a=K(r.totalheight,e)-t);var n=0;r.width.number>0&&(n=K(r.width,e));var s={height:A(t+a)};n>0&&(s.width=A(n)),a>0&&(s.verticalAlign=A(-a));var o=new Xa(r.src,r.alt,s);return o.height=t,o.depth=a,o},mathmlBuilder:(r,e)=>{var t=new S.MathNode("mglyph",[]);t.setAttribute("alt",r.alt);var a=K(r.height,e),n=0;if(r.totalheight.number>0&&(n=K(r.totalheight,e)-a,t.setAttribute("valign",A(-n))),t.setAttribute("height",A(a+n)),r.width.number>0){var s=K(r.width,e);t.setAttribute("width",A(s))}return t.setAttribute("src",r.src),t}});B({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,n=H(e[0],"size");if(t.settings.strict){var s=a[1]==="m",o=n.value.unit==="mu";s?(o||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+n.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):o&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:n.value}},htmlBuilder(r,e){return b.makeGlue(r.dimension,e)},mathmlBuilder(r,e){var t=K(r.dimension,e);return new S.SpaceNode(t)}});B({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0];return{type:"lap",mode:t.mode,alignment:a.slice(5),body:n}},htmlBuilder:(r,e)=>{var t;r.alignment==="clap"?(t=b.makeSpan([],[P(r.body,e)]),t=b.makeSpan(["inner"],[t],e)):t=b.makeSpan(["inner"],[P(r.body,e)]);var a=b.makeSpan(["fix"],[]),n=b.makeSpan([r.alignment],[t,a],e),s=b.makeSpan(["strut"]);return s.style.height=A(n.height+n.depth),n.depth&&(s.style.verticalAlign=A(-n.depth)),n.children.unshift(s),n=b.makeSpan(["thinbox"],[n],e),b.makeSpan(["mord","vbox"],[n],e)},mathmlBuilder:(r,e)=>{var t=new S.MathNode("mpadded",[X(r.body,e)]);if(r.alignment!=="rlap"){var a=r.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",a+"width")}return t.setAttribute("width","0px"),t}});B({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){var{funcName:t,parser:a}=r,n=a.mode;a.switchMode("math");var s=t==="\\("?"\\)":"$",o=a.parseExpression(!1,s);return a.expect(s),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:o}}});B({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){throw new M("Mismatched "+r.funcName)}});var rr=(r,e)=>{switch(e.style.size){case R.DISPLAY.size:return r.display;case R.TEXT.size:return r.text;case R.SCRIPT.size:return r.script;case R.SCRIPTSCRIPT.size:return r.scriptscript;default:return r.text}};B({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"mathchoice",mode:t.mode,display:Q(e[0]),text:Q(e[1]),script:Q(e[2]),scriptscript:Q(e[3])}},htmlBuilder:(r,e)=>{var t=rr(r,e),a=t0(t,e,!1);return b.makeFragment(a)},mathmlBuilder:(r,e)=>{var t=rr(r,e);return G0(t,e)}});var _r=(r,e,t,a,n,s,o)=>{r=b.makeSpan([],[r]);var h=t&&q.isCharacterBox(t),c,p;if(e){var g=P(e,a.havingStyle(n.sup()),a);p={elem:g,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-g.depth)}}if(t){var y=P(t,a.havingStyle(n.sub()),a);c={elem:y,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-y.height)}}var w;if(p&&c){var x=a.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+r.depth+o;w=b.makeVList({positionType:"bottom",positionData:x,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:c.elem,marginLeft:A(-s)},{type:"kern",size:c.kern},{type:"elem",elem:r},{type:"kern",size:p.kern},{type:"elem",elem:p.elem,marginLeft:A(s)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(c){var z=r.height-o;w=b.makeVList({positionType:"top",positionData:z,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:c.elem,marginLeft:A(-s)},{type:"kern",size:c.kern},{type:"elem",elem:r}]},a)}else if(p){var T=r.depth+o;w=b.makeVList({positionType:"bottom",positionData:T,children:[{type:"elem",elem:r},{type:"kern",size:p.kern},{type:"elem",elem:p.elem,marginLeft:A(s)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else return r;var C=[w];if(c&&s!==0&&!h){var N=b.makeSpan(["mspace"],[],a);N.style.marginRight=A(s),C.unshift(N)}return b.makeSpan(["mop","op-limits"],C,a)},ea=["\\smallint"],re=(r,e)=>{var t,a,n=!1,s;r.type==="supsub"?(t=r.sup,a=r.sub,s=H(r.base,"op"),n=!0):s=H(r,"op");var o=e.style,h=!1;o.size===R.DISPLAY.size&&s.symbol&&!q.contains(ea,s.name)&&(h=!0);var c;if(s.symbol){var p=h?"Size2-Regular":"Size1-Regular",g="";if((s.name==="\\oiint"||s.name==="\\oiiint")&&(g=s.name.slice(1),s.name=g==="oiint"?"\\iint":"\\iiint"),c=b.makeSymbol(s.name,p,"math",e,["mop","op-symbol",h?"large-op":"small-op"]),g.length>0){var y=c.italic,w=b.staticSvg(g+"Size"+(h?"2":"1"),e);c=b.makeVList({positionType:"individualShift",children:[{type:"elem",elem:c,shift:0},{type:"elem",elem:w,shift:h?.08:0}]},e),s.name="\\"+g,c.classes.unshift("mop"),c.italic=y}}else if(s.body){var x=t0(s.body,e,!0);x.length===1&&x[0]instanceof p0?(c=x[0],c.classes[0]="mop"):c=b.makeSpan(["mop"],x,e)}else{for(var z=[],T=1;T{var t;if(r.symbol)t=new c0("mo",[v0(r.name,r.mode)]),q.contains(ea,r.name)&&t.setAttribute("largeop","false");else if(r.body)t=new c0("mo",o0(r.body,e));else{t=new c0("mi",[new ie(r.name.slice(1))]);var a=new c0("mo",[v0("⁡","text")]);r.parentIsSupSub?t=new c0("mrow",[t,a]):t=Br([t,a])}return t},$1={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};B({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=a;return n.length===1&&(n=$1[n]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:re,mathmlBuilder:me});B({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Q(a)}},htmlBuilder:re,mathmlBuilder:me});var W1={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};B({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:re,mathmlBuilder:me});B({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:re,mathmlBuilder:me});B({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r,a=t;return a.length===1&&(a=W1[a]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:re,mathmlBuilder:me});var ta=(r,e)=>{var t,a,n=!1,s;r.type==="supsub"?(t=r.sup,a=r.sub,s=H(r.base,"operatorname"),n=!0):s=H(r,"operatorname");var o;if(s.body.length>0){for(var h=s.body.map(y=>{var w=y.text;return typeof w=="string"?{type:"textord",mode:y.mode,text:w}:y}),c=t0(h,e.withFont("mathrm"),!0),p=0;p{for(var t=o0(r.body,e.withFont("mathrm")),a=!0,n=0;ng.toText()).join("");t=[new S.TextNode(h)]}var c=new S.MathNode("mi",t);c.setAttribute("mathvariant","normal");var p=new S.MathNode("mo",[v0("⁡","text")]);return r.parentIsSupSub?new S.MathNode("mrow",[c,p]):S.newDocumentFragment([c,p])};B({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0];return{type:"operatorname",mode:t.mode,body:Q(n),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:ta,mathmlBuilder:j1});m("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");$0({type:"ordgroup",htmlBuilder(r,e){return r.semisimple?b.makeFragment(t0(r.body,e,!1)):b.makeSpan(["mord"],t0(r.body,e,!0),e)},mathmlBuilder(r,e){return G0(r.body,e,!0)}});B({type:"overline",names:["\\overline"],props:{numArgs:1},handler(r,e){var{parser:t}=r,a=e[0];return{type:"overline",mode:t.mode,body:a}},htmlBuilder(r,e){var t=P(r.body,e.havingCrampedStyle()),a=b.makeLineSpan("overline-line",e),n=e.fontMetrics().defaultRuleThickness,s=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*n},{type:"elem",elem:a},{type:"kern",size:n}]},e);return b.makeSpan(["mord","overline"],[s],e)},mathmlBuilder(r,e){var t=new S.MathNode("mo",[new S.TextNode("‾")]);t.setAttribute("stretchy","true");var a=new S.MathNode("mover",[X(r.body,e),t]);return a.setAttribute("accent","true"),a}});B({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"phantom",mode:t.mode,body:Q(a)}},htmlBuilder:(r,e)=>{var t=t0(r.body,e.withPhantom(),!1);return b.makeFragment(t)},mathmlBuilder:(r,e)=>{var t=o0(r.body,e);return new S.MathNode("mphantom",t)}});B({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"hphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=b.makeSpan([],[P(r.body,e.withPhantom())]);if(t.height=0,t.depth=0,t.children)for(var a=0;a{var t=o0(Q(r.body),e),a=new S.MathNode("mphantom",t),n=new S.MathNode("mpadded",[a]);return n.setAttribute("height","0px"),n.setAttribute("depth","0px"),n}});B({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"vphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=b.makeSpan(["inner"],[P(r.body,e.withPhantom())]),a=b.makeSpan(["fix"],[]);return b.makeSpan(["mord","rlap"],[t,a],e)},mathmlBuilder:(r,e)=>{var t=o0(Q(r.body),e),a=new S.MathNode("mphantom",t),n=new S.MathNode("mpadded",[a]);return n.setAttribute("width","0px"),n}});B({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r,a=H(e[0],"size").value,n=e[1];return{type:"raisebox",mode:t.mode,dy:a,body:n}},htmlBuilder(r,e){var t=P(r.body,e),a=K(r.dy,e);return b.makeVList({positionType:"shift",positionData:-a,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){var t=new S.MathNode("mpadded",[X(r.body,e)]),a=r.dy.number+r.dy.unit;return t.setAttribute("voffset",a),t}});B({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e}=r;return{type:"internal",mode:e.mode}}});B({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(r,e,t){var{parser:a}=r,n=t[0],s=H(e[0],"size"),o=H(e[1],"size");return{type:"rule",mode:a.mode,shift:n&&H(n,"size").value,width:s.value,height:o.value}},htmlBuilder(r,e){var t=b.makeSpan(["mord","rule"],[],e),a=K(r.width,e),n=K(r.height,e),s=r.shift?K(r.shift,e):0;return t.style.borderRightWidth=A(a),t.style.borderTopWidth=A(n),t.style.bottom=A(s),t.width=a,t.height=n+s,t.depth=-s,t.maxFontSize=n*1.125*e.sizeMultiplier,t},mathmlBuilder(r,e){var t=K(r.width,e),a=K(r.height,e),n=r.shift?K(r.shift,e):0,s=e.color&&e.getColor()||"black",o=new S.MathNode("mspace");o.setAttribute("mathbackground",s),o.setAttribute("width",A(t)),o.setAttribute("height",A(a));var h=new S.MathNode("mpadded",[o]);return n>=0?h.setAttribute("height",A(n)):(h.setAttribute("height",A(n)),h.setAttribute("depth",A(-n))),h.setAttribute("voffset",A(n)),h}});function ra(r,e,t){for(var a=t0(r,e,!1),n=e.sizeMultiplier/t.sizeMultiplier,s=0;s{var t=e.havingSize(r.size);return ra(r.body,t,e)};B({type:"sizing",names:ar,props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{breakOnTokenText:t,funcName:a,parser:n}=r,s=n.parseExpression(!1,t);return{type:"sizing",mode:n.mode,size:ar.indexOf(a)+1,body:s}},htmlBuilder:Z1,mathmlBuilder:(r,e)=>{var t=e.havingSize(r.size),a=o0(r.body,t),n=new S.MathNode("mstyle",a);return n.setAttribute("mathsize",A(t.sizeMultiplier)),n}});B({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(r,e,t)=>{var{parser:a}=r,n=!1,s=!1,o=t[0]&&H(t[0],"ordgroup");if(o)for(var h="",c=0;c{var t=b.makeSpan([],[P(r.body,e)]);if(!r.smashHeight&&!r.smashDepth)return t;if(r.smashHeight&&(t.height=0,t.children))for(var a=0;a{var t=new S.MathNode("mpadded",[X(r.body,e)]);return r.smashHeight&&t.setAttribute("height","0px"),r.smashDepth&&t.setAttribute("depth","0px"),t}});B({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a}=r,n=t[0],s=e[0];return{type:"sqrt",mode:a.mode,body:s,index:n}},htmlBuilder(r,e){var t=P(r.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=b.wrapFragment(t,e);var a=e.fontMetrics(),n=a.defaultRuleThickness,s=n;e.style.idt.height+t.depth+o&&(o=(o+y-t.height-t.depth)/2);var w=c.height-t.height-o-p;t.style.paddingLeft=A(g);var x=b.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+w)},{type:"elem",elem:c},{type:"kern",size:p}]},e);if(r.index){var z=e.havingStyle(R.SCRIPTSCRIPT),T=P(r.index,z,e),C=.6*(x.height-x.depth),N=b.makeVList({positionType:"shift",positionData:-C,children:[{type:"elem",elem:T}]},e),O=b.makeSpan(["root"],[N]);return b.makeSpan(["mord","sqrt"],[O,x],e)}else return b.makeSpan(["mord","sqrt"],[x],e)},mathmlBuilder(r,e){var{body:t,index:a}=r;return a?new S.MathNode("mroot",[X(t,e),X(a,e)]):new S.MathNode("msqrt",[X(t,e)])}});var nr={display:R.DISPLAY,text:R.TEXT,script:R.SCRIPT,scriptscript:R.SCRIPTSCRIPT};B({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r,e){var{breakOnTokenText:t,funcName:a,parser:n}=r,s=n.parseExpression(!0,t),o=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:o,body:s}},htmlBuilder(r,e){var t=nr[r.style],a=e.havingStyle(t).withFont("");return ra(r.body,a,e)},mathmlBuilder(r,e){var t=nr[r.style],a=e.havingStyle(t),n=o0(r.body,a),s=new S.MathNode("mstyle",n),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},h=o[r.style];return s.setAttribute("scriptlevel",h[0]),s.setAttribute("displaystyle",h[1]),s}});var K1=function(e,t){var a=e.base;if(a)if(a.type==="op"){var n=a.limits&&(t.style.size===R.DISPLAY.size||a.alwaysHandleSupSub);return n?re:null}else if(a.type==="operatorname"){var s=a.alwaysHandleSupSub&&(t.style.size===R.DISPLAY.size||a.limits);return s?ta:null}else{if(a.type==="accent")return q.isCharacterBox(a.base)?xt:null;if(a.type==="horizBrace"){var o=!e.sub;return o===a.isOver?Qr:null}else return null}else return null};$0({type:"supsub",htmlBuilder(r,e){var t=K1(r,e);if(t)return t(r,e);var{base:a,sup:n,sub:s}=r,o=P(a,e),h,c,p=e.fontMetrics(),g=0,y=0,w=a&&q.isCharacterBox(a);if(n){var x=e.havingStyle(e.style.sup());h=P(n,x,e),w||(g=o.height-x.fontMetrics().supDrop*x.sizeMultiplier/e.sizeMultiplier)}if(s){var z=e.havingStyle(e.style.sub());c=P(s,z,e),w||(y=o.depth+z.fontMetrics().subDrop*z.sizeMultiplier/e.sizeMultiplier)}var T;e.style===R.DISPLAY?T=p.sup1:e.style.cramped?T=p.sup3:T=p.sup2;var C=e.sizeMultiplier,N=A(.5/p.ptPerEm/C),O=null;if(c){var F=r.base&&r.base.type==="op"&&r.base.name&&(r.base.name==="\\oiint"||r.base.name==="\\oiiint");(o instanceof p0||F)&&(O=A(-o.italic))}var V;if(h&&c){g=Math.max(g,T,h.depth+.25*p.xHeight),y=Math.max(y,p.sub2);var L=p.defaultRuleThickness,U=4*L;if(g-h.depth-(c.height-y)0&&(g+=G,y-=G)}var j=[{type:"elem",elem:c,shift:y,marginRight:N,marginLeft:O},{type:"elem",elem:h,shift:-g,marginRight:N}];V=b.makeVList({positionType:"individualShift",children:j},e)}else if(c){y=Math.max(y,p.sub1,c.height-.8*p.xHeight);var Y=[{type:"elem",elem:c,marginLeft:O,marginRight:N}];V=b.makeVList({positionType:"shift",positionData:y,children:Y},e)}else if(h)g=Math.max(g,T,h.depth+.25*p.xHeight),V=b.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:h,marginRight:N}]},e);else throw new Error("supsub must have either sup or sub.");var M0=lt(o,"right")||"mord";return b.makeSpan([M0],[o,b.makeSpan(["msupsub"],[V])],e)},mathmlBuilder(r,e){var t=!1,a,n;r.base&&r.base.type==="horizBrace"&&(n=!!r.sup,n===r.base.isOver&&(t=!0,a=r.base.isOver)),r.base&&(r.base.type==="op"||r.base.type==="operatorname")&&(r.base.parentIsSupSub=!0);var s=[X(r.base,e)];r.sub&&s.push(X(r.sub,e)),r.sup&&s.push(X(r.sup,e));var o;if(t)o=a?"mover":"munder";else if(r.sub)if(r.sup){var p=r.base;p&&p.type==="op"&&p.limits&&e.style===R.DISPLAY||p&&p.type==="operatorname"&&p.alwaysHandleSupSub&&(e.style===R.DISPLAY||p.limits)?o="munderover":o="msubsup"}else{var c=r.base;c&&c.type==="op"&&c.limits&&(e.style===R.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||e.style===R.DISPLAY)?o="munder":o="msub"}else{var h=r.base;h&&h.type==="op"&&h.limits&&(e.style===R.DISPLAY||h.alwaysHandleSupSub)||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(h.limits||e.style===R.DISPLAY)?o="mover":o="msup"}return new S.MathNode(o,s)}});$0({type:"atom",htmlBuilder(r,e){return b.mathsym(r.text,r.mode,e,["m"+r.family])},mathmlBuilder(r,e){var t=new S.MathNode("mo",[v0(r.text,r.mode)]);if(r.family==="bin"){var a=bt(r,e);a==="bold-italic"&&t.setAttribute("mathvariant",a)}else r.family==="punct"?t.setAttribute("separator","true"):(r.family==="open"||r.family==="close")&&t.setAttribute("stretchy","false");return t}});var aa={mi:"italic",mn:"normal",mtext:"normal"};$0({type:"mathord",htmlBuilder(r,e){return b.makeOrd(r,e,"mathord")},mathmlBuilder(r,e){var t=new S.MathNode("mi",[v0(r.text,r.mode,e)]),a=bt(r,e)||"italic";return a!==aa[t.type]&&t.setAttribute("mathvariant",a),t}});$0({type:"textord",htmlBuilder(r,e){return b.makeOrd(r,e,"textord")},mathmlBuilder(r,e){var t=v0(r.text,r.mode,e),a=bt(r,e)||"normal",n;return r.mode==="text"?n=new S.MathNode("mtext",[t]):/[0-9]/.test(r.text)?n=new S.MathNode("mn",[t]):r.text==="\\prime"?n=new S.MathNode("mo",[t]):n=new S.MathNode("mi",[t]),a!==aa[n.type]&&n.setAttribute("mathvariant",a),n}});var et={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},tt={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};$0({type:"spacing",htmlBuilder(r,e){if(tt.hasOwnProperty(r.text)){var t=tt[r.text].className||"";if(r.mode==="text"){var a=b.makeOrd(r,e,"textord");return a.classes.push(t),a}else return b.makeSpan(["mspace",t],[b.mathsym(r.text,r.mode,e)],e)}else{if(et.hasOwnProperty(r.text))return b.makeSpan(["mspace",et[r.text]],[],e);throw new M('Unknown type of space "'+r.text+'"')}},mathmlBuilder(r,e){var t;if(tt.hasOwnProperty(r.text))t=new S.MathNode("mtext",[new S.TextNode(" ")]);else{if(et.hasOwnProperty(r.text))return new S.MathNode("mspace");throw new M('Unknown type of space "'+r.text+'"')}return t}});var ir=()=>{var r=new S.MathNode("mtd",[]);return r.setAttribute("width","50%"),r};$0({type:"tag",mathmlBuilder(r,e){var t=new S.MathNode("mtable",[new S.MathNode("mtr",[ir(),new S.MathNode("mtd",[G0(r.body,e)]),ir(),new S.MathNode("mtd",[G0(r.tag,e)])])]);return t.setAttribute("width","100%"),t}});var sr={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},lr={"\\textbf":"textbf","\\textmd":"textmd"},J1={"\\textit":"textit","\\textup":"textup"},or=(r,e)=>{var t=r.font;if(t){if(sr[t])return e.withTextFontFamily(sr[t]);if(lr[t])return e.withTextFontWeight(lr[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(J1[t])};B({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];return{type:"text",mode:t.mode,body:Q(n),font:a}},htmlBuilder(r,e){var t=or(r,e),a=t0(r.body,t,!0);return b.makeSpan(["mord","text"],a,t)},mathmlBuilder(r,e){var t=or(r,e);return G0(r.body,t)}});B({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=P(r.body,e),a=b.makeLineSpan("underline-line",e),n=e.fontMetrics().defaultRuleThickness,s=b.makeVList({positionType:"top",positionData:t.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:t}]},e);return b.makeSpan(["mord","underline"],[s],e)},mathmlBuilder(r,e){var t=new S.MathNode("mo",[new S.TextNode("‾")]);t.setAttribute("stretchy","true");var a=new S.MathNode("munder",[X(r.body,e),t]);return a.setAttribute("accentunder","true"),a}});B({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=P(r.body,e),a=e.fontMetrics().axisHeight,n=.5*(t.height-a-(t.depth+a));return b.makeVList({positionType:"shift",positionData:n,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){return new S.MathNode("mpadded",[X(r.body,e)],["vcenter"])}});B({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(r,e,t){throw new M("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(r,e){for(var t=ur(r),a=[],n=e.havingStyle(e.style.text()),s=0;sr.body.replace(/ /g,r.star?"␣":" "),H0=Ar,na=`[ \r + ]`,Q1="\\\\[a-zA-Z@]+",_1="\\\\[^\uD800-\uDFFF]",e4="("+Q1+")"+na+"*",t4=`\\\\( +|[ \r ]+ +?)[ \r ]*`,mt="[̀-ͯ]",r4=new RegExp(mt+"+$"),a4="("+na+"+)|"+(t4+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(mt+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(mt+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+e4)+("|"+_1+")");class hr{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(a4,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new f0("EOF",new u0(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new M("Unexpected character: '"+e[t]+"'",new f0(e[t],new u0(this,t,t+1)));var n=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[n]===14){var s=e.indexOf(` +`,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new f0(n,new u0(this,t,this.tokenRegex.lastIndex))}}class n4{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new M("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,a){if(a===void 0&&(a=!1),a){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var s=this.undefStack[this.undefStack.length-1];s&&!s.hasOwnProperty(e)&&(s[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}}var i4=Wr;m("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});m("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}});m("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}});m("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}});m("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});m("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");m("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var mr={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};m("\\char",function(r){var e=r.popToken(),t,a="";if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new M("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=mr[e.text],a==null||a>=t)throw new M("Invalid base-"+t+" digit "+e.text);for(var n;(n=mr[r.future().text])!=null&&n{var a=r.consumeArg().tokens;if(a.length!==1)throw new M("\\newcommand's first argument must be a macro name");var n=a[0].text,s=r.isDefined(n);if(s&&!e)throw new M("\\newcommand{"+n+"} attempting to redefine "+(n+"; use \\renewcommand"));if(!s&&!t)throw new M("\\renewcommand{"+n+"} when command "+n+" does not yet exist; use \\newcommand");var o=0;if(a=r.consumeArg().tokens,a.length===1&&a[0].text==="["){for(var h="",c=r.expandNextToken();c.text!=="]"&&c.text!=="EOF";)h+=c.text,c=r.expandNextToken();if(!h.match(/^\s*[0-9]+\s*$/))throw new M("Invalid number of arguments: "+h);o=parseInt(h),a=r.consumeArg().tokens}return r.macros.set(n,{tokens:a,numArgs:o}),""};m("\\newcommand",r=>Bt(r,!1,!0));m("\\renewcommand",r=>Bt(r,!0,!1));m("\\providecommand",r=>Bt(r,!0,!0));m("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});m("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});m("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),H0[t],$.math[t],$.text[t]),""});m("\\bgroup","{");m("\\egroup","}");m("~","\\nobreakspace");m("\\lq","`");m("\\rq","'");m("\\aa","\\r a");m("\\AA","\\r A");m("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");m("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");m("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");m("ℬ","\\mathscr{B}");m("ℰ","\\mathscr{E}");m("ℱ","\\mathscr{F}");m("ℋ","\\mathscr{H}");m("ℐ","\\mathscr{I}");m("ℒ","\\mathscr{L}");m("ℳ","\\mathscr{M}");m("ℛ","\\mathscr{R}");m("ℭ","\\mathfrak{C}");m("ℌ","\\mathfrak{H}");m("ℨ","\\mathfrak{Z}");m("\\Bbbk","\\Bbb{k}");m("·","\\cdotp");m("\\llap","\\mathllap{\\textrm{#1}}");m("\\rlap","\\mathrlap{\\textrm{#1}}");m("\\clap","\\mathclap{\\textrm{#1}}");m("\\mathstrut","\\vphantom{(}");m("\\underbar","\\underline{\\text{#1}}");m("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');m("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");m("\\ne","\\neq");m("≠","\\neq");m("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");m("∉","\\notin");m("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");m("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");m("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");m("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");m("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");m("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");m("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");m("⟂","\\perp");m("‼","\\mathclose{!\\mkern-0.8mu!}");m("∌","\\notni");m("⌜","\\ulcorner");m("⌝","\\urcorner");m("⌞","\\llcorner");m("⌟","\\lrcorner");m("©","\\copyright");m("®","\\textregistered");m("️","\\textregistered");m("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');m("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');m("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');m("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');m("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}");m("⋮","\\vdots");m("\\varGamma","\\mathit{\\Gamma}");m("\\varDelta","\\mathit{\\Delta}");m("\\varTheta","\\mathit{\\Theta}");m("\\varLambda","\\mathit{\\Lambda}");m("\\varXi","\\mathit{\\Xi}");m("\\varPi","\\mathit{\\Pi}");m("\\varSigma","\\mathit{\\Sigma}");m("\\varUpsilon","\\mathit{\\Upsilon}");m("\\varPhi","\\mathit{\\Phi}");m("\\varPsi","\\mathit{\\Psi}");m("\\varOmega","\\mathit{\\Omega}");m("\\substack","\\begin{subarray}{c}#1\\end{subarray}");m("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");m("\\boxed","\\fbox{$\\displaystyle{#1}$}");m("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");m("\\implies","\\DOTSB\\;\\Longrightarrow\\;");m("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var cr={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\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"};m("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in cr?e=cr[t]:(t.slice(0,4)==="\\not"||t in $.math&&q.contains(["bin","rel"],$.math[t].group))&&(e="\\dotsb"),e});var Dt={")":!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};m("\\dotso",function(r){var e=r.future().text;return e in Dt?"\\ldots\\,":"\\ldots"});m("\\dotsc",function(r){var e=r.future().text;return e in Dt&&e!==","?"\\ldots\\,":"\\ldots"});m("\\cdots",function(r){var e=r.future().text;return e in Dt?"\\@cdots\\,":"\\@cdots"});m("\\dotsb","\\cdots");m("\\dotsm","\\cdots");m("\\dotsi","\\!\\cdots");m("\\dotsx","\\ldots\\,");m("\\DOTSI","\\relax");m("\\DOTSB","\\relax");m("\\DOTSX","\\relax");m("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");m("\\,","\\tmspace+{3mu}{.1667em}");m("\\thinspace","\\,");m("\\>","\\mskip{4mu}");m("\\:","\\tmspace+{4mu}{.2222em}");m("\\medspace","\\:");m("\\;","\\tmspace+{5mu}{.2777em}");m("\\thickspace","\\;");m("\\!","\\tmspace-{3mu}{.1667em}");m("\\negthinspace","\\!");m("\\negmedspace","\\tmspace-{4mu}{.2222em}");m("\\negthickspace","\\tmspace-{5mu}{.277em}");m("\\enspace","\\kern.5em ");m("\\enskip","\\hskip.5em\\relax");m("\\quad","\\hskip1em\\relax");m("\\qquad","\\hskip2em\\relax");m("\\tag","\\@ifstar\\tag@literal\\tag@paren");m("\\tag@paren","\\tag@literal{({#1})}");m("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new M("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});m("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");m("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");m("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");m("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");m("\\newline","\\\\\\relax");m("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var ia=A(x0["Main-Regular"][84][1]-.7*x0["Main-Regular"][65][1]);m("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+ia+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");m("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+ia+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");m("\\hspace","\\@ifstar\\@hspacer\\@hspace");m("\\@hspace","\\hskip #1\\relax");m("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");m("\\ordinarycolon",":");m("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");m("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');m("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');m("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');m("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');m("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');m("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');m("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');m("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');m("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');m("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');m("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');m("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');m("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');m("∷","\\dblcolon");m("∹","\\eqcolon");m("≔","\\coloneqq");m("≕","\\eqqcolon");m("⩴","\\Coloneqq");m("\\ratio","\\vcentcolon");m("\\coloncolon","\\dblcolon");m("\\colonequals","\\coloneqq");m("\\coloncolonequals","\\Coloneqq");m("\\equalscolon","\\eqqcolon");m("\\equalscoloncolon","\\Eqqcolon");m("\\colonminus","\\coloneq");m("\\coloncolonminus","\\Coloneq");m("\\minuscolon","\\eqcolon");m("\\minuscoloncolon","\\Eqcolon");m("\\coloncolonapprox","\\Colonapprox");m("\\coloncolonsim","\\Colonsim");m("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");m("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");m("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");m("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");m("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");m("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");m("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");m("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");m("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");m("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");m("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");m("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");m("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");m("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");m("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");m("\\nleqq","\\html@mathml{\\@nleqq}{≰}");m("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");m("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");m("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");m("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");m("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");m("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");m("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");m("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");m("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");m("\\imath","\\html@mathml{\\@imath}{ı}");m("\\jmath","\\html@mathml{\\@jmath}{ȷ}");m("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");m("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");m("⟦","\\llbracket");m("⟧","\\rrbracket");m("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");m("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");m("⦃","\\lBrace");m("⦄","\\rBrace");m("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");m("⦵","\\minuso");m("\\darr","\\downarrow");m("\\dArr","\\Downarrow");m("\\Darr","\\Downarrow");m("\\lang","\\langle");m("\\rang","\\rangle");m("\\uarr","\\uparrow");m("\\uArr","\\Uparrow");m("\\Uarr","\\Uparrow");m("\\N","\\mathbb{N}");m("\\R","\\mathbb{R}");m("\\Z","\\mathbb{Z}");m("\\alef","\\aleph");m("\\alefsym","\\aleph");m("\\Alpha","\\mathrm{A}");m("\\Beta","\\mathrm{B}");m("\\bull","\\bullet");m("\\Chi","\\mathrm{X}");m("\\clubs","\\clubsuit");m("\\cnums","\\mathbb{C}");m("\\Complex","\\mathbb{C}");m("\\Dagger","\\ddagger");m("\\diamonds","\\diamondsuit");m("\\empty","\\emptyset");m("\\Epsilon","\\mathrm{E}");m("\\Eta","\\mathrm{H}");m("\\exist","\\exists");m("\\harr","\\leftrightarrow");m("\\hArr","\\Leftrightarrow");m("\\Harr","\\Leftrightarrow");m("\\hearts","\\heartsuit");m("\\image","\\Im");m("\\infin","\\infty");m("\\Iota","\\mathrm{I}");m("\\isin","\\in");m("\\Kappa","\\mathrm{K}");m("\\larr","\\leftarrow");m("\\lArr","\\Leftarrow");m("\\Larr","\\Leftarrow");m("\\lrarr","\\leftrightarrow");m("\\lrArr","\\Leftrightarrow");m("\\Lrarr","\\Leftrightarrow");m("\\Mu","\\mathrm{M}");m("\\natnums","\\mathbb{N}");m("\\Nu","\\mathrm{N}");m("\\Omicron","\\mathrm{O}");m("\\plusmn","\\pm");m("\\rarr","\\rightarrow");m("\\rArr","\\Rightarrow");m("\\Rarr","\\Rightarrow");m("\\real","\\Re");m("\\reals","\\mathbb{R}");m("\\Reals","\\mathbb{R}");m("\\Rho","\\mathrm{P}");m("\\sdot","\\cdot");m("\\sect","\\S");m("\\spades","\\spadesuit");m("\\sub","\\subset");m("\\sube","\\subseteq");m("\\supe","\\supseteq");m("\\Tau","\\mathrm{T}");m("\\thetasym","\\vartheta");m("\\weierp","\\wp");m("\\Zeta","\\mathrm{Z}");m("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");m("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");m("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");m("\\bra","\\mathinner{\\langle{#1}|}");m("\\ket","\\mathinner{|{#1}\\rangle}");m("\\braket","\\mathinner{\\langle{#1}\\rangle}");m("\\Bra","\\left\\langle#1\\right|");m("\\Ket","\\left|#1\\right\\rangle");var sa=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,n=e.consumeArg().tokens,s=e.consumeArg().tokens,o=e.macros.get("|"),h=e.macros.get("\\|");e.macros.beginGroup();var c=y=>w=>{r&&(w.macros.set("|",o),n.length&&w.macros.set("\\|",h));var x=y;if(!y&&n.length){var z=w.future();z.text==="|"&&(w.popToken(),x=!0)}return{tokens:x?n:a,numArgs:0}};e.macros.set("|",c(!1)),n.length&&e.macros.set("\\|",c(!0));var p=e.consumeArg().tokens,g=e.expandTokens([...s,...p,...t]);return e.macros.endGroup(),{tokens:g.reverse(),numArgs:0}};m("\\bra@ket",sa(!1));m("\\bra@set",sa(!0));m("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");m("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");m("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");m("\\angln","{\\angl n}");m("\\blue","\\textcolor{##6495ed}{#1}");m("\\orange","\\textcolor{##ffa500}{#1}");m("\\pink","\\textcolor{##ff00af}{#1}");m("\\red","\\textcolor{##df0030}{#1}");m("\\green","\\textcolor{##28ae7b}{#1}");m("\\gray","\\textcolor{gray}{#1}");m("\\purple","\\textcolor{##9d38bd}{#1}");m("\\blueA","\\textcolor{##ccfaff}{#1}");m("\\blueB","\\textcolor{##80f6ff}{#1}");m("\\blueC","\\textcolor{##63d9ea}{#1}");m("\\blueD","\\textcolor{##11accd}{#1}");m("\\blueE","\\textcolor{##0c7f99}{#1}");m("\\tealA","\\textcolor{##94fff5}{#1}");m("\\tealB","\\textcolor{##26edd5}{#1}");m("\\tealC","\\textcolor{##01d1c1}{#1}");m("\\tealD","\\textcolor{##01a995}{#1}");m("\\tealE","\\textcolor{##208170}{#1}");m("\\greenA","\\textcolor{##b6ffb0}{#1}");m("\\greenB","\\textcolor{##8af281}{#1}");m("\\greenC","\\textcolor{##74cf70}{#1}");m("\\greenD","\\textcolor{##1fab54}{#1}");m("\\greenE","\\textcolor{##0d923f}{#1}");m("\\goldA","\\textcolor{##ffd0a9}{#1}");m("\\goldB","\\textcolor{##ffbb71}{#1}");m("\\goldC","\\textcolor{##ff9c39}{#1}");m("\\goldD","\\textcolor{##e07d10}{#1}");m("\\goldE","\\textcolor{##a75a05}{#1}");m("\\redA","\\textcolor{##fca9a9}{#1}");m("\\redB","\\textcolor{##ff8482}{#1}");m("\\redC","\\textcolor{##f9685d}{#1}");m("\\redD","\\textcolor{##e84d39}{#1}");m("\\redE","\\textcolor{##bc2612}{#1}");m("\\maroonA","\\textcolor{##ffbde0}{#1}");m("\\maroonB","\\textcolor{##ff92c6}{#1}");m("\\maroonC","\\textcolor{##ed5fa6}{#1}");m("\\maroonD","\\textcolor{##ca337c}{#1}");m("\\maroonE","\\textcolor{##9e034e}{#1}");m("\\purpleA","\\textcolor{##ddd7ff}{#1}");m("\\purpleB","\\textcolor{##c6b9fc}{#1}");m("\\purpleC","\\textcolor{##aa87ff}{#1}");m("\\purpleD","\\textcolor{##7854ab}{#1}");m("\\purpleE","\\textcolor{##543b78}{#1}");m("\\mintA","\\textcolor{##f5f9e8}{#1}");m("\\mintB","\\textcolor{##edf2df}{#1}");m("\\mintC","\\textcolor{##e0e5cc}{#1}");m("\\grayA","\\textcolor{##f6f7f7}{#1}");m("\\grayB","\\textcolor{##f0f1f2}{#1}");m("\\grayC","\\textcolor{##e3e5e6}{#1}");m("\\grayD","\\textcolor{##d6d8da}{#1}");m("\\grayE","\\textcolor{##babec2}{#1}");m("\\grayF","\\textcolor{##888d93}{#1}");m("\\grayG","\\textcolor{##626569}{#1}");m("\\grayH","\\textcolor{##3b3e40}{#1}");m("\\grayI","\\textcolor{##21242c}{#1}");m("\\kaBlue","\\textcolor{##314453}{#1}");m("\\kaGreen","\\textcolor{##71B307}{#1}");var la={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class s4{constructor(e,t,a){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 n4(i4,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new hr(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,n;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:n,end:a}=this.consumeArg(["]"])}else({tokens:n,start:t,end:a}=this.consumeArg());return this.pushToken(new f0("EOF",a.loc)),this.pushTokens(n),t.range(a,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var n=this.future(),s,o=0,h=0;do{if(s=this.popToken(),t.push(s),s.text==="{")++o;else if(s.text==="}"){if(--o,o===-1)throw new M("Extra }",s)}else if(s.text==="EOF")throw new M("Unexpected end of input in a macro argument, expected '"+(e&&a?e[h]:"}")+"'",s);if(e&&a)if((o===0||o===1&&e[h]==="{")&&s.text===e[h]){if(++h,h===e.length){t.splice(-h,h);break}}else h=0}while(o!==0||a);return n.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:n,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new M("The length of delimiters doesn't match the number of args!");for(var a=t[0],n=0;nthis.settings.maxExpand)throw new M("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,n=t.noexpand?null:this._getExpansion(a);if(n==null||e&&n.unexpandable){if(e&&n==null&&a[0]==="\\"&&!this.isDefined(a))throw new M("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var s=n.tokens,o=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){s=s.slice();for(var h=s.length-1;h>=0;--h){var c=s[h];if(c.text==="#"){if(h===0)throw new M("Incomplete placeholder at end of macro body",c);if(c=s[--h],c.text==="#")s.splice(h+1,1);else if(/^[1-9]$/.test(c.text))s.splice(h,2,...o[+c.text-1]);else throw new M("Not a valid argument number",c)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new f0(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var n=typeof t=="function"?t(this):t;if(typeof n=="string"){var s=0;if(n.indexOf("#")!==-1)for(var o=n.replace(/##/g,"");o.indexOf("#"+(s+1))!==-1;)++s;for(var h=new hr(n,this.settings),c=[],p=h.lex();p.text!=="EOF";)c.push(p),p=h.lex();c.reverse();var g={tokens:c,numArgs:s};return g}return n}isDefined(e){return this.macros.has(e)||H0.hasOwnProperty(e)||$.math.hasOwnProperty(e)||$.text.hasOwnProperty(e)||la.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:H0.hasOwnProperty(e)&&!H0[e].primitive}}var dr=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Me=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),rt={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},fr={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class He{constructor(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 s4(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new M("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){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()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new f0("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var n=this.fetch();if(He.endOfExpression.indexOf(n.text)!==-1||t&&n.text===t||e&&H0[n.text]&&H0[n.text].infix)break;var s=this.parseAtom(t);if(s){if(s.type==="internal")continue}else break;a.push(s)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,n=0;n=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var h=$[this.mode][t].group,c=u0.range(e),p;if(ja.hasOwnProperty(h)){var g=h;p={type:"atom",mode:this.mode,family:g,loc:c,text:t}}else p={type:h,mode:this.mode,loc:c,text:t};o=p}else if(t.charCodeAt(0)>=128)this.settings.strict&&(vr(t.charCodeAt(0))?this.mode==="math"&&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)),o={type:"textord",mode:"text",loc:u0.range(e),text:t};else return null;if(this.consume(),s)for(var y=0;y2?e[2]:void 0;for(i&&B(e[0],e[1],i)&&(t=1);++r-1?i[o?e[a]:a]:void 0}}var Ne=Math.max;function Le(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:we(r);return i<0&&(i=Ne(t+i,0)),Un(n,L(e),i)}var Q=ye(Le);function Rn(n,e){var r=-1,t=_n(n)?Array(n.length):[];return Hn(n,function(i,o,a){t[++r]=e(i,o,a)}),t}function m(n,e){var r=K(n)?P:Rn;return r(n,L(e))}function _e(n,e){return n==null?n:ee(n,xn(e),Ln)}function Ce(n,e){return n&&En(n,xn(e))}function Ie(n,e){return n>e}function Tn(n,e){return ne||o&&a&&d&&!u&&!f||t&&a&&d||!r&&d||!i)return 1;if(!t&&!o&&!f&&n=u)return d;var f=r[t];return d*(f=="desc"?-1:1)}}return n.index-e.index}function Se(n,e,r){e.length?e=P(e,function(o){return K(o)?function(a){return yn(a,o.length===1?o[0]:o)}:o}):e=[J];var t=-1;e=P(e,ie(L));var i=Rn(n,function(o,a,u){var d=P(e,function(f){return f(o)});return{criteria:d,index:++t,value:o}});return Me(i,function(o,a){return Pe(o,a,r)})}function Fe(n,e){return Te(n,e,function(r,t){return Kn(n,t)})}var V=me(function(n,e){return n==null?{}:Fe(n,e)}),Ae=Math.ceil,Be=Math.max;function Ge(n,e,r,t){for(var i=-1,o=Be(Ae((e-n)/(r||1)),0),a=Array(o);o--;)a[++i]=n,n+=r;return a}function Ve(n){return function(e,r,t){return t&&typeof t!="number"&&B(e,r,t)&&(r=t=void 0),e=S(e),r===void 0?(r=e,e=0):r=S(r),t=t===void 0?e1&&B(n,e[0],e[1])?e=[]:r>2&&B(e[0],e[1],e[2])&&(e=[e[0]]),Se(n,gn(e),[])}),Ye=0;function en(n){var e=++Ye;return Jn(n)+e}function De(n,e,r){for(var t=-1,i=n.length,o=e.length,a={};++t0;--u)if(a=e[u].dequeue(),a){t=t.concat(q(n,e,r,a,!0));break}}}return t}function q(n,e,r,t,i){var o=i?[]:void 0;return s(n.inEdges(t.v),function(a){var u=n.edge(a),d=n.node(a.v);i&&o.push({v:a.v,w:a.w}),d.out-=u,j(e,r,d)}),s(n.outEdges(t.v),function(a){var u=n.edge(a),d=a.w,f=n.node(d);f.in-=u,j(e,r,f)}),n.removeNode(t.v),o}function He(n,e){var r=new x,t=0,i=0;s(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),s(n.edges(),function(u){var d=r.edge(u.v,u.w)||0,f=e(u),c=d+f;r.setEdge(u.v,u.w,c),i=Math.max(i,r.node(u.v).out+=f),t=Math.max(t,r.node(u.w).in+=f)});var o=N(i+t+3).map(function(){return new qe}),a=t+1;return s(r.nodes(),function(u){j(o,a,r.node(u))}),{graph:r,buckets:o,zeroIdx:a}}function j(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function je(n){var e=n.graph().acyclicer==="greedy"?Xe(n,r(n)):Ke(n);s(e,function(t){var i=n.edge(t);n.removeEdge(t),i.forwardName=t.name,i.reversed=!0,n.setEdge(t.w,t.v,i,en("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function Ke(n){var e=[],r={},t={};function i(o){w(t,o)||(t[o]=!0,r[o]=!0,s(n.outEdges(o),function(a){w(r,a.w)?e.push(a):i(a.w)}),delete r[o])}return s(n.nodes(),i),e}function Je(n){s(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})}function C(n,e,r,t){var i;do i=en(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function Qe(n){var e=new x().setGraph(n.graph());return s(n.nodes(),function(r){e.setNode(r,n.node(r))}),s(n.edges(),function(r){var t=e.edge(r.v,r.w)||{weight:0,minlen:1},i=n.edge(r);e.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),e}function Mn(n){var e=new x({multigraph:n.isMultigraph()}).setGraph(n.graph());return s(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),s(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function sn(n,e){var r=n.x,t=n.y,i=e.x-r,o=e.y-t,a=n.width/2,u=n.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var d,f;return Math.abs(o)*a>Math.abs(i)*u?(o<0&&(u=-u),d=u*i/o,f=u):(i<0&&(a=-a),d=a,f=a*o/i),{x:r+d,y:t+f}}function $(n){var e=m(N(On(n)+1),function(){return[]});return s(n.nodes(),function(r){var t=n.node(r),i=t.rank;g(i)||(e[i][t.order]=r)}),e}function Ze(n){var e=R(m(n.nodes(),function(r){return n.node(r).rank}));s(n.nodes(),function(r){var t=n.node(r);w(t,"rank")&&(t.rank-=e)})}function nr(n){var e=R(m(n.nodes(),function(o){return n.node(o).rank})),r=[];s(n.nodes(),function(o){var a=n.node(o).rank-e;r[a]||(r[a]=[]),r[a].push(o)});var t=0,i=n.graph().nodeRankFactor;s(r,function(o,a){g(o)&&a%i!==0?--t:t&&s(o,function(u){n.node(u).rank+=t})})}function cn(n,e,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),C(n,"border",i,e)}function On(n){return E(m(n.nodes(),function(e){var r=n.node(e).rank;if(!g(r))return r}))}function er(n,e){var r={lhs:[],rhs:[]};return s(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function rr(n,e){return e()}function tr(n){function e(r){var t=n.children(r),i=n.node(r);if(t.length&&s(t,e),w(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;oa.lim&&(u=a,d=!0);var f=M(e.edges(),function(c){return d===vn(n,n.node(c.v),u)&&d!==vn(n,n.node(c.w),u)});return nn(f,function(c){return T(e,c)})}function Dn(n,e,r,t){var i=r.v,o=r.w;n.removeEdge(i,o),n.setEdge(t.v,t.w,{}),an(n),tn(n,e),br(n,e)}function br(n,e){var r=Q(n.nodes(),function(i){return!e.node(i).parent}),t=wr(n,r);t=t.slice(1),s(t,function(i){var o=n.node(i).parent,a=e.edge(i,o),u=!1;a||(a=e.edge(o,i),u=!0),e.node(i).rank=e.node(o).rank+(u?a.minlen:-a.minlen)})}function gr(n,e,r){return n.hasEdge(e,r)}function vn(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function xr(n){switch(n.graph().ranker){case"network-simplex":pn(n);break;case"tight-tree":kr(n);break;case"longest-path":Er(n);break;default:pn(n)}}var Er=rn;function kr(n){rn(n),Sn(n)}function pn(n){k(n)}function yr(n){var e=C(n,"root",{},"_root"),r=Nr(n),t=E(y(r))-1,i=2*t+1;n.graph().nestingRoot=e,s(n.edges(),function(a){n.edge(a).minlen*=i});var o=Lr(n)+1;s(n.children(),function(a){$n(n,e,i,o,t,r,a)}),n.graph().nodeRankFactor=i}function $n(n,e,r,t,i,o,a){var u=n.children(a);if(!u.length){a!==e&&n.setEdge(e,a,{weight:0,minlen:r});return}var d=cn(n,"_bt"),f=cn(n,"_bb"),c=n.node(a);n.setParent(d,a),c.borderTop=d,n.setParent(f,a),c.borderBottom=f,s(u,function(h){$n(n,e,r,t,i,o,h);var l=n.node(h),v=l.borderTop?l.borderTop:h,p=l.borderBottom?l.borderBottom:h,b=l.borderTop?t:2*t,I=v!==p?1:i-o[a]+1;n.setEdge(d,v,{weight:b,minlen:I,nestingEdge:!0}),n.setEdge(p,f,{weight:b,minlen:I,nestingEdge:!0})}),n.parent(a)||n.setEdge(e,d,{weight:0,minlen:i+o[a]})}function Nr(n){var e={};function r(t,i){var o=n.children(t);o&&o.length&&s(o,function(a){r(a,i+1)}),e[t]=i}return s(n.children(),function(t){r(t,1)}),e}function Lr(n){return Y(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function _r(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,s(n.edges(),function(r){var t=n.edge(r);t.nestingEdge&&n.removeEdge(r)})}function Cr(n,e,r){var t={},i;s(r,function(o){for(var a=n.parent(o),u,d;a;){if(u=n.parent(a),u?(d=t[u],t[u]=a):(d=i,i=a),d&&d!==a){e.setEdge(d,a);return}a=u}})}function Ir(n,e,r){var t=Rr(n),i=new x({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(o){return n.node(o)});return s(n.nodes(),function(o){var a=n.node(o),u=n.parent(o);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(i.setNode(o),i.setParent(o,u||t),s(n[r](o),function(d){var f=d.v===o?d.w:d.v,c=i.edge(f,o),h=g(c)?0:c.weight;i.setEdge(f,o,{weight:n.edge(d).weight+h})}),w(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),i}function Rr(n){for(var e;n.hasNode(e=en("_root")););return e}function Tr(n,e){for(var r=0,t=1;t0;)c%2&&(h+=u[c+1]),c=c-1>>1,u[c]+=f.weight;d+=f.weight*h})),d}function Or(n){var e={},r=M(n.nodes(),function(u){return!n.children(u).length}),t=E(m(r,function(u){return n.node(u).rank})),i=m(N(t+1),function(){return[]});function o(u){if(!w(e,u)){e[u]=!0;var d=n.node(u);i[d.rank].push(u),s(n.successors(u),o)}}var a=O(r,function(u){return n.node(u).rank});return s(a,o),i}function Pr(n,e){return m(e,function(r){var t=n.inEdges(r);if(t.length){var i=Y(t,function(o,a){var u=n.edge(a),d=n.node(a.v);return{sum:o.sum+u.weight*d.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function Sr(n,e){var r={};s(n,function(i,o){var a=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};g(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),s(e.edges(),function(i){var o=r[i.v],a=r[i.w];!g(o)&&!g(a)&&(a.indegree++,o.out.push(r[i.w]))});var t=M(r,function(i){return!i.indegree});return Fr(t)}function Fr(n){var e=[];function r(o){return function(a){a.merged||(g(a.barycenter)||g(o.barycenter)||a.barycenter>=o.barycenter)&&Ar(o,a)}}function t(o){return function(a){a.in.push(o),--a.indegree===0&&n.push(a)}}for(;n.length;){var i=n.pop();e.push(i),s(i.in.reverse(),r(i)),s(i.out,t(i))}return m(M(e,function(o){return!o.merged}),function(o){return V(o,["vs","i","barycenter","weight"])})}function Ar(n,e){var r=0,t=0;n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/t,n.weight=t,n.i=Math.min(e.i,n.i),e.merged=!0}function Br(n,e){var r=er(n,function(c){return w(c,"barycenter")}),t=r.lhs,i=O(r.rhs,function(c){return-c.i}),o=[],a=0,u=0,d=0;t.sort(Gr(!!e)),d=wn(o,i,d),s(t,function(c){d+=c.vs.length,o.push(c.vs),a+=c.barycenter*c.weight,u+=c.weight,d=wn(o,i,d)});var f={vs:_(o)};return u&&(f.barycenter=a/u,f.weight=u),f}function wn(n,e,r){for(var t;e.length&&(t=G(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function Gr(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function qn(n,e,r,t){var i=n.children(e),o=n.node(e),a=o?o.borderLeft:void 0,u=o?o.borderRight:void 0,d={};a&&(i=M(i,function(p){return p!==a&&p!==u}));var f=Pr(n,i);s(f,function(p){if(n.children(p.v).length){var b=qn(n,p.v,r,t);d[p.v]=b,w(b,"barycenter")&&Yr(p,b)}});var c=Sr(f,r);Vr(c,d);var h=Br(c,t);if(a&&(h.vs=_([a,h.vs,u]),n.predecessors(a).length)){var l=n.node(n.predecessors(a)[0]),v=n.node(n.predecessors(u)[0]);w(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+v.order)/(h.weight+2),h.weight+=2}return h}function Vr(n,e){s(n,function(r){r.vs=_(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function Yr(n,e){g(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function Dr(n){var e=On(n),r=mn(n,N(1,e+1),"inEdges"),t=mn(n,N(e-1,-1,-1),"outEdges"),i=Or(n);bn(n,i);for(var o=Number.POSITIVE_INFINITY,a,u=0,d=0;d<4;++u,++d){$r(u%2?r:t,u%4>=2),i=$(n);var f=Tr(n,i);fa||u>e[d].lim));for(f=d,d=t;(d=n.parent(d))!==f;)o.push(d);return{path:i.concat(o.reverse()),lca:f}}function zr(n){var e={},r=0;function t(i){var o=r;s(n.children(i),t),e[i]={low:o,lim:r++}}return s(n.children(),t),e}function Xr(n,e){var r={};function t(i,o){var a=0,u=0,d=i.length,f=G(o);return s(o,function(c,h){var l=Hr(n,c),v=l?n.node(l).order:d;(l||c===f)&&(s(o.slice(u,h+1),function(p){s(n.predecessors(p),function(b){var I=n.node(b),on=I.order;(onf)&&Wn(r,l,c)})})}function i(o,a){var u=-1,d,f=0;return s(a,function(c,h){if(n.node(c).dummy==="border"){var l=n.predecessors(c);l.length&&(d=n.node(l[0]).order,t(a,f,h,u,d),f=h,u=d)}t(a,f,a.length,d,o.length)}),a}return Y(e,i),r}function Hr(n,e){if(n.node(e).dummy)return Q(n.predecessors(e),function(r){return n.node(r).dummy})}function Wn(n,e,r){if(e>r){var t=e;e=r,r=t}var i=n[e];i||(n[e]=i={}),i[r]=!0}function jr(n,e,r){if(e>r){var t=e;e=r,r=t}return w(n[e],r)}function Kr(n,e,r,t){var i={},o={},a={};return s(e,function(u){s(u,function(d,f){i[d]=d,o[d]=d,a[d]=f})}),s(e,function(u){var d=-1;s(u,function(f){var c=t(f);if(c.length){c=O(c,function(b){return a[b]});for(var h=(c.length-1)/2,l=Math.floor(h),v=Math.ceil(h);l<=v;++l){var p=c[l];o[f]===f&&dt?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function _(n){let t,e,r;n.length!==2?(t=$,e=(u,c)=>$(n(u),c),r=(u,c)=>n(u)-c):(t=n===$||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=_($),dn=sn.right;_(ln).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function E(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=gn?10:f>=yn?5:f>=Mn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function R(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=R(Math.abs(n)),n?n[1]:NaN}function jn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function Pn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var zn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=zn.exec(n)))throw new Error("invalid format: "+n);var t;return new G({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=G.prototype;function G(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}G.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Fn(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function $n(n,t){var e=R(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+R(n,Math.max(0,t+f-1))[0]}function Z(n,t){var e=R(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const H={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:bn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Z(n*100,t),r:Z,s:$n,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function J(n){return n}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function En(n){var t=n.grouping===void 0||n.thousands===void 0?J:jn(K.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?J:Pn(K.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,S=h.symbol,k=h.zero,b=h.width,T=h.comma,w=h.precision,B=h.trim,d=h.type;d==="n"?(T=!0,d="g"):H[d]||(w===void 0&&(w=12),B=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=S==="$"?e:S==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=S==="$"?r:/[%p]/.test(d)?a:"",O=H[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),B&&(m=Fn(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?Q[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}T&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,S=Math.pow(10,-y),k=Q[8+y/3];return function(b){return p(S*b)+k}}return{format:o,formatPrefix:s}}var F,tn,rn;Rn({thousands:",",grouping:[3],currency:["$",""]});function Rn(n){return F=En(n),tn=F.format,rn=F.formatPrefix,F}function Dn(n){return Math.max(0,-v(Math.abs(n)))}function Tn(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function Cn(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function In(n){return function(){return n}}function Ln(n){return+n}var W=[0,1];function A(n){return n}function L(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:In(isNaN(t)?NaN:.5)}function qn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Gn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?Bn:Gn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),C)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,Ln),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=Sn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Xn(){return Vn()(A,A)}function Un(n,t,e,r){var i=wn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=Tn(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=Cn(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Dn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Yn(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Un(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=I(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Zn(){var n=Xn();return n.copy=function(){return On(n,Zn())},cn.apply(n,arguments),Yn(n)}export{On as a,_ as b,Xn as c,Zn as l,wn as t}; diff --git a/assets/chunks/mindmap-definition-307c710a.QSQjGcB3.js b/assets/chunks/mindmap-definition-307c710a.QSQjGcB3.js new file mode 100644 index 000000000..75fa43da3 --- /dev/null +++ b/assets/chunks/mindmap-definition-307c710a.QSQjGcB3.js @@ -0,0 +1,110 @@ +import{b2 as hi,b3 as tl,l as Er,c as ci,aH as rl,u as al,aJ as ja,d as en,h as nl,b5 as il,b6 as sl,b7 as ol,aL as ul}from"../app.BKabOgys.js";import{c as ll}from"./createText-ca0c5216.lHq48BDc.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";function Xe(t){"@babel/helpers - typeof";return Xe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xe(t)}function vi(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function fl(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,a=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(u){throw u},f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,s=!1,o;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){s=!0,o=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(s)throw o}}}}var Ye=typeof window>"u"?null:window,Yi=Ye?Ye.navigator:null;Ye&&Ye.document;var gl=Xe(""),io=Xe({}),pl=Xe(function(){}),yl=typeof HTMLElement>"u"?"undefined":Xe(HTMLElement),xa=function(e){return e&&e.instanceString&&Ge(e.instanceString)?e.instanceString():null},ve=function(e){return e!=null&&Xe(e)==gl},Ge=function(e){return e!=null&&Xe(e)===pl},Re=function(e){return!pt(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},Ce=function(e){return e!=null&&Xe(e)===io&&!Re(e)&&e.constructor===Object},ml=function(e){return e!=null&&Xe(e)===io},ne=function(e){return e!=null&&Xe(e)===Xe(1)&&!isNaN(e)},bl=function(e){return ne(e)&&Math.floor(e)===e},tn=function(e){if(yl!=="undefined")return e!=null&&e instanceof HTMLElement},pt=function(e){return Ta(e)||so(e)},Ta=function(e){return xa(e)==="collection"&&e._private.single},so=function(e){return xa(e)==="collection"&&!e._private.single},gi=function(e){return xa(e)==="core"},oo=function(e){return xa(e)==="stylesheet"},El=function(e){return xa(e)==="event"},jt=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},wl=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},xl=function(e){return Ce(e)&&ne(e.x1)&&ne(e.x2)&&ne(e.y1)&&ne(e.y2)},Tl=function(e){return ml(e)&&Ge(e.then)},Cl=function(){return Yi&&Yi.userAgent.match(/msie|trident|edge/i)},ha=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],s=0;sr?1:0},Il=function(e,r){return-1*lo(e,r)},be=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(g-=1),g<1/6?v+(p-v)*6*g:g<1/2?p:g<2/3?v+(p-v)*(2/3-g)*6:v}var h=new RegExp("^"+Ll+"$").exec(e);if(h){if(a=parseInt(h[1]),a<0?a=(360- -1*a%360)%360:a>360&&(a=a%360),a/=360,n=parseFloat(h[2]),n<0||n>100||(n=n/100,i=parseFloat(h[3]),i<0||i>100)||(i=i/100,s=h[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(n===0)o=u=l=Math.round(i*255);else{var d=i<.5?i*(1+n):i+n-i*n,c=2*i-d;o=Math.round(255*f(c,d,a+1/3)),u=Math.round(255*f(c,d,a)),l=Math.round(255*f(c,d,a-1/3))}r=[o,u,l,s]}return r},kl=function(e){var r,a=new RegExp("^"+Dl+"$").exec(e);if(a){r=[];for(var n=[],i=1;i<=3;i++){var s=a[i];if(s[s.length-1]==="%"&&(n[i]=!0),s=parseFloat(s),n[i]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=n[1]||n[2]||n[3],u=n[1]&&n[2]&&n[3];if(o&&!u)return;var l=a[4];if(l!==void 0){if(l=parseFloat(l),l<0||l>1)return;r.push(l)}}return r},Pl=function(e){return Fl[e.toLowerCase()]},Bl=function(e){return(Re(e)?e:null)||Pl(e)||Ml(e)||kl(e)||Rl(e)},Fl={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},fo=function(e){for(var r=e.map,a=e.keys,n=a.length,i=0;i=e||E<0||h&&x>=i}function y(){var S=Rn();if(g(S))return b(S);o=setTimeout(y,p(S))}function b(S){return o=void 0,d&&a?c(S):(a=n=void 0,s)}function m(){o!==void 0&&clearTimeout(o),l=0,a=u=n=o=void 0}function T(){return o===void 0?s:b(Rn())}function C(){var S=Rn(),E=g(S);if(a=arguments,n=this,u=S,E){if(o===void 0)return v(u);if(h)return clearTimeout(o),o=setTimeout(y,e),c(u)}return o===void 0&&(o=setTimeout(y,e)),s}return C.cancel=m,C.flush=T,C}var gn=xf,kn=Ye?Ye.performance:null,go=kn&&kn.now?function(){return kn.now()}:function(){return Date.now()},Tf=function(){if(Ye){if(Ye.requestAnimationFrame)return function(t){Ye.requestAnimationFrame(t)};if(Ye.mozRequestAnimationFrame)return function(t){Ye.mozRequestAnimationFrame(t)};if(Ye.webkitRequestAnimationFrame)return function(t){Ye.webkitRequestAnimationFrame(t)};if(Ye.msRequestAnimationFrame)return function(t){Ye.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(go())},1e3/60)}}(),rn=function(e){return Tf(e)},$t=go,Nr=9261,po=65599,ia=5381,yo=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Nr,a=r,n;n=e.next(),!n.done;)a=a*po+n.value|0;return a},ca=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Nr;return r*po+e|0},va=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ia;return(r<<5)+r+e|0},Cf=function(e,r){return e*2097152+r},qt=function(e){return e[0]*2097152+e[1]},Ma=function(e,r){return[ca(e[0],r[0]),va(e[1],r[1])]},Df=function(e,r){var a={value:0,done:!1},n=0,i=e.length,s={next:function(){return n=0;n--)e[n]===r&&e.splice(n,1)},bi=function(e){e.splice(0,e.length)},Mf=function(e,r){for(var a=0;a"u"?"undefined":Xe(Set))!==kf?Set:Pf,pn=function(e,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!gi(e)){ze("An element must have a core reference and parameters set");return}var n=r.group;if(n==null&&(r.data&&r.data.source!=null&&r.data.target!=null?n="edges":n="nodes"),n!=="nodes"&&n!=="edges"){ze("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?n==="edges":!!r.pannable,active:!1,classes:new Ur,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),u=e.zoom();i.position={x:(s.x-o.x)/u,y:(s.y-o.y)/u}}var l=[];Re(r.classes)?l=r.classes:ve(r.classes)&&(l=r.classes.split(/\s+/));for(var f=0,h=l.length;fb?1:0},f=function(y,b,m,T,C){var S;if(m==null&&(m=0),C==null&&(C=a),m<0)throw new Error("lo must be non-negative");for(T==null&&(T=y.length);mD;0<=D?w++:w--)x.push(w);return x}).apply(this).reverse(),E=[],T=0,C=S.length;TL;0<=L?++x:--x)A.push(s(y,m));return A},p=function(y,b,m,T){var C,S,E;for(T==null&&(T=a),C=y[m];m>b;){if(E=m-1>>1,S=y[E],T(C,S)<0){y[m]=S,m=E;continue}break}return y[m]=C},g=function(y,b,m){var T,C,S,E,x;for(m==null&&(m=a),C=y.length,x=b,S=y[b],T=2*b+1;T0;){var S=b.pop(),E=g(S),x=S.id();if(d[x]=E,E!==1/0)for(var w=S.neighborhood().intersect(v),D=0;D0)for(P.unshift(k);h[V];){var F=h[V];P.unshift(F.edge),P.unshift(F.node),B=F.node,V=B.id()}return o.spawn(P)}}}},zf={kruskal:function(e){e=e||function(m){return 1};for(var r=this.byGroup(),a=r.nodes,n=r.edges,i=a.length,s=new Array(i),o=a,u=function(T){for(var C=0;C0;){if(C(),E++,T===f){for(var x=[],w=i,D=f,L=y[D];x.unshift(w),L!=null&&x.unshift(L),w=g[D],w!=null;)D=w.id(),L=y[D];return{found:!0,distance:h[T],path:this.spawn(x),steps:E}}c[T]=!0;for(var A=m._private.edges,I=0;IL&&(v[D]=L,b[D]=w,m[D]=C),!i){var A=w*f+x;!i&&v[A]>L&&(v[A]=L,b[A]=x,m[A]=C)}}}for(var I=0;I1&&arguments[1]!==void 0?arguments[1]:s,Ae=m(fe),xe=[],we=Ae;;){if(we==null)return r.spawn();var De=b(we),j=De.edge,N=De.pred;if(xe.unshift(we[0]),we.same(ge)&&xe.length>0)break;j!=null&&xe.unshift(j),we=N}return u.spawn(xe)},S=0;S=0;f--){var h=l[f],d=h[1],c=h[2];(r[d]===o&&r[c]===u||r[d]===u&&r[c]===o)&&l.splice(f,1)}for(var v=0;vn;){var i=Math.floor(Math.random()*r.length);r=qf(i,e,r),a--}return r},Wf={kargerStein:function(){var e=this,r=this.byGroup(),a=r.nodes,n=r.edges;n.unmergeBy(function(P){return P.isLoop()});var i=a.length,s=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),u=Math.floor(i/Xf);if(i<2){ze("At least 2 nodes are required for Karger-Stein algorithm");return}for(var l=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,i=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(r,a):(a0&&e.splice(0,r));for(var o=0,u=e.length-1;u>=0;u--){var l=e[u];s?isFinite(l)||(e[u]=-1/0,o++):e.splice(u,1)}i&&e.sort(function(d,c){return d-c});var f=e.length,h=Math.floor(f/2);return f%2!==0?e[h+1+o]:(e[h-1+o]+e[h+o])/2},eh=function(e){return Math.PI*e/180},Ra=function(e,r){return Math.atan2(r,e)-Math.PI/2},Ei=Math.log2||function(t){return Math.log(t)/Math.log(2)},Co=function(e){return e>0?1:e<0?-1:0},gr=function(e,r){return Math.sqrt(ur(e,r))},ur=function(e,r){var a=r.x-e.x,n=r.y-e.y;return a*a+n*n},th=function(e){for(var r=e.length,a=0,n=0;n=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},ah=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},nh=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},ih=function(e,r,a){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+a,y2:e.y2+a,w:e.w,h:e.h}},Do=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},sh=function(e,r,a){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,a),e.y2=Math.max(e.y2,a),e.h=e.y2-e.y1},_a=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Ha=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],a,n,i,s;if(r.length===1)a=n=i=s=r[0];else if(r.length===2)a=i=r[0],s=n=r[1];else if(r.length===4){var o=St(r,4);a=o[0],n=o[1],i=o[2],s=o[3]}return e.x1-=s,e.x2+=n,e.y1-=a,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Qi=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},wi=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gr=function(e,r,a){return e.x1<=r&&r<=e.x2&&e.y1<=a&&a<=e.y2},oh=function(e,r){return Gr(e,r.x,r.y)},So=function(e,r){return Gr(e,r.x1,r.y1)&&Gr(e,r.x2,r.y2)},Lo=function(e,r,a,n,i,s,o){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",l=u==="auto"?pr(i,s):u,f=i/2,h=s/2;l=Math.min(l,f,h);var d=l!==f,c=l!==h,v;if(d){var p=a-f+l-o,g=n-h-o,y=a+f-l+o,b=g;if(v=Zt(e,r,a,n,p,g,y,b,!1),v.length>0)return v}if(c){var m=a+f+o,T=n-h+l-o,C=m,S=n+h-l+o;if(v=Zt(e,r,a,n,m,T,C,S,!1),v.length>0)return v}if(d){var E=a-f+l-o,x=n+h+o,w=a+f-l+o,D=x;if(v=Zt(e,r,a,n,E,x,w,D,!1),v.length>0)return v}if(c){var L=a-f-o,A=n-h+l-o,I=L,O=n+h-l+o;if(v=Zt(e,r,a,n,L,A,I,O,!1),v.length>0)return v}var M;{var R=a-f+l,k=n-h+l;if(M=sa(e,r,a,n,R,k,l+o),M.length>0&&M[0]<=R&&M[1]<=k)return[M[0],M[1]]}{var P=a+f-l,B=n-h+l;if(M=sa(e,r,a,n,P,B,l+o),M.length>0&&M[0]>=P&&M[1]<=B)return[M[0],M[1]]}{var V=a+f-l,F=n+h-l;if(M=sa(e,r,a,n,V,F,l+o),M.length>0&&M[0]>=V&&M[1]>=F)return[M[0],M[1]]}{var G=a-f+l,Y=n+h-l;if(M=sa(e,r,a,n,G,Y,l+o),M.length>0&&M[0]<=G&&M[1]>=Y)return[M[0],M[1]]}return[]},uh=function(e,r,a,n,i,s,o){var u=o,l=Math.min(a,i),f=Math.max(a,i),h=Math.min(n,s),d=Math.max(n,s);return l-u<=e&&e<=f+u&&h-u<=r&&r<=d+u},lh=function(e,r,a,n,i,s,o,u,l){var f={x1:Math.min(a,o,i)-l,x2:Math.max(a,o,i)+l,y1:Math.min(n,u,s)-l,y2:Math.max(n,u,s)+l};return!(ef.x2||rf.y2)},fh=function(e,r,a,n){a-=n;var i=r*r-4*e*a;if(i<0)return[];var s=Math.sqrt(i),o=2*e,u=(-r+s)/o,l=(-r-s)/o;return[u,l]},hh=function(e,r,a,n,i){var s=1e-5;e===0&&(e=s),r/=e,a/=e,n/=e;var o,u,l,f,h,d,c,v;if(u=(3*a-r*r)/9,l=-(27*n)+r*(9*a-2*(r*r)),l/=54,o=u*u*u+l*l,i[1]=0,c=r/3,o>0){h=l+Math.sqrt(o),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),d=l-Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),i[0]=-c+h+d,c+=(h+d)/2,i[4]=i[2]=-c,c=Math.sqrt(3)*(-d+h)/2,i[3]=c,i[5]=-c;return}if(i[5]=i[3]=0,o===0){v=l<0?-Math.pow(-l,1/3):Math.pow(l,1/3),i[0]=-c+2*v,i[4]=i[2]=-(v+c);return}u=-u,f=u*u*u,f=Math.acos(l/Math.sqrt(f)),v=2*Math.sqrt(u),i[0]=-c+v*Math.cos(f/3),i[2]=-c+v*Math.cos((f+2*Math.PI)/3),i[4]=-c+v*Math.cos((f+4*Math.PI)/3)},ch=function(e,r,a,n,i,s,o,u){var l=1*a*a-4*a*i+2*a*o+4*i*i-4*i*o+o*o+n*n-4*n*s+2*n*u+4*s*s-4*s*u+u*u,f=1*9*a*i-3*a*a-3*a*o-6*i*i+3*i*o+9*n*s-3*n*n-3*n*u-6*s*s+3*s*u,h=1*3*a*a-6*a*i+a*o-a*e+2*i*i+2*i*e-o*e+3*n*n-6*n*s+n*u-n*r+2*s*s+2*s*r-u*r,d=1*a*i-a*a+a*e-i*e+n*s-n*n+n*r-s*r,c=[];hh(l,f,h,d,c);for(var v=1e-7,p=[],g=0;g<6;g+=2)Math.abs(c[g+1])=0&&c[g]<=1&&p.push(c[g]);p.push(1),p.push(0);for(var y=-1,b,m,T,C=0;C=0?Tl?(e-i)*(e-i)+(r-s)*(r-s):f-d},dt=function(e,r,a){for(var n,i,s,o,u,l=0,f=0;f=e&&e>=s||n<=e&&e<=s)u=(e-n)/(s-n)*(o-i)+i,u>r&&l++;else continue;return l%2!==0},Yt=function(e,r,a,n,i,s,o,u,l){var f=new Array(a.length),h;u[0]!=null?(h=Math.atan(u[1]/u[0]),u[0]<0?h=h+Math.PI/2:h=-h-Math.PI/2):h=u;for(var d=Math.cos(-h),c=Math.sin(-h),v=0;v0){var g=sn(f,-l);p=nn(g)}else p=f;return dt(e,r,p)},dh=function(e,r,a,n,i,s,o,u){for(var l=new Array(a.length*2),f=0;f=0&&g<=1&&b.push(g),y>=0&&y<=1&&b.push(y),b.length===0)return[];var m=b[0]*u[0]+e,T=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[m,T];var C=b[1]*u[0]+e,S=b[1]*u[1]+r;return[m,T,C,S]}else return[m,T]},Bn=function(e,r,a){return r<=e&&e<=a||a<=e&&e<=r?e:e<=r&&r<=a||a<=r&&r<=e?r:a},Zt=function(e,r,a,n,i,s,o,u,l){var f=e-i,h=a-e,d=o-i,c=r-s,v=n-r,p=u-s,g=d*c-p*f,y=h*c-v*f,b=p*h-d*v;if(b!==0){var m=g/b,T=y/b,C=.001,S=0-C,E=1+C;return S<=m&&m<=E&&S<=T&&T<=E?[e+m*h,r+m*v]:l?[e+m*h,r+m*v]:[]}else return g===0||y===0?Bn(e,a,o)===o?[o,u]:Bn(e,a,i)===i?[i,s]:Bn(i,o,a)===a?[a,n]:[]:[]},pa=function(e,r,a,n,i,s,o,u){var l=[],f,h=new Array(a.length),d=!0;s==null&&(d=!1);var c;if(d){for(var v=0;v0){var p=sn(h,-u);c=nn(p)}else c=h}else c=a;for(var g,y,b,m,T=0;T2){for(var v=[f[0],f[1]],p=Math.pow(v[0]-e,2)+Math.pow(v[1]-r,2),g=1;gf&&(f=T)},get:function(m){return l[m]}},d=0;d0?R=M.edgesTo(O)[0]:R=O.edgesTo(M)[0];var k=n(R);O=O.id(),x[O]>x[A]+k&&(x[O]=x[A]+k,w.nodes.indexOf(O)<0?w.push(O):w.updateItem(O),E[O]=0,S[O]=[]),x[O]==x[A]+k&&(E[O]=E[O]+E[A],S[O].push(A))}else for(var P=0;P0;){for(var G=C.pop(),Y=0;Y0&&o.push(a[u]);o.length!==0&&i.push(n.collection(o))}return i},Nh=function(e,r){for(var a=0;a5&&arguments[5]!==void 0?arguments[5]:Rh,o=n,u,l,f=0;f=2?ea(e,r,a,0,rs,kh):ea(e,r,a,0,ts)},squaredEuclidean:function(e,r,a){return ea(e,r,a,0,rs)},manhattan:function(e,r,a){return ea(e,r,a,0,ts)},max:function(e,r,a){return ea(e,r,a,-1/0,Ph)}};zr["squared-euclidean"]=zr.squaredEuclidean;zr.squaredeuclidean=zr.squaredEuclidean;function mn(t,e,r,a,n,i){var s;return Ge(t)?s=t:s=zr[t]||zr.euclidean,e===0&&Ge(t)?s(n,i):s(e,r,a,n,i)}var Bh=tt({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Ti=function(e){return Bh(e)},on=function(e,r,a,n,i){var s=i!=="kMedoids",o=s?function(h){return a[h]}:function(h){return n[h](a)},u=function(d){return n[d](r)},l=a,f=r;return mn(e,n.length,o,u,l,f)},Fn=function(e,r,a){for(var n=a.length,i=new Array(n),s=new Array(n),o=new Array(r),u=null,l=0;la)return!1}return!0},zh=function(e,r,a){for(var n=0;no&&(o=r[l][f],u=f);i[u].push(e[l])}for(var h=0;h=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var v=r[s],p=r[n[s]],g;i.mode==="dendrogram"?g={left:v,right:p,key:v.key}:g={value:v.value.concat(p.value),key:v.key},e[v.index]=g,e.splice(p.index,1),r[v.key]=g;for(var y=0;ya[p.key][b.key]&&(u=a[p.key][b.key])):i.linkage==="max"?(u=a[v.key][b.key],a[v.key][b.key]0&&n.push(i);return n},us=function(e,r,a){for(var n=[],i=0;io&&(s=l,o=r[i*e+l])}s>0&&n.push(s)}for(var f=0;fl&&(u=f,l=h)}a[i]=s[u]}return n=us(e,r,a),n},ls=function(e){for(var r=this.cy(),a=this.nodes(),n=jh(e),i={},s=0;s=L?(A=L,L=O,I=M):O>A&&(A=O);for(var R=0;R0?1:0;E[w%n.minIterations*o+G]=Y,F+=Y}if(F>0&&(w>=n.minIterations-1||w==n.maxIterations-1)){for(var _=0,q=0;q1||S>1)&&(o=!0),h[m]=[],b.outgoers().forEach(function(x){x.isEdge()&&h[m].push(x.id())})}else d[m]=[void 0,b.target().id()]}):s.forEach(function(b){var m=b.id();if(b.isNode()){var T=b.degree(!0);T%2&&(u?l?o=!0:l=m:u=m),h[m]=[],b.connectedEdges().forEach(function(C){return h[m].push(C.id())})}else d[m]=[b.source().id(),b.target().id()]});var c={found:!1,trail:void 0};if(o)return c;if(l&&u)if(i){if(f&&l!=f)return c;f=l}else{if(f&&l!=f&&u!=f)return c;f||(f=l)}else f||(f=s[0].id());var v=function(m){for(var T=m,C=[m],S,E,x;h[T].length;)S=h[T].shift(),E=d[S][0],x=d[S][1],T!=x?(h[x]=h[x].filter(function(w){return w!=S}),T=x):!i&&T!=E&&(h[E]=h[E].filter(function(w){return w!=S}),T=E),C.unshift(S),C.unshift(T);return C},p=[],g=[];for(g=v(f);g.length!=1;)h[g[0]].length==0?(p.unshift(s.getElementById(g.shift())),p.unshift(s.getElementById(g.shift()))):g=v(g.shift()).concat(g);p.unshift(s.getElementById(g.shift()));for(var y in h)if(h[y].length)return c;return c.found=!0,c.trail=this.spawn(p,!0),c}},Ba=function(){var e=this,r={},a=0,n=0,i=[],s=[],o={},u=function(d,c){for(var v=s.length-1,p=[],g=e.spawn();s[v].x!=d||s[v].y!=c;)p.push(s.pop().edge),v--;p.push(s.pop().edge),p.forEach(function(y){var b=y.connectedNodes().intersection(e);g.merge(y),b.forEach(function(m){var T=m.id(),C=m.connectedEdges().intersection(e);g.merge(m),r[T].cutVertex?g.merge(C.filter(function(S){return S.isLoop()})):g.merge(C)})}),i.push(g)},l=function h(d,c,v){d===v&&(n+=1),r[c]={id:a,low:a++,cutVertex:!1};var p=e.getElementById(c).connectedEdges().intersection(e);if(p.size()===0)i.push(e.spawn(e.getElementById(c)));else{var g,y,b,m;p.forEach(function(T){g=T.source().id(),y=T.target().id(),b=g===c?y:g,b!==v&&(m=T.id(),o[m]||(o[m]=!0,s.push({x:c,y:b,edge:T})),b in r?r[c].low=Math.min(r[c].low,r[b].id):(h(d,b,c),r[c].low=Math.min(r[c].low,r[b].low),r[c].id<=r[b].low&&(r[c].cutVertex=!0,u(c,b))))})}};e.forEach(function(h){if(h.isNode()){var d=h.id();d in r||(n=0,l(d,d),r[d].cutVertex=n>1)}});var f=Object.keys(r).filter(function(h){return r[h].cutVertex}).map(function(h){return e.getElementById(h)});return{cut:e.spawn(f),components:i}},oc={hopcroftTarjanBiconnected:Ba,htbc:Ba,htb:Ba,hopcroftTarjanBiconnectedComponents:Ba},Fa=function(){var e=this,r={},a=0,n=[],i=[],s=e.spawn(e),o=function u(l){i.push(l),r[l]={index:a,low:a++,explored:!1};var f=e.getElementById(l).connectedEdges().intersection(e);if(f.forEach(function(p){var g=p.target().id();g!==l&&(g in r||u(g),r[g].explored||(r[l].low=Math.min(r[l].low,r[g].low)))}),r[l].index===r[l].low){for(var h=e.spawn();;){var d=i.pop();if(h.merge(e.getElementById(d)),r[d].low=r[l].index,r[d].explored=!0,d===l)break}var c=h.edgesWith(h),v=h.merge(c);n.push(v),s=s.difference(v)}};return e.forEach(function(u){if(u.isNode()){var l=u.id();l in r||o(l)}}),{cut:s,components:n}},uc={tarjanStronglyConnected:Fa,tsc:Fa,tscc:Fa,tarjanStronglyConnectedComponents:Fa},ko={};[da,Gf,zf,Uf,Yf,Hf,Wf,bh,kr,Pr,Zn,Mh,Hh,Qh,nc,sc,oc,uc].forEach(function(t){be(ko,t)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var Po=0,Bo=1,Fo=2,_t=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=Po,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};_t.prototype={fulfill:function(e){return fs(this,Bo,"fulfillValue",e)},reject:function(e){return fs(this,Fo,"rejectReason",e)},then:function(e,r){var a=this,n=new _t;return a.onFulfilled.push(cs(e,n,"fulfill")),a.onRejected.push(cs(r,n,"reject")),Go(a),n.proxy}};var fs=function(e,r,a,n){return e.state===Po&&(e.state=r,e[a]=n,Go(e)),e},Go=function(e){e.state===Bo?hs(e,"onFulfilled",e.fulfillValue):e.state===Fo&&hs(e,"onRejected",e.rejectReason)},hs=function(e,r,a){if(e[r].length!==0){var n=e[r];e[r]=[];var i=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,a=r.length!==void 0,n=a?r:[r],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var s=0;s-1}var gv=dv;function pv(t,e){var r=this.__data__,a=En(r,t);return a<0?(++this.size,r.push([t,e])):r[a][1]=e,this}var yv=pv;function _r(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t0&&this.spawn(n).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Re(e)||(e=e.match(/\S+/g)||[]);for(var a=this,n=r===void 0,i=[],s=0,o=a.length;s0&&this.spawn(i).updateStyle().emit("class"),a},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var a=this;if(r==null)r=250;else if(r===0)return a;return a.addClass(e),setTimeout(function(){a.removeClass(e)},r),a}};Xa.className=Xa.classNames=Xa.classes;var Te={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:He,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Te.variable="(?:[\\w-.]|(?:\\\\"+Te.metaChar+"))+";Te.className="(?:[\\w-]|(?:\\\\"+Te.metaChar+"))+";Te.value=Te.string+"|"+Te.number;Te.id=Te.variable;(function(){var t,e,r;for(t=Te.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(Te.comparatorOp+="|\\!"+e)})();var Ie=function(){return{checks:[]}},se={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},Jn=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return Il(t.selector,e.selector)}),wd=function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return Ne("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return Ne("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&Ne("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},Ld=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(f){return f??""},r=function(f){return ve(f)?'"'+f+'"':e(f)},a=function(f){return" "+f+" "},n=function(f,h){var d=f.type,c=f.value;switch(d){case se.GROUP:{var v=e(c);return v.substring(0,v.length-1)}case se.DATA_COMPARE:{var p=f.field,g=f.operator;return"["+p+a(e(g))+r(c)+"]"}case se.DATA_BOOL:{var y=f.operator,b=f.field;return"["+e(y)+b+"]"}case se.DATA_EXIST:{var m=f.field;return"["+m+"]"}case se.META_COMPARE:{var T=f.operator,C=f.field;return"[["+C+a(e(T))+r(c)+"]]"}case se.STATE:return c;case se.ID:return"#"+c;case se.CLASS:return"."+c;case se.PARENT:case se.CHILD:return i(f.parent,h)+a(">")+i(f.child,h);case se.ANCESTOR:case se.DESCENDANT:return i(f.ancestor,h)+" "+i(f.descendant,h);case se.COMPOUND_SPLIT:{var S=i(f.left,h),E=i(f.subject,h),x=i(f.right,h);return S+(S.length>0?" ":"")+E+x}case se.TRUE:return""}},i=function(f,h){return f.checks.reduce(function(d,c,v){return d+(h===f&&v===0?"$":"")+n(c,h)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),h=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(i||o||f)&&(u=!i&&!s?"":""+e,l=""+a),f&&(e=u=u.toLowerCase(),a=l=l.toLowerCase()),r){case"*=":n=u.indexOf(l)>=0;break;case"$=":n=u.indexOf(l,u.length-l.length)>=0;break;case"^=":n=u.indexOf(l)===0;break;case"=":n=e===a;break;case">":d=!0,n=e>a;break;case">=":d=!0,n=e>=a;break;case"<":d=!0,n=e0;){var f=n.shift();e(f),i.add(f.id()),o&&a(n,i,f)}return t}function qo(t,e,r){if(r.isParent())for(var a=r._private.children,n=0;n1&&arguments[1]!==void 0?arguments[1]:!0;return Ai(this,t,e,qo)};function Wo(t,e,r){if(r.isChild()){var a=r._private.parent;e.has(a.id())||t.push(a)}}Vr.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ai(this,t,e,Wo)};function Pd(t,e,r){Wo(t,e,r),qo(t,e,r)}Vr.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ai(this,t,e,Pd)};Vr.ancestors=Vr.parents;var ma,Ko;ma=Ko={data:Oe.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Oe.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Oe.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Oe.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Oe.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Oe.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};ma.attr=ma.data;ma.removeAttr=ma.removeData;var Bd=Ko,xn={};function zn(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var a=0,n=r[0],i=n._private.edges,s=0;se}),minIndegree:Dr("indegree",function(t,e){return te}),minOutdegree:Dr("outdegree",function(t,e){return te})});be(xn,{totalDegree:function(e){for(var r=0,a=this.nodes(),n=0;n0,d=h;h&&(f=f[0]);var c=d?f.position():{x:0,y:0};r!==void 0?l.position(e,r+c[e]):i!==void 0&&l.position({x:i.x+c.x,y:i.y+c.y})}else{var v=a.position(),p=o?a.parent():null,g=p&&p.length>0,y=g;g&&(p=p[0]);var b=y?p.position():{x:0,y:0};return i={x:v.x-b.x,y:v.y-b.y},e===void 0?i:i[e]}else if(!s)return;return this}};Ot.modelPosition=Ot.point=Ot.position;Ot.modelPositions=Ot.points=Ot.positions;Ot.renderedPoint=Ot.renderedPosition;Ot.relativePoint=Ot.relativePosition;var Fd=Zo,Br,ir;Br=ir={};ir.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),a=r.zoom(),n=r.pan(),i=e.x1*a+n.x,s=e.x2*a+n.x,o=e.y1*a+n.y,u=e.y2*a+n.y;return{x1:i,x2:s,y1:o,y2:u,w:s-i,h:u-o}};ir.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var a=r._private;a.compoundBoundsClean=!1,a.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};ir.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var o=s._private,u=s.children(),l=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},h=u.boundingBox({includeLabels:l,includeOverlays:!1,useCache:!1}),d=o.position;(h.w===0||h.h===0)&&(h={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},h.x1=d.x-h.w/2,h.x2=d.x+h.w/2,h.y1=d.y-h.h/2,h.y2=d.y+h.h/2);function c(w,D,L){var A=0,I=0,O=D+L;return w>0&&O>0&&(A=D/O*w,I=L/O*w),{biasDiff:A,biasComplementDiff:I}}function v(w,D,L,A){if(L.units==="%")switch(A){case"width":return w>0?L.pfValue*w:0;case"height":return D>0?L.pfValue*D:0;case"average":return w>0&&D>0?L.pfValue*(w+D)/2:0;case"min":return w>0&&D>0?w>D?L.pfValue*D:L.pfValue*w:0;case"max":return w>0&&D>0?w>D?L.pfValue*w:L.pfValue*D:0;default:return 0}else return L.units==="px"?L.pfValue:0}var p=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(p=p*100/f.width.val);var g=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(g=g*100/f.width.val);var y=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(y=y*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var m=c(f.width.val-h.w,p,g),T=m.biasDiff,C=m.biasComplementDiff,S=c(f.height.val-h.h,y,b),E=S.biasDiff,x=S.biasComplementDiff;o.autoPadding=v(h.w,h.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(h.w,f.width.val),d.x=(-T+h.x1+h.x2+C)/2,o.autoHeight=Math.max(h.h,f.height.val),d.y=(-E+h.y1+h.y2+x)/2}for(var a=0;ae.x2?n:e.x2,e.y1=ae.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},lr=function(e,r){return r==null?e:Lt(e,r.x1,r.y1,r.x2,r.y2)},ta=function(e,r,a){return At(e,r,a)},Ga=function(e,r,a){if(!r.cy().headless()){var n=r._private,i=n.rstyle,s=i.arrowWidth/2,o=r.pstyle(a+"-arrow-shape").value,u,l;if(o!=="none"){a==="source"?(u=i.srcX,l=i.srcY):a==="target"?(u=i.tgtX,l=i.tgtY):(u=i.midX,l=i.midY);var f=n.arrowBounds=n.arrowBounds||{},h=f[a]=f[a]||{};h.x1=u-s,h.y1=l-s,h.x2=u+s,h.y2=l+s,h.w=h.x2-h.x1,h.h=h.y2-h.y1,_a(h,1),Lt(e,h.x1,h.y1,h.x2,h.y2)}}},Vn=function(e,r,a){if(!r.cy().headless()){var n;a?n=a+"-":n="";var i=r._private,s=i.rstyle,o=r.pstyle(n+"label").strValue;if(o){var u=r.pstyle("text-halign"),l=r.pstyle("text-valign"),f=ta(s,"labelWidth",a),h=ta(s,"labelHeight",a),d=ta(s,"labelX",a),c=ta(s,"labelY",a),v=r.pstyle(n+"text-margin-x").pfValue,p=r.pstyle(n+"text-margin-y").pfValue,g=r.isEdge(),y=r.pstyle(n+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,m=r.pstyle("text-border-width").pfValue,T=m/2,C=r.pstyle("text-background-padding").pfValue,S=2,E=h,x=f,w=x/2,D=E/2,L,A,I,O;if(g)L=d-w,A=d+w,I=c-D,O=c+D;else{switch(u.value){case"left":L=d-x,A=d;break;case"center":L=d-w,A=d+w;break;case"right":L=d,A=d+x;break}switch(l.value){case"top":I=c-E,O=c;break;case"center":I=c-D,O=c+D;break;case"bottom":I=c,O=c+E;break}}L+=v-Math.max(b,T)-C-S,A+=v+Math.max(b,T)+C+S,I+=p-Math.max(b,T)-C-S,O+=p+Math.max(b,T)+C+S;var M=a||"main",R=i.labelBounds,k=R[M]=R[M]||{};k.x1=L,k.y1=I,k.x2=A,k.y2=O,k.w=A-L,k.h=O-I;var P=g&&y.strValue==="autorotate",B=y.pfValue!=null&&y.pfValue!==0;if(P||B){var V=P?ta(i.rstyle,"labelAngle",a):y.pfValue,F=Math.cos(V),G=Math.sin(V),Y=(L+A)/2,_=(I+O)/2;if(!g){switch(u.value){case"left":Y=A;break;case"right":Y=L;break}switch(l.value){case"top":_=O;break;case"bottom":_=I;break}}var q=function(me,te){return me=me-Y,te=te-_,{x:me*F-te*G+Y,y:me*G+te*F+_}},U=q(L,I),z=q(L,O),H=q(A,I),W=q(A,O);L=Math.min(U.x,z.x,H.x,W.x),A=Math.max(U.x,z.x,H.x,W.x),I=Math.min(U.y,z.y,H.y,W.y),O=Math.max(U.y,z.y,H.y,W.y)}var J=M+"Rot",ee=R[J]=R[J]||{};ee.x1=L,ee.y1=I,ee.x2=A,ee.y2=O,ee.w=A-L,ee.h=O-I,Lt(e,L,I,A,O),Lt(i.labelBounds.all,L,I,A,O)}return e}},Gd=function(e,r){if(!r.cy().headless()){var a=r.pstyle("outline-opacity").value,n=r.pstyle("outline-width").value;if(a>0&&n>0){var i=r.pstyle("outline-offset").value,s=r.pstyle("shape").value,o=n+i,u=(e.w+o*2)/e.w,l=(e.h+o*2)/e.h,f=0,h=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(e.w+o*2.4)/e.w,h=-o/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(e.w+o*2.4)/e.w:s==="star"?(u=(e.w+o*2.8)/e.w,l=(e.h+o*2.6)/e.h,h=-o/3.8):s==="triangle"?(u=(e.w+o*2.8)/e.w,l=(e.h+o*2.4)/e.h,h=-o/1.4):s==="vee"&&(u=(e.w+o*4.4)/e.w,l=(e.h+o*3.8)/e.h,h=-o*.5);var d=e.h*l-e.h,c=e.w*u-e.w;if(Ha(e,[Math.ceil(d/2),Math.ceil(c/2)]),f!=0||h!==0){var v=ih(e,f,h);Do(e,v)}}}},zd=function(e,r){var a=e._private.cy,n=a.styleEnabled(),i=a.headless(),s=gt(),o=e._private,u=e.isNode(),l=e.isEdge(),f,h,d,c,v,p,g=o.rstyle,y=u&&n?e.pstyle("bounds-expansion").pfValue:[0],b=function(ue){return ue.pstyle("display").value!=="none"},m=!n||b(e)&&(!l||b(e.source())&&b(e.target()));if(m){var T=0,C=0;n&&r.includeOverlays&&(T=e.pstyle("overlay-opacity").value,T!==0&&(C=e.pstyle("overlay-padding").value));var S=0,E=0;n&&r.includeUnderlays&&(S=e.pstyle("underlay-opacity").value,S!==0&&(E=e.pstyle("underlay-padding").value));var x=Math.max(C,E),w=0,D=0;if(n&&(w=e.pstyle("width").pfValue,D=w/2),u&&r.includeNodes){var L=e.position();v=L.x,p=L.y;var A=e.outerWidth(),I=A/2,O=e.outerHeight(),M=O/2;f=v-I,h=v+I,d=p-M,c=p+M,Lt(s,f,d,h,c),n&&r.includeOutlines&&Gd(s,e)}else if(l&&r.includeEdges)if(n&&!i){var R=e.pstyle("curve-style").strValue;if(f=Math.min(g.srcX,g.midX,g.tgtX),h=Math.max(g.srcX,g.midX,g.tgtX),d=Math.min(g.srcY,g.midY,g.tgtY),c=Math.max(g.srcY,g.midY,g.tgtY),f-=D,h+=D,d-=D,c+=D,Lt(s,f,d,h,c),R==="haystack"){var k=g.haystackPts;if(k&&k.length===2){if(f=k[0].x,d=k[0].y,h=k[1].x,c=k[1].y,f>h){var P=f;f=h,h=P}if(d>c){var B=d;d=c,c=B}Lt(s,f-D,d-D,h+D,c+D)}}else if(R==="bezier"||R==="unbundled-bezier"||R.endsWith("segments")||R.endsWith("taxi")){var V;switch(R){case"bezier":case"unbundled-bezier":V=g.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":V=g.linePts;break}if(V!=null)for(var F=0;Fh){var z=f;f=h,h=z}if(d>c){var H=d;d=c,c=H}f-=D,h+=D,d-=D,c+=D,Lt(s,f,d,h,c)}if(n&&r.includeEdges&&l&&(Ga(s,e,"mid-source"),Ga(s,e,"mid-target"),Ga(s,e,"source"),Ga(s,e,"target")),n){var W=e.pstyle("ghost").value==="yes";if(W){var J=e.pstyle("ghost-offset-x").pfValue,ee=e.pstyle("ghost-offset-y").pfValue;Lt(s,s.x1+J,s.y1+ee,s.x2+J,s.y2+ee)}}var oe=o.bodyBounds=o.bodyBounds||{};Qi(oe,s),Ha(oe,y),_a(oe,1),n&&(f=s.x1,h=s.x2,d=s.y1,c=s.y2,Lt(s,f-x,d-x,h+x,c+x));var me=o.overlayBounds=o.overlayBounds||{};Qi(me,s),Ha(me,y),_a(me,1);var te=o.labelBounds=o.labelBounds||{};te.all!=null?nh(te.all):te.all=gt(),n&&r.includeLabels&&(r.includeMainLabels&&Vn(s,e,null),l&&(r.includeSourceLabels&&Vn(s,e,"source"),r.includeTargetLabels&&Vn(s,e,"target")))}return s.x1=Et(s.x1),s.y1=Et(s.y1),s.x2=Et(s.x2),s.y2=Et(s.y2),s.w=Et(s.x2-s.x1),s.h=Et(s.y2-s.y1),s.w>0&&s.h>0&&m&&(Ha(s,y),_a(s,1)),s},Jo=function(e){var r=0,a=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:eg,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};ar.removeAllListeners=function(){return this.removeListener("*")};ar.emit=ar.trigger=function(t,e,r){var a=this.listeners,n=a.length;return this.emitting++,Re(e)||(e=[e]),tg(this,function(i,s){r!=null&&(a=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],n=a.length);for(var o=function(f){var h=a[f];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===jd)&&i.eventMatches(i.context,h,s)){var d=[s];e!=null&&Mf(d,e),i.beforeEmit(i.context,h,s),h.conf&&h.conf.one&&(i.listeners=i.listeners.filter(function(p){return p!==h}));var c=i.callbackContext(i.context,h,s),v=h.callback.apply(c,d);i.afterEmit(i.context,h,s),v===!1&&(s.stopPropagation(),s.preventDefault())}},u=0;u1&&!s){var o=this.length-1,u=this[o],l=u._private.data.id;this[o]=void 0,this[e]=u,i.set(l,{ele:u,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,a=e._private.data.id,n=r.map,i=n.get(a);if(!i)return this;var s=i.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&ve(e)){var a=e;e=r.mutableElements().filter(a)}for(var n=0;n=0;r--){var a=this[r];e(a)&&this.unmergeAt(r)}return this},map:function(e,r){for(var a=[],n=this,i=0;ia&&(a=u,n=o)}return{value:a,ele:n}},min:function(e,r){for(var a=1/0,n,i=this,s=0;s=0&&i"u"?"undefined":Xe(Symbol))!=e&&Xe(Symbol.iterator)!=e;r&&(un[Symbol.iterator]=function(){var a=this,n={value:void 0,done:!1},i=0,s=this.length;return ao({next:function(){return i1&&arguments[1]!==void 0?arguments[1]:!0,a=this[0],n=a.cy();if(n.styleEnabled()&&a){this.cleanStyle();var i=a._private.style[e];return i??(r?n.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var a=r.pstyle(e);return a.pfValue!==void 0?a.pfValue:a.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var a=this[0];if(a)return r.style().getRenderedStyle(a,e)},style:function(e,r){var a=this.cy();if(!a.styleEnabled())return this;var n=!1,i=a.style();if(Ce(e)){var s=e;i.applyBypass(this,s,n),this.emitAndNotify("style")}else if(ve(e))if(r===void 0){var o=this[0];return o?i.getStylePropertyValue(o,e):void 0}else i.applyBypass(this,e,r,n),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?i.getRawStyle(u):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var a=!1,n=r.style(),i=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});it.neighbourhood=it.neighborhood;it.closedNeighbourhood=it.closedNeighborhood;it.openNeighbourhood=it.openNeighborhood;be(it,{source:wt(function(e){var r=this[0],a;return r&&(a=r._private.source||r.cy().collection()),a&&e?a.filter(e):a},"source"),target:wt(function(e){var r=this[0],a;return r&&(a=r._private.target||r.cy().collection()),a&&e?a.filter(e):a},"target"),sources:Os({attr:"source"}),targets:Os({attr:"target"})});function Os(t){return function(r){for(var a=[],n=0;n0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});it.componentsOf=it.components;var et=function(e,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){ze("A collection must have a reference to the core");return}var i=new Bt,s=!1;if(!r)r=[];else if(r.length>0&&Ce(r[0])&&!Ta(r[0])){s=!0;for(var o=[],u=new Ur,l=0,f=r.length;l0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,a=r.cy(),n=a._private,i=[],s=[],o,u=0,l=r.length;u0){for(var B=o.length===r.length?r:new et(a,o),V=0;V0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,a=[],n={},i=r._private.cy;function s(O){for(var M=O._private.edges,R=0;R0&&(t?L.emitAndNotify("remove"):e&&L.emit("remove"));for(var A=0;A0?A=O:L=O;while(Math.abs(I)>s&&++M=i?b(D,M):R===0?M:T(D,L,L+l)}var S=!1;function E(){S=!0,(t!==e||r!==a)&&m()}var x=function(L){return S||E(),t===e&&r===a?L:L===0?0:L===1?1:g(C(L),e,a)};x.getControlPoints=function(){return[{x:t,y:e},{x:r,y:a}]};var w="generateBezier("+[t,e,r,a]+")";return x.toString=function(){return w},x}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var cg=function(){function t(a){return-a.tension*a.x-a.friction*a.v}function e(a,n,i){var s={x:a.x+i.dx*n,v:a.v+i.dv*n,tension:a.tension,friction:a.friction};return{dx:s.v,dv:t(s)}}function r(a,n){var i={dx:a.v,dv:t(a)},s=e(a,n*.5,i),o=e(a,n*.5,s),u=e(a,n,o),l=1/6*(i.dx+2*(s.dx+o.dx)+u.dx),f=1/6*(i.dv+2*(s.dv+o.dv)+u.dv);return a.x=a.x+l*n,a.v=a.v+f*n,a}return function a(n,i,s){var o={x:-1,v:0,tension:null,friction:null},u=[0],l=0,f=1/1e4,h=16/1e3,d,c,v;for(n=parseFloat(n)||500,i=parseFloat(i)||20,s=s||null,o.tension=n,o.friction=i,d=s!==null,d?(l=a(n,i),c=l/s*h):c=h;v=r(v||o,c),u.push(1+v.x),l+=16,Math.abs(v.x)>f&&Math.abs(v.v)>f;);return d?function(p){return u[p*(u.length-1)|0]}:l}}(),ke=function(e,r,a,n){var i=hg(e,r,a,n);return function(s,o,u){return s+(o-s)*i(u)}},Wa={linear:function(e,r,a){return e+(r-e)*a},ease:ke(.25,.1,.25,1),"ease-in":ke(.42,0,1,1),"ease-out":ke(0,0,.58,1),"ease-in-out":ke(.42,0,.58,1),"ease-in-sine":ke(.47,0,.745,.715),"ease-out-sine":ke(.39,.575,.565,1),"ease-in-out-sine":ke(.445,.05,.55,.95),"ease-in-quad":ke(.55,.085,.68,.53),"ease-out-quad":ke(.25,.46,.45,.94),"ease-in-out-quad":ke(.455,.03,.515,.955),"ease-in-cubic":ke(.55,.055,.675,.19),"ease-out-cubic":ke(.215,.61,.355,1),"ease-in-out-cubic":ke(.645,.045,.355,1),"ease-in-quart":ke(.895,.03,.685,.22),"ease-out-quart":ke(.165,.84,.44,1),"ease-in-out-quart":ke(.77,0,.175,1),"ease-in-quint":ke(.755,.05,.855,.06),"ease-out-quint":ke(.23,1,.32,1),"ease-in-out-quint":ke(.86,0,.07,1),"ease-in-expo":ke(.95,.05,.795,.035),"ease-out-expo":ke(.19,1,.22,1),"ease-in-out-expo":ke(1,0,0,1),"ease-in-circ":ke(.6,.04,.98,.335),"ease-out-circ":ke(.075,.82,.165,1),"ease-in-out-circ":ke(.785,.135,.15,.86),spring:function(e,r,a){if(a===0)return Wa.linear;var n=cg(e,r,a);return function(i,s,o){return i+(s-i)*n(o)}},"cubic-bezier":ke};function Ms(t,e,r,a,n){if(a===1||e===r)return r;var i=n(e,r,a);return t==null||((t.roundValue||t.color)&&(i=Math.round(i)),t.min!==void 0&&(i=Math.max(i,t.min)),t.max!==void 0&&(i=Math.min(i,t.max))),i}function Rs(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Sr(t,e,r,a,n){var i=n!=null?n.type:null;r<0?r=0:r>1&&(r=1);var s=Rs(t,n),o=Rs(e,n);if(ne(s)&&ne(o))return Ms(i,s,o,r,a);if(Re(s)&&Re(o)){for(var u=[],l=0;l0?(c==="spring"&&v.push(s.duration),s.easingImpl=Wa[c].apply(null,v)):s.easingImpl=Wa[c]}var p=s.easingImpl,g;if(s.duration===0?g=1:g=(r-u)/s.duration,s.applying&&(g=s.progress),g<0?g=0:g>1&&(g=1),s.delay==null){var y=s.startPosition,b=s.position;if(b&&n&&!t.locked()){var m={};aa(y.x,b.x)&&(m.x=Sr(y.x,b.x,g,p)),aa(y.y,b.y)&&(m.y=Sr(y.y,b.y,g,p)),t.position(m)}var T=s.startPan,C=s.pan,S=i.pan,E=C!=null&&a;E&&(aa(T.x,C.x)&&(S.x=Sr(T.x,C.x,g,p)),aa(T.y,C.y)&&(S.y=Sr(T.y,C.y,g,p)),t.emit("pan"));var x=s.startZoom,w=s.zoom,D=w!=null&&a;D&&(aa(x,w)&&(i.zoom=ga(i.minZoom,Sr(x,w,g,p),i.maxZoom)),t.emit("zoom")),(E||D)&&t.emit("viewport");var L=s.style;if(L&&L.length>0&&n){for(var A=0;A=0;E--){var x=S[E];x()}S.splice(0,S.length)},b=c.length-1;b>=0;b--){var m=c[b],T=m._private;if(T.stopped){c.splice(b,1),T.hooked=!1,T.playing=!1,T.started=!1,y(T.frames);continue}!T.playing&&!T.applying||(T.playing&&T.applying&&(T.applying=!1),T.started||dg(f,m,t),vg(f,m,t,h),T.applying&&(T.applying=!1),y(T.frames),T.step!=null&&T.step(t),m.completed()&&(c.splice(b,1),T.hooked=!1,T.playing=!1,T.started=!1,y(T.completes)),p=!0)}return!h&&c.length===0&&v.length===0&&a.push(f),p}for(var i=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(a),e.emit("step")}var gg={animate:Oe.animate(),animation:Oe.animation(),animated:Oe.animated(),clearQueue:Oe.clearQueue(),delay:Oe.delay(),delayAnimation:Oe.delayAnimation(),stop:Oe.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&rn(function(i){ks(i,e),r()})}var a=e.renderer();a&&a.beforeRender?a.beforeRender(function(i,s){ks(s,e)},a.beforeRenderPriorities.animations):r()}},pg={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,a){var n=r.qualifier;return n!=null?e!==a.target&&Ta(a.target)&&n.matches(a.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,a){return r.qualifier!=null?a.target:e}},Ua=function(e){return ve(e)?new tr(e):e},lu={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Tn(pg,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,a){return this.emitter().on(e,Ua(r),a),this},removeListener:function(e,r,a){return this.emitter().removeListener(e,Ua(r),a),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,a){return this.emitter().one(e,Ua(r),a),this},once:function(e,r,a){return this.emitter().one(e,Ua(r),a),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};Oe.eventAliasesOn(lu);var ei={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};ei.jpeg=ei.jpg;var Ka={layout:function(e){var r=this;if(e==null){ze("Layout options must be specified to make a layout");return}if(e.name==null){ze("A `name` must be specified to make a layout");return}var a=e.name,n=r.extension("layout",a);if(n==null){ze("No such layout `"+a+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;ve(e.eles)?i=r.$(e.eles):i=e.eles!=null?e.eles:r.$();var s=new n(be({},e,{cy:r,eles:i}));return s}};Ka.createLayout=Ka.makeLayout=Ka.layout;var yg={notify:function(e,r){var a=this._private;if(this.batching()){a.batchNotifications=a.batchNotifications||{};var n=a.batchNotifications[e]=a.batchNotifications[e]||this.collection();r!=null&&n.merge(r);return}if(a.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(a){var n=e.batchNotifications[a];n.empty()?r.notify(a):r.notify(a,n)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var a=Object.keys(e),n=0;n0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(a){var n=a._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};ti.invalidateDimensions=ti.resize;var Za={collection:function(e,r){return ve(e)?this.$(e):pt(e)?e.collection():Re(e)?(r||(r={}),new et(this,e,r.unique,r.removed)):new et(this)},nodes:function(e){var r=this.$(function(a){return a.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(a){return a.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};Za.elements=Za.filter=Za.$;var ot={},la="t",bg="f";ot.apply=function(t){for(var e=this,r=e._private,a=r.cy,n=a.collection(),i=0;i0;if(d||h&&c){var v=void 0;d&&c||d?v=l.properties:c&&(v=l.mappedProperties);for(var p=0;p1&&(T=1),o.color){var S=a.valueMin[0],E=a.valueMax[0],x=a.valueMin[1],w=a.valueMax[1],D=a.valueMin[2],L=a.valueMax[2],A=a.valueMin[3]==null?1:a.valueMin[3],I=a.valueMax[3]==null?1:a.valueMax[3],O=[Math.round(S+(E-S)*T),Math.round(x+(w-x)*T),Math.round(D+(L-D)*T),Math.round(A+(I-A)*T)];i={bypass:a.bypass,name:a.name,value:O,strValue:"rgb("+O[0]+", "+O[1]+", "+O[2]+")"}}else if(o.number){var M=a.valueMin+(a.valueMax-a.valueMin)*T;i=this.parse(a.name,M,a.bypass,d)}else return!1;if(!i)return p(),!1;i.mapping=a,a=i;break}case s.data:{for(var R=a.field.split("."),k=h.data,P=0;P0&&i>0){for(var o={},u=!1,l=0;l0?t.delayAnimation(s).play().promise().then(m):m()}).then(function(){return t.animation({style:o,duration:i,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,n),t.emitAndNotify("style"),a.transitioning=!1})}else a.transitioning&&(this.removeBypasses(t,n),t.emitAndNotify("style"),a.transitioning=!1)};ot.checkTrigger=function(t,e,r,a,n,i){var s=this.properties[e],o=n(s);o!=null&&o(r,a)&&i(s)};ot.checkZOrderTrigger=function(t,e,r,a){var n=this;this.checkTrigger(t,e,r,a,function(i){return i.triggersZOrder},function(){n._private.cy.notify("zorder",t)})};ot.checkBoundsTrigger=function(t,e,r,a){this.checkTrigger(t,e,r,a,function(n){return n.triggersBounds},function(n){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),n.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||a==="bezier")&&t.parallelEdges().forEach(function(i){i.isBundledBezier()&&i.dirtyBoundingBoxCache()}),n.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||a==="none")&&t.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})};ot.checkTriggers=function(t,e,r,a){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,a),this.checkBoundsTrigger(t,e,r,a)};var La={};La.applyBypass=function(t,e,r,a){var n=this,i=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;on.length?a=a.substr(n.length):a=""}function u(){i.length>s.length?i=i.substr(s.length):i=""}for(;;){var l=a.match(/^\s*$/);if(l)break;var f=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){Ne("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}n=f[0];var h=f[1];if(h!=="core"){var d=new tr(h);if(d.invalid){Ne("Skipping parsing of block: Invalid selector found in string stylesheet: "+h),o();continue}}var c=f[2],v=!1;i=c;for(var p=[];;){var g=i.match(/^\s*$/);if(g)break;var y=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!y){Ne("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+c),v=!0;break}s=y[0];var b=y[1],m=y[2],T=e.properties[b];if(!T){Ne("Skipping property: Invalid property name in: "+s),u();continue}var C=r.parse(b,m);if(!C){Ne("Skipping property: Invalid property definition in: "+s),u();continue}p.push({name:b,val:m}),u()}if(v){o();break}r.selector(h);for(var S=0;S=7&&e[0]==="d"&&(f=new RegExp(o.data.regex).exec(e))){if(r)return!1;var d=o.data;return{name:t,value:f,strValue:""+e,mapped:d,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(h=new RegExp(o.mapData.regex).exec(e))){if(r||l.multiple)return!1;var c=o.mapData;if(!(l.color||l.number))return!1;var v=this.parse(t,h[4]);if(!v||v.mapped)return!1;var p=this.parse(t,h[5]);if(!p||p.mapped)return!1;if(v.pfValue===p.pfValue||v.strValue===p.strValue)return Ne("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+v.strValue+"`"),this.parse(t,v.strValue);if(l.color){var g=v.value,y=p.value,b=g[0]===y[0]&&g[1]===y[1]&&g[2]===y[2]&&(g[3]===y[3]||(g[3]==null||g[3]===1)&&(y[3]==null||y[3]===1));if(b)return!1}return{name:t,value:h,strValue:""+e,mapped:c,field:h[1],fieldMin:parseFloat(h[2]),fieldMax:parseFloat(h[3]),valueMin:v.value,valueMax:p.value,bypass:r}}}if(l.multiple&&a!=="multiple"){var m;if(u?m=e.split(/\s+/):Re(e)?m=e:m=[e],l.evenMultiple&&m.length%2!==0)return null;for(var T=[],C=[],S=[],E="",x=!1,w=0;w0?" ":"")+D.strValue}return l.validate&&!l.validate(T,C)?null:l.singleEnum&&x?T.length===1&&ve(T[0])?{name:t,value:T[0],strValue:T[0],bypass:r}:null:{name:t,value:T,pfValue:S,strValue:E,bypass:r,units:C}}var L=function(){for(var W=0;Wl.max||l.strictMax&&e===l.max))return null;var R={name:t,value:e,strValue:""+e+(A||""),units:A,bypass:r};return l.unitless||A!=="px"&&A!=="em"?R.pfValue=e:R.pfValue=A==="px"||!A?e:this.getEmSizeInPixels()*e,(A==="ms"||A==="s")&&(R.pfValue=A==="ms"?e:1e3*e),(A==="deg"||A==="rad")&&(R.pfValue=A==="rad"?e:eh(e)),A==="%"&&(R.pfValue=e/100),R}else if(l.propList){var k=[],P=""+e;if(P!=="none"){for(var B=P.split(/\s*,\s*|\s+/),V=0;V0&&o>0&&!isNaN(a.w)&&!isNaN(a.h)&&a.w>0&&a.h>0){u=Math.min((s-2*r)/a.w,(o-2*r)/a.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=a.minZoom&&(a.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,a=r.pan,n=r.zoom,i,s,o=!1;if(r.zoomingEnabled||(o=!0),ne(e)?s=e:Ce(e)&&(s=e.level,e.position!=null?i=yn(e.position,n,a):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,i.push("zoom"))}if(n&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var l=e.pan;ne(l.x)&&(r.pan.x=l.x,o=!1),ne(l.y)&&(r.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(ve(e)){var a=e;e=this.mutableElements().filter(a)}else pt(e)||(e=this.mutableElements());if(e.length!==0){var n=e.boundingBox(),i=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(i-r*(n.x1+n.x2))/2,y:(s-r*(n.y1+n.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,a=this;return e.sizeCache=e.sizeCache||(r?function(){var n=a.window().getComputedStyle(r),i=function(o){return parseFloat(n.getPropertyValue(o))};return{width:r.clientWidth-i("padding-left")-i("padding-right"),height:r.clientHeight-i("padding-top")-i("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,a=this.renderedExtent(),n={x1:(a.x1-e.x)/r,x2:(a.x2-e.x)/r,y1:(a.y1-e.y)/r,y2:(a.y2-e.y)/r};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};mr.centre=mr.center;mr.autolockNodes=mr.autolock;mr.autoungrabifyNodes=mr.autoungrabify;var Ea={data:Oe.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Oe.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Oe.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Oe.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ea.attr=Ea.data;Ea.removeAttr=Ea.removeData;var wa=function(e){var r=this;e=be({},e);var a=e.container;a&&!tn(a)&&tn(a[0])&&(a=a[0]);var n=a?a._cyreg:null;n=n||{},n&&n.cy&&(n.cy.destroy(),n={});var i=n.readies=n.readies||[];a&&(a._cyreg=n),n.cy=r;var s=Ye!==void 0&&a!==void 0&&!e.headless,o=e;o.layout=be({name:s?"grid":"null"},o.layout),o.renderer=be({name:s?"canvas":"null"},o.renderer);var u=function(v,p,g){return p!==void 0?p:g!==void 0?g:v},l=this._private={container:a,ready:!1,options:o,elements:new et(this),listeners:[],aniEles:new et(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,o.zoomingEnabled),userZoomingEnabled:u(!0,o.userZoomingEnabled),panningEnabled:u(!0,o.panningEnabled),userPanningEnabled:u(!0,o.userPanningEnabled),boxSelectionEnabled:u(!0,o.boxSelectionEnabled),autolock:u(!1,o.autolock,o.autolockNodes),autoungrabify:u(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:u(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:ne(o.zoom)?o.zoom:1,pan:{x:Ce(o.pan)&&ne(o.pan.x)?o.pan.x:0,y:Ce(o.pan)&&ne(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var f=function(v,p){var g=v.some(Tl);if(g)return $r.all(v).then(p);p(v)};l.styleEnabled&&r.setStyle([]);var h=be({},o,o.renderer);r.initRenderer(h);var d=function(v,p,g){r.notifications(!1);var y=r.mutableElements();y.length>0&&y.remove(),v!=null&&(Ce(v)||Re(v))&&r.add(v),r.one("layoutready",function(m){r.notifications(!0),r.emit(m),r.one("load",p),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",g),r.emit("done")});var b=be({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()};f([o.style,o.elements],function(c){var v=c[0],p=c[1];l.styleEnabled&&r.style().append(v),d(p,function(){r.startAnimationLoop(),l.ready=!0,Ge(o.ready)&&r.on("ready",o.ready);for(var g=0;g0,u=gt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l;if(pt(e.roots))l=e.roots;else if(Re(e.roots)){for(var f=[],h=0;h0;){var M=O(),R=D(M,A);if(R)M.outgoers().filter(function(te){return te.isNode()&&a.has(te)}).forEach(I);else if(R===null){Ne("Detected double maximal shift for node `"+M.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}w();var k=0;if(e.avoidOverlap)for(var P=0;P0&&y[0].length<=3?we/2:0),N=2*Math.PI/y[ce].length*fe;return ce===0&&y[0].length===1&&(j=1),{x:ee.x+j*Math.cos(N),y:ee.y+j*Math.sin(N)}}else{var De={x:ee.x+(fe+1-(ge+1)/2)*Ae,y:(ce+1)*xe};return De}};return a.nodes().layoutPositions(this,e,me),this};var Cg={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function hu(t){this.options=be({},Cg,t)}hu.prototype.run=function(){var t=this.options,e=t,r=t.cy,a=e.eles,n=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=a.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var s=gt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,l=u/Math.max(1,i.length-1),f,h=0,d=0;d1&&e.avoidOverlap){h*=1.75;var y=Math.cos(l)-Math.cos(0),b=Math.sin(l)-Math.sin(0),m=Math.sqrt(h*h/(y*y+b*b));f=Math.max(m,f)}var T=function(S,E){var x=e.startAngle+E*l*(n?1:-1),w=f*Math.cos(x),D=f*Math.sin(x),L={x:o.x+w,y:o.y+D};return L};return a.nodes().layoutPositions(this,e,T),this};var Dg={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function cu(t){this.options=be({},Dg,t)}cu.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=t.cy,n=e.eles,i=n.nodes().not(":parent"),s=gt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],l=0,f=0;f0){var C=Math.abs(b[0].value-T.value);C>=g&&(b=[],y.push(b))}b.push(T)}var S=l+e.minNodeSpacing;if(!e.avoidOverlap){var E=y.length>0&&y[0].length>1,x=Math.min(s.w,s.h)/2-S,w=x/(y.length+E?1:0);S=Math.min(S,w)}for(var D=0,L=0;L1&&e.avoidOverlap){var M=Math.cos(O)-Math.cos(0),R=Math.sin(O)-Math.sin(0),k=Math.sqrt(S*S/(M*M+R*R));D=Math.max(k,D)}A.r=D,D+=S}if(e.equidistant){for(var P=0,B=0,V=0;V=t.numIter||(Rg(a,t),a.temperature=a.temperature*t.coolingFactor,a.temperature=t.animationThreshold&&i(),rn(h)}};f()}else{for(;l;)l=s(u),u++;Fs(a,t),o()}return this};An.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};An.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Lg=function(e,r,a){for(var n=a.eles.edges(),i=a.eles.nodes(),s=gt(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:a.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=a.eles.components(),l={},f=0;f0){o.graphSet.push(x);for(var f=0;fn.count?0:n.graph},Og=function t(e,r,a,n){var i=n.graphSet[a];if(-10)var h=n.nodeOverlap*f,d=Math.sqrt(o*o+u*u),c=h*o/d,v=h*u/d;else var p=fn(e,o,u),g=fn(r,-1*o,-1*u),y=g.x-p.x,b=g.y-p.y,m=y*y+b*b,d=Math.sqrt(m),h=(e.nodeRepulsion+r.nodeRepulsion)/m,c=h*y/d,v=h*b/d;e.isLocked||(e.offsetX-=c,e.offsetY-=v),r.isLocked||(r.offsetX+=c,r.offsetY+=v)}},Bg=function(e,r,a,n){if(a>0)var i=e.maxX-r.minX;else var i=r.maxX-e.minX;if(n>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return i>=0&&s>=0?Math.sqrt(i*i+s*s):0},fn=function(e,r,a){var n=e.positionX,i=e.positionY,s=e.height||1,o=e.width||1,u=a/r,l=s/o,f={};return r===0&&0a?(f.x=n,f.y=i+s/2,f):0r&&-1*l<=u&&u<=l?(f.x=n-o/2,f.y=i-o*a/2/r,f):0=l)?(f.x=n+s*r/2/a,f.y=i+s/2,f):(0>a&&(u<=-1*l||u>=l)&&(f.x=n-s*r/2/a,f.y=i-s/2),f)},Fg=function(e,r){for(var a=0;aa){var g=r.gravity*c/p,y=r.gravity*v/p;d.offsetX+=g,d.offsetY+=y}}}}},zg=function(e,r){var a=[],n=0,i=-1;for(a.push.apply(a,e.graphSet[0]),i+=e.graphSet[0].length;n<=i;){var s=a[n++],o=e.idToIndex[s],u=e.layoutNodes[o],l=u.children;if(0a)var i={x:a*e/n,y:a*r/n};else var i={x:e,y:r};return i},$g=function t(e,r){var a=e.parentId;if(a!=null){var n=r.layoutNodes[r.idToIndex[a]],i=!1;if((n.maxX==null||e.maxX+n.padRight>n.maxX)&&(n.maxX=e.maxX+n.padRight,i=!0),(n.minX==null||e.minX-n.padLeftn.maxY)&&(n.maxY=e.maxY+n.padBottom,i=!0),(n.minY==null||e.minY-n.padTopy&&(v+=g+r.componentSpacing,c=0,p=0,g=0)}}},Yg={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function du(t){this.options=be({},Yg,t)}du.prototype.run=function(){var t=this.options,e=t,r=t.cy,a=e.eles,n=a.nodes().not(":parent");e.sort&&(n=n.sort(e.sort));var i=gt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(i.h===0||i.w===0)a.nodes().layoutPositions(this,e,function(Y){return{x:i.x1,y:i.y1}});else{var s=n.size(),o=Math.sqrt(s*i.h/i.w),u=Math.round(o),l=Math.round(i.w/i.h*o),f=function(_){if(_==null)return Math.min(u,l);var q=Math.min(u,l);q==u?u=_:l=_},h=function(_){if(_==null)return Math.max(u,l);var q=Math.max(u,l);q==u?u=_:l=_},d=e.rows,c=e.cols!=null?e.cols:e.columns;if(d!=null&&c!=null)u=d,l=c;else if(d!=null&&c==null)u=d,l=Math.ceil(s/u);else if(d==null&&c!=null)l=c,u=Math.ceil(s/l);else if(l*u>s){var v=f(),p=h();(v-1)*p>=s?f(v-1):(p-1)*v>=s&&h(p-1)}else for(;l*u=s?h(y+1):f(g+1)}var b=i.w/l,m=i.h/u;if(e.condense&&(b=0,m=0),e.avoidOverlap)for(var T=0;T=l&&(M=0,O++)},k={},P=0;P(M=vh(t,e,R[k],R[k+1],R[k+2],R[k+3])))return g(E,M),!0}else if(w.edgeType==="bezier"||w.edgeType==="multibezier"||w.edgeType==="self"||w.edgeType==="compound"){for(var R=w.allpts,k=0;k+5(M=ch(t,e,R[k],R[k+1],R[k+2],R[k+3],R[k+4],R[k+5])))return g(E,M),!0}for(var P=P||x.source,B=B||x.target,V=n.getArrowWidth(D,L),F=[{name:"source",x:w.arrowStartX,y:w.arrowStartY,angle:w.srcArrowAngle},{name:"target",x:w.arrowEndX,y:w.arrowEndY,angle:w.tgtArrowAngle},{name:"mid-source",x:w.midX,y:w.midY,angle:w.midsrcArrowAngle},{name:"mid-target",x:w.midX,y:w.midY,angle:w.midtgtArrowAngle}],k=0;k0&&(y(P),y(B))}function m(E,x,w){return At(E,x,w)}function T(E,x){var w=E._private,D=d,L;x?L=x+"-":L="",E.boundingBox();var A=w.labelBounds[x||"main"],I=E.pstyle(L+"label").value,O=E.pstyle("text-events").strValue==="yes";if(!(!O||!I)){var M=m(w.rscratch,"labelX",x),R=m(w.rscratch,"labelY",x),k=m(w.rscratch,"labelAngle",x),P=E.pstyle(L+"text-margin-x").pfValue,B=E.pstyle(L+"text-margin-y").pfValue,V=A.x1-D-P,F=A.x2+D-P,G=A.y1-D-B,Y=A.y2+D-B;if(k){var _=Math.cos(k),q=Math.sin(k),U=function(me,te){return me=me-M,te=te-R,{x:me*_-te*q+M,y:me*q+te*_+R}},z=U(V,G),H=U(V,Y),W=U(F,G),J=U(F,Y),ee=[z.x+P,z.y+B,W.x+P,W.y+B,J.x+P,J.y+B,H.x+P,H.y+B];if(dt(t,e,ee))return g(E),!0}else if(Gr(A,t,e))return g(E),!0}}for(var C=s.length-1;C>=0;C--){var S=s[C];S.isNode()?y(S)||T(S):b(S)||T(S)||T(S,"source")||T(S,"target")}return o};wr.getAllInBox=function(t,e,r,a){var n=this.getCachedZSortedEles().interactive,i=[],s=Math.min(t,r),o=Math.max(t,r),u=Math.min(e,a),l=Math.max(e,a);t=s,r=o,e=u,a=l;for(var f=gt({x1:t,y1:e,x2:r,y2:a}),h=0;h0?-(Math.PI-e.ang):Math.PI+e.ang},Kg=function(e,r,a,n,i){if(e!==$s?Ys(r,e,kt):Wg(bt,kt),Ys(r,a,bt),Vs=kt.nx*bt.ny-kt.ny*bt.nx,Us=kt.nx*bt.nx-kt.ny*-bt.ny,Ut=Math.asin(Math.max(-1,Math.min(1,Vs))),Math.abs(Ut)<1e-6){ri=r.x,ai=r.y,fr=Ar=0;return}hr=1,Qa=!1,Us<0?Ut<0?Ut=Math.PI+Ut:(Ut=Math.PI-Ut,hr=-1,Qa=!0):Ut>0&&(hr=-1,Qa=!0),r.radius!==void 0?Ar=r.radius:Ar=n,or=Ut/2,$a=Math.min(kt.len/2,bt.len/2),i?(Rt=Math.abs(Math.cos(or)*Ar/Math.sin(or)),Rt>$a?(Rt=$a,fr=Math.abs(Rt*Math.sin(or)/Math.cos(or))):fr=Ar):(Rt=Math.min($a,Ar),fr=Math.abs(Rt*Math.sin(or)/Math.cos(or))),ni=r.x+bt.nx*Rt,ii=r.y+bt.ny*Rt,ri=ni-bt.ny*fr*hr,ai=ii+bt.nx*fr*hr,mu=r.x+kt.nx*Rt,bu=r.y+kt.ny*Rt,$s=r};function Eu(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function ki(t,e,r,a){var n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return a===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(Kg(t,e,r,a,n),{cx:ri,cy:ai,radius:fr,startX:mu,startY:bu,stopX:ni,stopY:ii,startAngle:kt.ang+Math.PI/2*hr,endAngle:bt.ang-Math.PI/2*hr,counterClockwise:Qa})}var ut={};ut.findMidptPtsEtc=function(t,e){var r=e.posPts,a=e.intersectionPts,n=e.vectorNormInverse,i,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),u=s.units!=null&&o.units!=null,l=function(C,S,E,x){var w=x-S,D=E-C,L=Math.sqrt(D*D+w*w);return{x:-w/L,y:D/L}},f=t.pstyle("edge-distances").value;switch(f){case"node-position":i=r;break;case"intersection":i=a;break;case"endpoints":{if(u){var h=this.manualEndptToPx(t.source()[0],s),d=St(h,2),c=d[0],v=d[1],p=this.manualEndptToPx(t.target()[0],o),g=St(p,2),y=g[0],b=g[1],m={x1:c,y1:v,x2:y,y2:b};n=l(c,v,y,b),i=m}else Ne("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),i=a;break}}return{midptPts:i,vectorNormInverse:n}};ut.findHaystackPoints=function(t){for(var e=0;e0?Math.max(pe-ye,0):Math.min(pe+ye,0)},I=A(D,x),O=A(L,w),M=!1;b===l?y=Math.abs(I)>Math.abs(O)?n:a:b===u||b===o?(y=a,M=!0):(b===i||b===s)&&(y=n,M=!0);var R=y===a,k=R?O:I,P=R?L:D,B=Co(P),V=!1;!(M&&(T||S))&&(b===o&&P<0||b===u&&P>0||b===i&&P>0||b===s&&P<0)&&(B*=-1,k=B*Math.abs(k),V=!0);var F;if(T){var G=C<0?1+C:C;F=G*k}else{var Y=C<0?k:0;F=Y+C*B}var _=function(pe){return Math.abs(pe)=Math.abs(k)},q=_(F),U=_(Math.abs(k)-Math.abs(F)),z=q||U;if(z&&!V)if(R){var H=Math.abs(P)<=d/2,W=Math.abs(D)<=c/2;if(H){var J=(f.x1+f.x2)/2,ee=f.y1,oe=f.y2;r.segpts=[J,ee,J,oe]}else if(W){var me=(f.y1+f.y2)/2,te=f.x1,ie=f.x2;r.segpts=[te,me,ie,me]}else r.segpts=[f.x1,f.y2]}else{var ue=Math.abs(P)<=h/2,ce=Math.abs(L)<=v/2;if(ue){var fe=(f.y1+f.y2)/2,ge=f.x1,Ae=f.x2;r.segpts=[ge,fe,Ae,fe]}else if(ce){var xe=(f.x1+f.x2)/2,we=f.y1,De=f.y2;r.segpts=[xe,we,xe,De]}else r.segpts=[f.x2,f.y1]}else if(R){var j=f.y1+F+(g?d/2*B:0),N=f.x1,$=f.x2;r.segpts=[N,j,$,j]}else{var Q=f.x1+F+(g?h/2*B:0),K=f.y1,X=f.y2;r.segpts=[Q,K,Q,X]}if(r.isRound){var ae=t.pstyle("taxi-radius").value,Z=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(ae),r.isArcRadius=new Array(r.segpts.length/2).fill(Z)}};ut.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var a=e.srcPos,n=e.tgtPos,i=e.srcW,s=e.srcH,o=e.tgtW,u=e.tgtH,l=e.srcShape,f=e.tgtShape,h=e.srcCornerRadius,d=e.tgtCornerRadius,c=e.srcRs,v=e.tgtRs,p=!ne(r.startX)||!ne(r.startY),g=!ne(r.arrowStartX)||!ne(r.arrowStartY),y=!ne(r.endX)||!ne(r.endY),b=!ne(r.arrowEndX)||!ne(r.arrowEndY),m=3,T=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,C=m*T,S=gr({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),E=SO.poolIndex()){var M=I;I=O,O=M}var R=w.srcPos=I.position(),k=w.tgtPos=O.position(),P=w.srcW=I.outerWidth(),B=w.srcH=I.outerHeight(),V=w.tgtW=O.outerWidth(),F=w.tgtH=O.outerHeight(),G=w.srcShape=r.nodeShapes[e.getNodeShape(I)],Y=w.tgtShape=r.nodeShapes[e.getNodeShape(O)],_=w.srcCornerRadius=I.pstyle("corner-radius").value==="auto"?"auto":I.pstyle("corner-radius").pfValue,q=w.tgtCornerRadius=O.pstyle("corner-radius").value==="auto"?"auto":O.pstyle("corner-radius").pfValue,U=w.tgtRs=O._private.rscratch,z=w.srcRs=I._private.rscratch;w.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var H=0;H0){var oe=i,me=ur(oe,Ir(r)),te=ur(oe,Ir(ee)),ie=me;if(te2){var ue=ur(oe,{x:ee[2],y:ee[3]});ue0){var X=s,ae=ur(X,Ir(r)),Z=ur(X,Ir(K)),re=ae;if(Z2){var pe=ur(X,{x:K[2],y:K[3]});pe=v||E){g={cp:T,segment:S};break}}if(g)break}var x=g.cp,w=g.segment,D=(v-y)/w.length,L=w.t1-w.t0,A=c?w.t0+L*D:w.t1-L*D;A=ga(0,A,1),e=Rr(x.p0,x.p1,x.p2,A),d=Qg(x.p0,x.p1,x.p2,A);break}case"straight":case"segments":case"haystack":{for(var I=0,O,M,R,k,P=a.allpts.length,B=0;B+3=v));B+=2);var V=v-M,F=V/O;F=ga(0,F,1),e=rh(R,k,F),d=Tu(R,k);break}}s("labelX",h,e.x),s("labelY",h,e.y),s("labelAutoAngle",h,d)}};l("source"),l("target"),this.applyLabelDimensions(t)}};Gt.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Gt.applyPrefixedLabelDimensions=function(t,e){var r=t._private,a=this.getLabelText(t,e),n=this.calculateLabelDimensions(t,a),i=t.pstyle("line-height").pfValue,s=t.pstyle("text-wrap").strValue,o=At(r.rscratch,"labelWrapCachedLines",e)||[],u=s!=="wrap"?1:Math.max(o.length,1),l=n.height/u,f=l*i,h=n.width,d=n.height+(u-1)*(i-1)*l;Kt(r.rstyle,"labelWidth",e,h),Kt(r.rscratch,"labelWidth",e,h),Kt(r.rstyle,"labelHeight",e,d),Kt(r.rscratch,"labelHeight",e,d),Kt(r.rscratch,"labelLineHeight",e,f)};Gt.getLabelText=function(t,e){var r=t._private,a=e?e+"-":"",n=t.pstyle(a+"label").strValue,i=t.pstyle("text-transform").value,s=function(V,F){return F?(Kt(r.rscratch,V,e,F),F):At(r.rscratch,V,e)};if(!n)return"";i=="none"||(i=="uppercase"?n=n.toUpperCase():i=="lowercase"&&(n=n.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var l="​",f=n.split(` +`),h=t.pstyle("text-max-width").pfValue,d=t.pstyle("text-overflow-wrap").value,c=d==="anywhere",v=[],p=/[\s\u200b]+/,g=c?"":" ",y=0;yh){for(var S=b.split(p),E="",x=0;xI)break;O+=n[k],k===n.length-1&&(R=!0)}return R||(O+=M),O}return n};Gt.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Gt.calculateLabelDimensions=function(t,e){var r=this,a=dr(e,t._private.labelDimsKey),n=r.labelDimCache||(r.labelDimCache=[]),i=n[a];if(i!=null)return i;var s=0,o=t.pstyle("font-style").strValue,u=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,f=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=document.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var c=h.style;c.position="absolute",c.left="-9999px",c.top="-9999px",c.zIndex="-1",c.visibility="hidden",c.pointerEvents="none"}d.font="".concat(o," ").concat(f," ").concat(u,"px ").concat(l);for(var v=0,p=0,g=e.split(` +`),y=0;y1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var u=0;u=t.desktopTapThreshold2}var ft=n(N);Me&&(t.hoverData.tapholdCancelled=!0);var xt=function(){var Mt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];Mt.length===0?(Mt.push(de[0]),Mt.push(de[1])):(Mt[0]+=de[0],Mt[1]+=de[1])};Q=!0,a(he,["mousemove","vmousemove","tapdrag"],N,{x:Z[0],y:Z[1]});var mt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||K.emit({originalEvent:N,type:"boxstart",position:{x:Z[0],y:Z[1]}}),ye[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Me){var vt={originalEvent:N,type:"cxtdrag",position:{x:Z[0],y:Z[1]}};le?le.emit(vt):K.emit(vt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||he!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:N,type:"cxtdragout",position:{x:Z[0],y:Z[1]}}),t.hoverData.cxtOver=he,he&&he.emit({originalEvent:N,type:"cxtdragover",position:{x:Z[0],y:Z[1]}}))}}else if(t.hoverData.dragging){if(Q=!0,K.panningEnabled()&&K.userPanningEnabled()){var It;if(t.hoverData.justStartedPan){var Vt=t.hoverData.mdownPos;It={x:(Z[0]-Vt[0])*X,y:(Z[1]-Vt[1])*X},t.hoverData.justStartedPan=!1}else It={x:de[0]*X,y:de[1]*X};K.panBy(It),K.emit("dragpan"),t.hoverData.dragged=!0}Z=t.projectIntoViewport(N.clientX,N.clientY)}else if(ye[4]==1&&(le==null||le.pannable())){if(Me){if(!t.hoverData.dragging&&K.boxSelectionEnabled()&&(ft||!K.panningEnabled()||!K.userPanningEnabled()))mt();else if(!t.hoverData.selecting&&K.panningEnabled()&&K.userPanningEnabled()){var Tt=i(le,t.hoverData.downs);Tt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,ye[4]=0,t.data.bgActivePosistion=Ir(re),t.redrawHint("select",!0),t.redraw())}le&&le.pannable()&&le.active()&&le.unactivate()}}else{if(le&&le.pannable()&&le.active()&&le.unactivate(),(!le||!le.grabbed())&&he!=Ee&&(Ee&&a(Ee,["mouseout","tapdragout"],N,{x:Z[0],y:Z[1]}),he&&a(he,["mouseover","tapdragover"],N,{x:Z[0],y:Z[1]}),t.hoverData.last=he),le)if(Me){if(K.boxSelectionEnabled()&&ft)le&&le.grabbed()&&(g(Fe),le.emit("freeon"),Fe.emit("free"),t.dragData.didDrag&&(le.emit("dragfreeon"),Fe.emit("dragfree"))),mt();else if(le&&le.grabbed()&&t.nodeIsDraggable(le)){var $e=!t.dragData.didDrag;$e&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Fe,{inDragLayer:!0});var We={x:0,y:0};if(ne(de[0])&&ne(de[1])&&(We.x+=de[0],We.y+=de[1],$e)){var at=t.hoverData.dragDelta;at&&ne(at[0])&&ne(at[1])&&(We.x+=at[0],We.y+=at[1])}t.hoverData.draggingEles=!0,Fe.silentShift(We).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else xt();Q=!0}if(ye[2]=Z[0],ye[3]=Z[1],Q)return N.stopPropagation&&N.stopPropagation(),N.preventDefault&&N.preventDefault(),!1}},!1);var D,L,A;t.registerBinding(e,"mouseup",function(N){var $=t.hoverData.capture;if($){t.hoverData.capture=!1;var Q=t.cy,K=t.projectIntoViewport(N.clientX,N.clientY),X=t.selection,ae=t.findNearestElement(K[0],K[1],!0,!1),Z=t.dragData.possibleDragElements,re=t.hoverData.down,pe=n(N);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,re&&re.unactivate(),t.hoverData.which===3){var ye={originalEvent:N,type:"cxttapend",position:{x:K[0],y:K[1]}};if(re?re.emit(ye):Q.emit(ye),!t.hoverData.cxtDragged){var he={originalEvent:N,type:"cxttap",position:{x:K[0],y:K[1]}};re?re.emit(he):Q.emit(he)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(a(ae,["mouseup","tapend","vmouseup"],N,{x:K[0],y:K[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(a(re,["click","tap","vclick"],N,{x:K[0],y:K[1]}),L=!1,N.timeStamp-A<=Q.multiClickDebounceTime()?(D&&clearTimeout(D),L=!0,A=null,a(re,["dblclick","dbltap","vdblclick"],N,{x:K[0],y:K[1]})):(D=setTimeout(function(){L||a(re,["oneclick","onetap","voneclick"],N,{x:K[0],y:K[1]})},Q.multiClickDebounceTime()),A=N.timeStamp)),re==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!n(N)&&(Q.$(r).unselect(["tapunselect"]),Z.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Z=Q.collection()),ae==re&&!t.dragData.didDrag&&!t.hoverData.selecting&&ae!=null&&ae._private.selectable&&(t.hoverData.dragging||(Q.selectionType()==="additive"||pe?ae.selected()?ae.unselect(["tapunselect"]):ae.select(["tapselect"]):pe||(Q.$(r).unmerge(ae).unselect(["tapunselect"]),ae.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Ee=Q.collection(t.getAllInBox(X[0],X[1],X[2],X[3]));t.redrawHint("select",!0),Ee.length>0&&t.redrawHint("eles",!0),Q.emit({type:"boxend",originalEvent:N,position:{x:K[0],y:K[1]}});var le=function(Me){return Me.selectable()&&!Me.selected()};Q.selectionType()==="additive"||pe||Q.$(r).unmerge(Ee).unselect(),Ee.emit("box").stdFilter(le).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!X[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var de=re&&re.grabbed();g(Z),de&&(re.emit("freeon"),Z.emit("free"),t.dragData.didDrag&&(re.emit("dragfreeon"),Z.emit("dragfree")))}}X[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}},!1);var I=function(N){if(!t.scrollingPage){var $=t.cy,Q=$.zoom(),K=$.pan(),X=t.projectIntoViewport(N.clientX,N.clientY),ae=[X[0]*Q+K.x,X[1]*Q+K.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||x()){N.preventDefault();return}if($.panningEnabled()&&$.userPanningEnabled()&&$.zoomingEnabled()&&$.userZoomingEnabled()){N.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var Z;N.deltaY!=null?Z=N.deltaY/-250:N.wheelDeltaY!=null?Z=N.wheelDeltaY/1e3:Z=N.wheelDelta/1e3,Z=Z*t.wheelSensitivity;var re=N.deltaMode===1;re&&(Z*=33);var pe=$.zoom()*Math.pow(10,Z);N.type==="gesturechange"&&(pe=t.gestureStartZoom*N.scale),$.zoom({level:pe,renderedPosition:{x:ae[0],y:ae[1]}}),$.emit(N.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",I,!0),t.registerBinding(e,"scroll",function(N){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(N){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||N.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(j){t.hasTouchStarted||I(j)},!0),t.registerBinding(t.container,"mouseout",function(N){var $=t.projectIntoViewport(N.clientX,N.clientY);t.cy.emit({originalEvent:N,type:"mouseout",position:{x:$[0],y:$[1]}})},!1),t.registerBinding(t.container,"mouseover",function(N){var $=t.projectIntoViewport(N.clientX,N.clientY);t.cy.emit({originalEvent:N,type:"mouseover",position:{x:$[0],y:$[1]}})},!1);var O,M,R,k,P,B,V,F,G,Y,_,q,U,z=function(N,$,Q,K){return Math.sqrt((Q-N)*(Q-N)+(K-$)*(K-$))},H=function(N,$,Q,K){return(Q-N)*(Q-N)+(K-$)*(K-$)},W;t.registerBinding(t.container,"touchstart",W=function(N){if(t.hasTouchStarted=!0,!!w(N)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var $=t.cy,Q=t.touchData.now,K=t.touchData.earlier;if(N.touches[0]){var X=t.projectIntoViewport(N.touches[0].clientX,N.touches[0].clientY);Q[0]=X[0],Q[1]=X[1]}if(N.touches[1]){var X=t.projectIntoViewport(N.touches[1].clientX,N.touches[1].clientY);Q[2]=X[0],Q[3]=X[1]}if(N.touches[2]){var X=t.projectIntoViewport(N.touches[2].clientX,N.touches[2].clientY);Q[4]=X[0],Q[5]=X[1]}if(N.touches[1]){t.touchData.singleTouchMoved=!0,g(t.dragData.touchDragEles);var ae=t.findContainerClientCoords();G=ae[0],Y=ae[1],_=ae[2],q=ae[3],O=N.touches[0].clientX-G,M=N.touches[0].clientY-Y,R=N.touches[1].clientX-G,k=N.touches[1].clientY-Y,U=0<=O&&O<=_&&0<=R&&R<=_&&0<=M&&M<=q&&0<=k&&k<=q;var Z=$.pan(),re=$.zoom();P=z(O,M,R,k),B=H(O,M,R,k),V=[(O+R)/2,(M+k)/2],F=[(V[0]-Z.x)/re,(V[1]-Z.y)/re];var pe=200,ye=pe*pe;if(B=1){for(var Ze=t.touchData.startPosition=[null,null,null,null,null,null],Ue=0;Ue=t.touchTapThreshold2}if($&&t.touchData.cxt){N.preventDefault();var Ze=N.touches[0].clientX-G,Ue=N.touches[0].clientY-Y,ct=N.touches[1].clientX-G,Qe=N.touches[1].clientY-Y,ft=H(Ze,Ue,ct,Qe),xt=ft/B,mt=150,vt=mt*mt,It=1.5,Vt=It*It;if(xt>=Vt||ft>=vt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Tt={originalEvent:N,type:"cxttapend",position:{x:X[0],y:X[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(Tt),t.touchData.start=null):K.emit(Tt)}}if($&&t.touchData.cxt){var Tt={originalEvent:N,type:"cxtdrag",position:{x:X[0],y:X[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Tt):K.emit(Tt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var $e=t.findNearestElement(X[0],X[1],!0,!0);(!t.touchData.cxtOver||$e!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:N,type:"cxtdragout",position:{x:X[0],y:X[1]}}),t.touchData.cxtOver=$e,$e&&$e.emit({originalEvent:N,type:"cxtdragover",position:{x:X[0],y:X[1]}}))}else if($&&N.touches[2]&&K.boxSelectionEnabled())N.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||K.emit({originalEvent:N,type:"boxstart",position:{x:X[0],y:X[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,Q[4]=1,!Q||Q.length===0||Q[0]===void 0?(Q[0]=(X[0]+X[2]+X[4])/3,Q[1]=(X[1]+X[3]+X[5])/3,Q[2]=(X[0]+X[2]+X[4])/3+1,Q[3]=(X[1]+X[3]+X[5])/3+1):(Q[2]=(X[0]+X[2]+X[4])/3,Q[3]=(X[1]+X[3]+X[5])/3),t.redrawHint("select",!0),t.redraw();else if($&&N.touches[1]&&!t.touchData.didSelect&&K.zoomingEnabled()&&K.panningEnabled()&&K.userZoomingEnabled()&&K.userPanningEnabled()){N.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var We=t.dragData.touchDragEles;if(We){t.redrawHint("drag",!0);for(var at=0;at0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var ee;t.registerBinding(e,"touchcancel",ee=function(N){var $=t.touchData.start;t.touchData.capture=!1,$&&$.unactivate()});var oe,me,te,ie;if(t.registerBinding(e,"touchend",oe=function(N){var $=t.touchData.start,Q=t.touchData.capture;if(Q)N.touches.length===0&&(t.touchData.capture=!1),N.preventDefault();else return;var K=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var X=t.cy,ae=X.zoom(),Z=t.touchData.now,re=t.touchData.earlier;if(N.touches[0]){var pe=t.projectIntoViewport(N.touches[0].clientX,N.touches[0].clientY);Z[0]=pe[0],Z[1]=pe[1]}if(N.touches[1]){var pe=t.projectIntoViewport(N.touches[1].clientX,N.touches[1].clientY);Z[2]=pe[0],Z[3]=pe[1]}if(N.touches[2]){var pe=t.projectIntoViewport(N.touches[2].clientX,N.touches[2].clientY);Z[4]=pe[0],Z[5]=pe[1]}$&&$.unactivate();var ye;if(t.touchData.cxt){if(ye={originalEvent:N,type:"cxttapend",position:{x:Z[0],y:Z[1]}},$?$.emit(ye):X.emit(ye),!t.touchData.cxtDragged){var he={originalEvent:N,type:"cxttap",position:{x:Z[0],y:Z[1]}};$?$.emit(he):X.emit(he)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!N.touches[2]&&X.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Ee=X.collection(t.getAllInBox(K[0],K[1],K[2],K[3]));K[0]=void 0,K[1]=void 0,K[2]=void 0,K[3]=void 0,K[4]=0,t.redrawHint("select",!0),X.emit({type:"boxend",originalEvent:N,position:{x:Z[0],y:Z[1]}});var le=function(vt){return vt.selectable()&&!vt.selected()};Ee.emit("box").stdFilter(le).select().emit("boxselect"),Ee.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if($!=null&&$.unactivate(),N.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!N.touches[1]){if(!N.touches[0]){if(!N.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var de=t.dragData.touchDragEles;if($!=null){var Fe=$._private.grabbed;g(de),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Fe&&($.emit("freeon"),de.emit("free"),t.dragData.didDrag&&($.emit("dragfreeon"),de.emit("dragfree"))),a($,["touchend","tapend","vmouseup","tapdragout"],N,{x:Z[0],y:Z[1]}),$.unactivate(),t.touchData.start=null}else{var Me=t.findNearestElement(Z[0],Z[1],!0,!0);a(Me,["touchend","tapend","vmouseup","tapdragout"],N,{x:Z[0],y:Z[1]})}var lt=t.touchData.startPosition[0]-Z[0],Ze=lt*lt,Ue=t.touchData.startPosition[1]-Z[1],ct=Ue*Ue,Qe=Ze+ct,ft=Qe*ae*ae;t.touchData.singleTouchMoved||($||X.$(":selected").unselect(["tapunselect"]),a($,["tap","vclick"],N,{x:Z[0],y:Z[1]}),me=!1,N.timeStamp-ie<=X.multiClickDebounceTime()?(te&&clearTimeout(te),me=!0,ie=null,a($,["dbltap","vdblclick"],N,{x:Z[0],y:Z[1]})):(te=setTimeout(function(){me||a($,["onetap","voneclick"],N,{x:Z[0],y:Z[1]})},X.multiClickDebounceTime()),ie=N.timeStamp)),$!=null&&!t.dragData.didDrag&&$._private.selectable&&ft"u"){var ue=[],ce=function(N){return{clientX:N.clientX,clientY:N.clientY,force:1,identifier:N.pointerId,pageX:N.pageX,pageY:N.pageY,radiusX:N.width/2,radiusY:N.height/2,screenX:N.screenX,screenY:N.screenY,target:N.target}},fe=function(N){return{event:N,touch:ce(N)}},ge=function(N){ue.push(fe(N))},Ae=function(N){for(var $=0;$0)return G[0]}return null},v=Object.keys(d),p=0;p0?c:Lo(i,s,e,r,a,n,o,u)},checkPoint:function(e,r,a,n,i,s,o,u){u=u==="auto"?pr(n,i):u;var l=2*u;if(Yt(e,r,this.points,s,o,n,i-l,[0,-1],a)||Yt(e,r,this.points,s,o,n-l,i,[0,-1],a))return!0;var f=n/2+2*a,h=i/2+2*a,d=[s-f,o-h,s-f,o,s+f,o,s+f,o-h];return!!(dt(e,r,d)||cr(e,r,l,l,s+n/2-u,o+i/2-u,a)||cr(e,r,l,l,s-n/2+u,o+i/2-u,a))}}};Ht.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ht(3,0)),this.generateRoundPolygon("round-triangle",ht(3,0)),this.generatePolygon("rectangle",ht(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ht(5,0)),this.generateRoundPolygon("round-pentagon",ht(5,0)),this.generatePolygon("hexagon",ht(6,0)),this.generateRoundPolygon("round-hexagon",ht(6,0)),this.generatePolygon("heptagon",ht(7,0)),this.generateRoundPolygon("round-heptagon",ht(7,0)),this.generatePolygon("octagon",ht(8,0)),this.generateRoundPolygon("round-octagon",ht(8,0));var a=new Array(20);{var n=Wn(5,0),i=Wn(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*T)break}else if(l){if(b>=e.deqCost*c||b>=e.deqAvgCost*d)break}else if(m>=e.deqNoDrawCost*Yn)break;var C=e.deq(a,g,p);if(C.length>0)for(var S=0;S0&&(e.onDeqd(a,v),!l&&e.shouldRedraw(a,v,g,p)&&i())},o=e.priority||mi;n.beforeRender(s,o(a))}}}},jg=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:an;vi(this,t),this.idsByKey=new Bt,this.keyForId=new Bt,this.cachesByLvl=new Bt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return di(t,[{key:"getIdsFor",value:function(r){r==null&&ze("Can not get id list for null key");var a=this.idsByKey,n=this.idsByKey.get(r);return n||(n=new Ur,a.set(r,n)),n}},{key:"addIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).add(a)}},{key:"deleteIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).delete(a)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);this.deleteIdForKey(n,a),this.addIdForKey(i,a),this.keyForId.set(a,i)}},{key:"deleteKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteIdForKey(n,a),this.keyForId.delete(a)}},{key:"keyHasChangedFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);return n!==i}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var a=this.cachesByLvl,n=this.lvls,i=a.get(r);return i||(i=new Bt,a.set(r,i),n.push(r)),i}},{key:"getCache",value:function(r,a){return this.getCachesAt(a).get(r)}},{key:"get",value:function(r,a){var n=this.getKey(r),i=this.getCache(n,a);return i!=null&&this.updateKeyMappingFor(r),i}},{key:"getForCachedKey",value:function(r,a){var n=this.keyForId.get(r.id()),i=this.getCache(n,a);return i}},{key:"hasCache",value:function(r,a){return this.getCachesAt(a).has(r)}},{key:"has",value:function(r,a){var n=this.getKey(r);return this.hasCache(n,a)}},{key:"setCache",value:function(r,a,n){n.key=r,this.getCachesAt(a).set(r,n)}},{key:"set",value:function(r,a,n){var i=this.getKey(r);this.setCache(i,a,n),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,a){this.getCachesAt(a).delete(r)}},{key:"delete",value:function(r,a){var n=this.getKey(r);this.deleteCache(n,a)}},{key:"invalidateKey",value:function(r){var a=this;this.lvls.forEach(function(n){return a.deleteCache(r,n)})}},{key:"invalidate",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteKeyMappingFor(r);var i=this.doesEleInvalidateKey(r);return i&&this.invalidateKey(n),i||this.getNumberOfIdsForKey(n)===0}}]),t}(),qs=25,Ya=50,Ja=-4,si=3,ep=7.99,tp=8,rp=1024,ap=1024,np=1024,ip=.2,sp=.8,op=10,up=.15,lp=.1,fp=.9,hp=.9,cp=100,vp=1,Mr={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},dp=tt({getKey:null,doesEleInvalidateKey:an,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:bo,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ua=function(e,r){var a=this;a.renderer=e,a.onDequeues=[];var n=dp(r);be(a,n),a.lookup=new jg(n.getKey,n.doesEleInvalidateKey),a.setupDequeueing()},qe=ua.prototype;qe.reasons=Mr;qe.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};qe.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},a=r[t]=r[t]||[];return a};qe.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Da(function(r,a){return a.reqs-r.reqs});return e};qe.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};qe.getElement=function(t,e,r,a,n){var i=this,s=this.renderer,o=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!i.allowEdgeTxrCaching&&t.isEdge()||!i.allowParentTxrCaching&&t.isParent())return null;if(a==null&&(a=Math.ceil(Ei(o*r))),a=ep||a>si)return null;var l=Math.pow(2,a),f=e.h*l,h=e.w*l,d=s.eleTextBiggerThanMin(t,l);if(!this.isVisible(t,d))return null;var c=u.get(t,a);if(c&&c.invalidated&&(c.invalidated=!1,c.texture.invalidatedWidth-=c.width),c)return c;var v;if(f<=qs?v=qs:f<=Ya?v=Ya:v=Math.ceil(f/Ya)*Ya,f>np||h>ap)return null;var p=i.getTextureQueue(v),g=p[p.length-2],y=function(){return i.recycleTexture(v,h)||i.addTexture(v,h)};g||(g=p[p.length-1]),g||(g=y()),g.width-g.usedWidtha;L--)w=i.getElement(t,e,r,L,Mr.downscale);D()}else return i.queueElement(t,S.level-1),S;else{var A;if(!m&&!T&&!C)for(var I=a-1;I>=Ja;I--){var O=u.get(t,I);if(O){A=O;break}}if(b(A))return i.queueElement(t,a),A;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,t,e,d,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return c={x:g.usedWidth,texture:g,level:a,scale:l,width:h,height:f,scaledLabelShown:d},g.usedWidth+=Math.ceil(h+tp),g.eleCaches.push(c),u.set(t,a,c),i.checkTextureFullness(g),c};qe.invalidateElements=function(t){for(var e=0;e=ip*t.width&&this.retireTexture(t)};qe.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>sp&&t.fullnessChecks>=op?er(r,t):t.fullnessChecks++};qe.retireTexture=function(t){var e=this,r=t.height,a=e.getTextureQueue(r),n=this.lookup;er(a,t),t.retired=!0;for(var i=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,bi(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),er(n,s),a.push(s),s}};qe.queueElement=function(t,e){var r=this,a=r.getElementQueue(),n=r.getElementKeyToQueue(),i=this.getKey(t),s=n[i];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,a.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:i};a.push(o),n[i]=o}};qe.dequeue=function(t){for(var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=[],i=e.lookup,s=0;s0;s++){var o=r.pop(),u=o.key,l=o.eles[0],f=i.hasCache(l,o.level);if(a[u]=null,f)continue;n.push(o);var h=e.getBoundingBox(l);e.getElement(l,h,t,o.level,Mr.dequeue)}return n};qe.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=this.getKey(t),i=a[n];i!=null&&(i.eles.length===1?(i.reqs=yi,r.updateItem(i),r.pop(),a[n]=null):i.eles.unmerge(t))};qe.onDequeue=function(t){this.onDequeues.push(t)};qe.offDequeue=function(t){er(this.onDequeues,t)};qe.setupDequeueing=Au.setupDequeueing({deqRedrawThreshold:cp,deqCost:up,deqAvgCost:lp,deqNoDrawCost:fp,deqFastCost:hp,deq:function(e,r,a){return e.dequeue(r,a)},onDeqd:function(e,r){for(var a=0;a=pp||r>cn)return null}a.validateLayersElesOrdering(r,t);var u=a.layersByLevel,l=Math.pow(2,r),f=u[r]=u[r]||[],h,d=a.levelIsComplete(r,t),c,v=function(){var D=function(M){if(a.validateLayersElesOrdering(M,t),a.levelIsComplete(M,t))return c=u[M],!0},L=function(M){if(!c)for(var R=r+M;fa<=R&&R<=cn&&!D(R);R+=M);};L(1),L(-1);for(var A=f.length-1;A>=0;A--){var I=f[A];I.invalid&&er(f,I)}};if(!d)v();else return f;var p=function(){if(!h){h=gt();for(var D=0;DCp)return null;var I=a.makeLayer(h,r);if(L!=null){var O=f.indexOf(L)+1;f.splice(O,0,I)}else(D.insert===void 0||D.insert)&&f.unshift(I);return I};if(a.skipping&&!o)return null;for(var y=null,b=t.length/gp,m=!o,T=0;T=b||!So(y.bb,C.boundingBox()))&&(y=g({insert:!0,after:y}),!y))return null;c||m?a.queueLayer(y,C):a.drawEleInLayer(y,C,r,e),y.eles.push(C),E[r]=y}return c||(m?null:f)};rt.getEleLevelForLayerLevel=function(t,e){return t};rt.drawEleInLayer=function(t,e,r,a){var n=this,i=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=n.getEleLevelForLayerLevel(r,a),i.setImgSmoothing(s,!1),i.drawCachedElement(s,e,null,null,r,Dp),i.setImgSmoothing(s,!0))};rt.levelIsComplete=function(t,e){var r=this,a=r.layersByLevel[t];if(!a||a.length===0)return!1;for(var n=0,i=0;i0||s.invalid)return!1;n+=s.eles.length}return n===e.length};rt.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var a=0;a0){e=!0;break}}return e};rt.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=$t(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(a,n,i){e.invalidateLayer(a)}))};rt.invalidateLayer=function(t){if(this.lastInvalidationTime=$t(),!t.invalid){var e=t.level,r=t.eles,a=this.layersByLevel[e];er(a,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var n=0;n3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(i&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var l=i?e.pstyle("opacity").value:1,f=i?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,d=e.pstyle("line-style").value,c=e.pstyle("width").pfValue,v=e.pstyle("line-cap").value,p=l*f,g=l*f,y=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p;h==="straight-triangle"?(s.eleStrokeStyle(t,e,A),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=c,t.lineCap=v,s.eleStrokeStyle(t,e,A),s.drawEdgePath(e,t,o.allpts,d),t.lineCap="butt")},b=function(){n&&s.drawEdgeOverlay(t,e)},m=function(){n&&s.drawEdgeUnderlay(t,e)},T=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:g;s.drawArrowheads(t,e,A)},C=function(){s.drawElementText(t,e,null,a)};t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var E=e.pstyle("ghost-offset-x").pfValue,x=e.pstyle("ghost-offset-y").pfValue,w=e.pstyle("ghost-opacity").value,D=p*w;t.translate(E,x),y(D),T(D),t.translate(-E,-x)}m(),y(),T(),b(),C(),r&&t.translate(u.x1,u.y1)}};var Iu=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,a){if(a.visible()){var n=a.pstyle("".concat(e,"-opacity")).value;if(n!==0){var i=this,s=i.usePaths(),o=a._private.rscratch,u=a.pstyle("".concat(e,"-padding")).pfValue,l=2*u,f=a.pstyle("".concat(e,"-color")).value;r.lineWidth=l,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",i.colorStrokeStyle(r,f[0],f[1],f[2],n),i.drawEdgePath(a,r,o.allpts,"solid")}}}};Xt.drawEdgeOverlay=Iu("overlay");Xt.drawEdgeUnderlay=Iu("underlay");Xt.drawEdgePath=function(t,e,r,a){var n=t._private.rscratch,i=e,s,o=!1,u=this.usePaths(),l=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var h=r.join("$"),d=n.pathCacheKey&&n.pathCacheKey===h;d?(s=e=n.pathCache,o=!0):(s=e=new Path2D,n.pathCacheKey=h,n.pathCache=s)}if(i.setLineDash)switch(a){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(l),i.lineDashOffset=f;break;case"solid":i.setLineDash([]);break}if(!o&&!n.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),n.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var c=2;c+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(a==null){if(i&&!s.eleTextBiggerThanMin(e))return}else if(a===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var l=e.element()._private.rscratch.badLine,f=e.pstyle("label"),h=e.pstyle("source-label"),d=e.pstyle("target-label");if(l||(!f||!f.value)&&(!h||!h.value)&&(!d||!d.value))return;t.textAlign="center",t.textBaseline="bottom"}var c=!r,v;r&&(v=r,t.translate(-v.x1,-v.y1)),n==null?(s.drawText(t,e,null,c,i),e.isEdge()&&(s.drawText(t,e,"source",c,i),s.drawText(t,e,"target",c,i))):s.drawText(t,e,n,c,i),r&&t.translate(v.x1,v.y1)};xr.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,a=e.pstyle("font-style").strValue,n=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*o,l=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=a+" "+s+" "+n+" "+i,t.lineJoin="round",this.colorFillStyle(t,l[0],l[1],l[2],o),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};function Hn(t,e,r,a,n){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+i,r),t.lineTo(e+a-i,r),t.quadraticCurveTo(e+a,r,e+a,r+i),t.lineTo(e+a,r+n-i),t.quadraticCurveTo(e+a,r+n,e+a-i,r+n),t.lineTo(e+i,r+n),t.quadraticCurveTo(e,r+n,e,r+n-i),t.lineTo(e,r+i),t.quadraticCurveTo(e,r,e+i,r),t.closePath(),s?t.stroke():t.fill()}xr.getTextAngle=function(t,e){var r,a=t._private,n=a.rscratch,i=e?e+"-":"",s=t.pstyle(i+"text-rotation"),o=At(n,"labelAngle",e);return s.strValue==="autorotate"?r=t.isEdge()?o:0:s.strValue==="none"?r=0:r=s.pfValue,r};xr.drawText=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,s=i.rscratch,o=n?e.effectiveOpacity():1;if(!(n&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=At(s,"labelX",r),l=At(s,"labelY",r),f,h,d=this.getLabelText(e,r);if(d!=null&&d!==""&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(t,e,n);var c=r?r+"-":"",v=At(s,"labelWidth",r),p=At(s,"labelHeight",r),g=e.pstyle(c+"text-margin-x").pfValue,y=e.pstyle(c+"text-margin-y").pfValue,b=e.isEdge(),m=e.pstyle("text-halign").value,T=e.pstyle("text-valign").value;b&&(m="center",T="center"),u+=g,l+=y;var C;switch(a?C=this.getTextAngle(e,r):C=0,C!==0&&(f=u,h=l,t.translate(f,h),t.rotate(C),u=0,l=0),T){case"top":break;case"center":l+=p/2;break;case"bottom":l+=p;break}var S=e.pstyle("text-background-opacity").value,E=e.pstyle("text-border-opacity").value,x=e.pstyle("text-border-width").pfValue,w=e.pstyle("text-background-padding").pfValue,D=e.pstyle("text-background-shape").strValue,L=D.indexOf("round")===0,A=2;if(S>0||x>0&&E>0){var I=u-w;switch(m){case"left":I-=v;break;case"center":I-=v/2;break}var O=l-p-w,M=v+2*w,R=p+2*w;if(S>0){var k=t.fillStyle,P=e.pstyle("text-background-color").value;t.fillStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+S*o+")",L?Hn(t,I,O,M,R,A):t.fillRect(I,O,M,R),t.fillStyle=k}if(x>0&&E>0){var B=t.strokeStyle,V=t.lineWidth,F=e.pstyle("text-border-color").value,G=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+F[0]+","+F[1]+","+F[2]+","+E*o+")",t.lineWidth=x,t.setLineDash)switch(G){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=x/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(L?Hn(t,I,O,M,R,A,"stroke"):t.strokeRect(I,O,M,R),G==="double"){var Y=x/2;L?Hn(t,I+Y,O+Y,M-Y*2,R-Y*2,A,"stroke"):t.strokeRect(I+Y,O+Y,M-Y*2,R-Y*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=V,t.strokeStyle=B}}var _=2*e.pstyle("text-outline-width").pfValue;if(_>0&&(t.lineWidth=_),e.pstyle("text-wrap").value==="wrap"){var q=At(s,"labelWrapCachedLines",r),U=At(s,"labelLineHeight",r),z=v/2,H=this.getLabelJustification(e);switch(H==="auto"||(m==="left"?H==="left"?u+=-v:H==="center"&&(u+=-z):m==="center"?H==="left"?u+=-z:H==="right"&&(u+=z):m==="right"&&(H==="center"?u+=z:H==="right"&&(u+=v))),T){case"top":l-=(q.length-1)*U;break;case"center":case"bottom":l-=(q.length-1)*U;break}for(var W=0;W0&&t.strokeText(q[W],u,l),t.fillText(q[W],u,l),l+=U}else _>0&&t.strokeText(d,u,l),t.fillText(d,u,l);C!==0&&(t.rotate(-C),t.translate(-f,-h))}}};var Zr={};Zr.drawNode=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,u,l=e._private,f=l.rscratch,h=e.position();if(!(!ne(h.x)||!ne(h.y))&&!(i&&!e.visible())){var d=i?e.effectiveOpacity():1,c=s.usePaths(),v,p=!1,g=e.padding();o=e.width()+2*g,u=e.height()+2*g;var y;r&&(y=r,t.translate(-y.x1,-y.y1));for(var b=e.pstyle("background-image"),m=b.value,T=new Array(m.length),C=new Array(m.length),S=0,E=0;E0&&arguments[0]!==void 0?arguments[0]:I;s.eleFillStyle(t,e,ae)},W=function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:F;s.colorStrokeStyle(t,O[0],O[1],O[2],ae)},J=function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:q;s.colorStrokeStyle(t,Y[0],Y[1],Y[2],ae)},ee=function(ae,Z,re,pe){var ye=s.nodePathCache=s.nodePathCache||[],he=mo(re==="polygon"?re+","+pe.join(","):re,""+Z,""+ae,""+z),Ee=ye[he],le,de=!1;return Ee!=null?(le=Ee,de=!0,f.pathCache=le):(le=new Path2D,ye[he]=f.pathCache=le),{path:le,cacheHit:de}},oe=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(c){t.translate(h.x,h.y);var te=ee(o,u,oe,me);v=te.path,p=te.cacheHit}var ie=function(){if(!p){var ae=h;c&&(ae={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(v||t,ae.x,ae.y,o,u,z,f)}c?t.fill(v):t.fill()},ue=function(){for(var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,re=l.backgrounding,pe=0,ye=0;ye0&&arguments[0]!==void 0?arguments[0]:!1,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:d;s.hasPie(e)&&(s.drawPie(t,e,Z),ae&&(c||s.nodeShapes[s.getNodeShape(e)].draw(t,h.x,h.y,o,u,z,f)))},fe=function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d,Z=(L>0?L:-L)*ae,re=L>0?0:255;L!==0&&(s.colorFillStyle(t,re,re,re,Z),c?t.fill(v):t.fill())},ge=function(){if(A>0){if(t.lineWidth=A,t.lineCap=k,t.lineJoin=R,t.setLineDash)switch(M){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(B),t.lineDashOffset=V;break;case"solid":case"double":t.setLineDash([]);break}if(P!=="center"){if(t.save(),t.lineWidth*=2,P==="inside")c?t.clip(v):t.clip();else{var ae=new Path2D;ae.rect(-o/2-A,-u/2-A,o+2*A,u+2*A),ae.addPath(v),t.clip(ae,"evenodd")}c?t.stroke(v):t.stroke(),t.restore()}else c?t.stroke(v):t.stroke();if(M==="double"){t.lineWidth=A/3;var Z=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",c?t.stroke(v):t.stroke(),t.globalCompositeOperation=Z}t.setLineDash&&t.setLineDash([])}},Ae=function(){if(G>0){if(t.lineWidth=G,t.lineCap="butt",t.setLineDash)switch(_){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var ae=h;c&&(ae={x:0,y:0});var Z=s.getNodeShape(e),re=A;P==="inside"&&(re=0),P==="outside"&&(re*=2);var pe=(o+re+(G+U))/o,ye=(u+re+(G+U))/u,he=o*pe,Ee=u*ye,le=s.nodeShapes[Z].points,de;if(c){var Fe=ee(he,Ee,Z,le);de=Fe.path}if(Z==="ellipse")s.drawEllipsePath(de||t,ae.x,ae.y,he,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(Z)){var Me=0,lt=0,Ze=0;Z==="round-diamond"?Me=(re+U+G)*1.4:Z==="round-heptagon"?(Me=(re+U+G)*1.075,Ze=-(re/2+U+G)/35):Z==="round-hexagon"?Me=(re+U+G)*1.12:Z==="round-pentagon"?(Me=(re+U+G)*1.13,Ze=-(re/2+U+G)/15):Z==="round-tag"?(Me=(re+U+G)*1.12,lt=(re/2+G+U)*.07):Z==="round-triangle"&&(Me=(re+U+G)*(Math.PI/2),Ze=-(re+U/2+G)/Math.PI),Me!==0&&(pe=(o+Me)/o,he=o*pe,["round-hexagon","round-tag"].includes(Z)||(ye=(u+Me)/u,Ee=u*ye)),z=z==="auto"?Oo(he,Ee):z;for(var Ue=he/2,ct=Ee/2,Qe=z+(re+G+U)/2,ft=new Array(le.length/2),xt=new Array(le.length/2),mt=0;mt0){if(n=n||a.position(),i==null||s==null){var c=a.padding();i=a.width()+2*c,s=a.height()+2*c}o.colorFillStyle(r,f[0],f[1],f[2],l),o.nodeShapes[h].draw(r,n.x,n.y,i+u*2,s+u*2,d),r.fill()}}}};Zr.drawNodeOverlay=Mu("overlay");Zr.drawNodeUnderlay=Mu("underlay");Zr.hasPie=function(t){return t=t[0],t._private.hasPie};Zr.drawPie=function(t,e,r,a){e=e[0],a=a||e.position();var n=e.cy().style(),i=e.pstyle("pie-size"),s=a.x,o=a.y,u=e.width(),l=e.height(),f=Math.min(u,l)/2,h=0,d=this.usePaths();d&&(s=0,o=0),i.units==="%"?f=f*i.pfValue:i.pfValue!==void 0&&(f=i.pfValue/2);for(var c=1;c<=n.pieBackgroundN;c++){var v=e.pstyle("pie-"+c+"-background-size").value,p=e.pstyle("pie-"+c+"-background-color").value,g=e.pstyle("pie-"+c+"-background-opacity").value*r,y=v/100;y+h>1&&(y=1-h);var b=1.5*Math.PI+2*Math.PI*h,m=2*Math.PI*y,T=b+m;v===0||h>=1||h+y>1||(t.beginPath(),t.moveTo(s,o),t.arc(s,o,f,b,T),t.closePath(),this.colorFillStyle(t,p[0],p[1],p[2],g),t.fill(),h+=y)}};var yt={},Bp=100;yt.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e};yt.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,a,n=0;ns.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!h&&(f[s.NODE]=!0,f[s.SELECT_BOX]=!0);var b=u.style(),m=u.zoom(),T=n!==void 0?n:m,C=u.pan(),S={x:C.x,y:C.y},E={zoom:m,pan:{x:C.x,y:C.y}},x=s.prevViewport,w=x===void 0||E.zoom!==x.zoom||E.pan.x!==x.pan.x||E.pan.y!==x.pan.y;!w&&!(p&&!v)&&(s.motionBlurPxRatio=1),i&&(S=i),T*=o,S.x*=o,S.y*=o;var D=s.getCachedZSortedEles();function L(te,ie,ue,ce,fe){var ge=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",s.colorFillStyle(te,255,255,255,s.motionBlurTransparency),te.fillRect(ie,ue,ce,fe),te.globalCompositeOperation=ge}function A(te,ie){var ue,ce,fe,ge;!s.clearingMotionBlur&&(te===l.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]||te===l.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])?(ue={x:C.x*c,y:C.y*c},ce=m*c,fe=s.canvasWidth*c,ge=s.canvasHeight*c):(ue=S,ce=T,fe=s.canvasWidth,ge=s.canvasHeight),te.setTransform(1,0,0,1,0,0),ie==="motionBlur"?L(te,0,0,fe,ge):!e&&(ie===void 0||ie)&&te.clearRect(0,0,fe,ge),r||(te.translate(ue.x,ue.y),te.scale(ce,ce)),i&&te.translate(i.x,i.y),n&&te.scale(n,n)}if(h||(s.textureDrawLastFrame=!1),h){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=u.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var I=s.data.bufferContexts[s.TEXTURE_BUFFER];I.setTransform(1,0,0,1,0,0),I.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:I,drawOnlyNodeLayer:!0,forcedPxRatio:o*s.textureMult});var E=s.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:s.canvasWidth,height:s.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}f[s.DRAG]=!1,f[s.NODE]=!1;var O=l.contexts[s.NODE],M=s.textureCache.texture,E=s.textureCache.viewport;O.setTransform(1,0,0,1,0,0),d?L(O,0,0,E.width,E.height):O.clearRect(0,0,E.width,E.height);var R=b.core("outside-texture-bg-color").value,k=b.core("outside-texture-bg-opacity").value;s.colorFillStyle(O,R[0],R[1],R[2],k),O.fillRect(0,0,E.width,E.height);var m=u.zoom();A(O,!1),O.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/o,E.height/E.zoom/o),O.drawImage(M,E.mpan.x,E.mpan.y,E.width/E.zoom/o,E.height/E.zoom/o)}else s.textureOnViewport&&!e&&(s.textureCache=null);var P=u.extent(),B=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles||s.cy.animated(),V=s.hideEdgesOnViewport&&B,F=[];if(F[s.NODE]=!f[s.NODE]&&d&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,F[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),F[s.DRAG]=!f[s.DRAG]&&d&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,F[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),f[s.NODE]||r||a||F[s.NODE]){var G=d&&!F[s.NODE]&&c!==1,O=e||(G?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:l.contexts[s.NODE]),Y=d&&!G?"motionBlur":void 0;A(O,Y),V?s.drawCachedNodes(O,D.nondrag,o,P):s.drawLayeredElements(O,D.nondrag,o,P),s.debug&&s.drawDebugPoints(O,D.nondrag),!r&&!d&&(f[s.NODE]=!1)}if(!a&&(f[s.DRAG]||r||F[s.DRAG])){var G=d&&!F[s.DRAG]&&c!==1,O=e||(G?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:l.contexts[s.DRAG]);A(O,d&&!G?"motionBlur":void 0),V?s.drawCachedNodes(O,D.drag,o,P):s.drawCachedElements(O,D.drag,o,P),s.debug&&s.drawDebugPoints(O,D.drag),!r&&!d&&(f[s.DRAG]=!1)}if(s.showFps||!a&&f[s.SELECT_BOX]&&!r){var O=e||l.contexts[s.SELECT_BOX];if(A(O),s.selection[4]==1&&(s.hoverData.selecting||s.touchData.selecting)){var m=s.cy.zoom(),_=b.core("selection-box-border-width").value/m;O.lineWidth=_,O.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",O.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),_>0&&(O.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",O.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(l.bgActivePosistion&&!s.hoverData.selecting){var m=s.cy.zoom(),q=l.bgActivePosistion;O.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",O.beginPath(),O.arc(q.x,q.y,b.core("active-bg-size").pfValue/m,0,2*Math.PI),O.fill()}var U=s.lastRedrawTime;if(s.showFps&&U){U=Math.round(U);var z=Math.round(1e3/U);O.setTransform(1,0,0,1,0,0),O.fillStyle="rgba(255, 0, 0, 0.75)",O.strokeStyle="rgba(255, 0, 0, 0.75)",O.lineWidth=1,O.fillText("1 frame = "+U+" ms = "+z+" fps",0,20);var H=60;O.strokeRect(0,30,250,20),O.fillRect(0,30,250*Math.min(z/H,1),20)}r||(f[s.SELECT_BOX]=!1)}if(d&&c!==1){var W=l.contexts[s.NODE],J=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],ee=l.contexts[s.DRAG],oe=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],me=function(ie,ue,ce){ie.setTransform(1,0,0,1,0,0),ce||!y?ie.clearRect(0,0,s.canvasWidth,s.canvasHeight):L(ie,0,0,s.canvasWidth,s.canvasHeight);var fe=c;ie.drawImage(ue,0,0,s.canvasWidth*fe,s.canvasHeight*fe,0,0,s.canvasWidth,s.canvasHeight)};(f[s.NODE]||F[s.NODE])&&(me(W,J,F[s.NODE]),f[s.NODE]=!1),(f[s.DRAG]||F[s.DRAG])&&(me(ee,oe,F[s.DRAG]),f[s.DRAG]=!1)}s.prevViewport=E,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),d&&(s.motionBlurTimeout=setTimeout(function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!h,s.mbFrames=0,f[s.NODE]=!0,f[s.DRAG]=!0,s.redraw()},Bp)),e||u.emit("render")};var sr={};sr.drawPolygonPath=function(t,e,r,a,n,i){var s=a/2,o=n/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*i[0],r+o*i[1]);for(var u=1;u0&&s>0){c.clearRect(0,0,i,s),c.globalCompositeOperation="source-over";var v=this.getCachedZSortedEles();if(t.full)c.translate(-a.x1*l,-a.y1*l),c.scale(l,l),this.drawElements(c,v),c.scale(1/l,1/l),c.translate(a.x1*l,a.y1*l);else{var p=e.pan(),g={x:p.x*l,y:p.y*l};l*=e.zoom(),c.translate(g.x,g.y),c.scale(l,l),this.drawElements(c,v),c.scale(1/l,1/l),c.translate(-g.x,-g.y)}t.bg&&(c.globalCompositeOperation="destination-over",c.fillStyle=t.bg,c.rect(0,0,i,s),c.fill())}return d};function Fp(t,e){for(var r=atob(t),a=new ArrayBuffer(r.length),n=new Uint8Array(a),i=0;i"u"?"undefined":Xe(OffscreenCanvas))!=="undefined"?r=new OffscreenCanvas(t,e):(r=document.createElement("canvas"),r.width=t,r.height=e),r};[Nu,zt,Xt,Bi,xr,Zr,yt,sr,Na,Pu].forEach(function(t){be(Se,t)});var Vp=[{name:"null",impl:yu},{name:"base",impl:Lu},{name:"canvas",impl:Gp}],Up=[{type:"layout",extensions:qg},{type:"renderer",extensions:Vp}],Fu={},Gu={};function zu(t,e,r){var a=r,n=function(x){Ne("Can not register `"+e+"` for `"+t+"` since `"+x+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(wa.prototype[e])return n(e);wa.prototype[e]=r}else if(t==="collection"){if(et.prototype[e])return n(e);et.prototype[e]=r}else if(t==="layout"){for(var i=function(x){this.options=x,r.call(this,x),Ce(this._private)||(this._private={}),this._private.cy=x.cy,this._private.listeners=[],this.createEmitter()},s=i.prototype=Object.create(r.prototype),o=[],u=0;uv&&(this.rect.x-=(this.labelWidth-v)/2,this.setWidth(this.labelWidth)),this.labelHeight>p&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-p)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-p),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(c){var v=this.rect.x;v>u.WORLD_BOUNDARY?v=u.WORLD_BOUNDARY:v<-u.WORLD_BOUNDARY&&(v=-u.WORLD_BOUNDARY);var p=this.rect.y;p>u.WORLD_BOUNDARY?p=u.WORLD_BOUNDARY:p<-u.WORLD_BOUNDARY&&(p=-u.WORLD_BOUNDARY);var g=new f(v,p),y=c.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=h},function(r,a,n){function i(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(s){this.x=s},i.prototype.setY=function(s){this.y=s},i.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=i},function(r,a,n){var i=n(2),s=n(10),o=n(0),u=n(6),l=n(3),f=n(1),h=n(13),d=n(12),c=n(11);function v(g,y,b){i.call(this,b),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof u?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}v.prototype=Object.create(i.prototype);for(var p in i)v[p]=i[p];v.prototype.getNodes=function(){return this.nodes},v.prototype.getEdges=function(){return this.edges},v.prototype.getGraphManager=function(){return this.graphManager},v.prototype.getParent=function(){return this.parent},v.prototype.getLeft=function(){return this.left},v.prototype.getRight=function(){return this.right},v.prototype.getTop=function(){return this.top},v.prototype.getBottom=function(){return this.bottom},v.prototype.isConnected=function(){return this.isConnected},v.prototype.add=function(g,y,b){if(y==null&&b==null){var m=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(m)>-1)throw"Node already in graph!";return m.owner=this,this.getNodes().push(m),m}else{var T=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(b)>-1))throw"Source or target not in graph!";if(!(y.owner==b.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=b.owner?null:(T.source=y,T.target=b,T.isInterGraph=!1,this.getEdges().push(T),y.edges.push(T),b!=y&&b.edges.push(T),T)}},v.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var b=y.edges.slice(),m,T=b.length,C=0;C-1&&x>-1))throw"Source and/or target doesn't know this edge!";m.source.edges.splice(E,1),m.target!=m.source&&m.target.edges.splice(x,1);var S=m.source.owner.getEdges().indexOf(m);if(S==-1)throw"Not in owner's edge list!";m.source.owner.getEdges().splice(S,1)}},v.prototype.updateLeftTop=function(){for(var g=s.MAX_VALUE,y=s.MAX_VALUE,b,m,T,C=this.getNodes(),S=C.length,E=0;Eb&&(g=b),y>m&&(y=m)}return g==s.MAX_VALUE?null:(C[0].getParent().paddingLeft!=null?T=C[0].getParent().paddingLeft:T=this.margin,this.left=y-T,this.top=g-T,new d(this.left,this.top))},v.prototype.updateBounds=function(g){for(var y=s.MAX_VALUE,b=-s.MAX_VALUE,m=s.MAX_VALUE,T=-s.MAX_VALUE,C,S,E,x,w,D=this.nodes,L=D.length,A=0;AC&&(y=C),bE&&(m=E),TC&&(y=C),bE&&(m=E),T=this.nodes.length){var L=0;b.forEach(function(A){A.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},r.exports=v},function(r,a,n){var i,s=n(1);function o(u){i=n(5),this.layout=u,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var u=this.layout.newGraph(),l=this.layout.newNode(null),f=this.add(u,l);return this.setRootGraph(f),this.rootGraph},o.prototype.add=function(u,l,f,h,d){if(f==null&&h==null&&d==null){if(u==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(u)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(u),u.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return u.parent=l,l.child=u,u}else{d=f,h=l,f=u;var c=h.getOwner(),v=d.getOwner();if(!(c!=null&&c.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(v!=null&&v.getGraphManager()==this))throw"Target not in this graph mgr!";if(c==v)return f.isInterGraph=!1,c.add(f,h,d);if(f.isInterGraph=!0,f.source=h,f.target=d,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},o.prototype.remove=function(u){if(u instanceof i){var l=u;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(l.getEdges());for(var h,d=f.length,c=0;c=u.getRight()?l[0]+=Math.min(u.getX()-o.getX(),o.getRight()-u.getRight()):u.getX()<=o.getX()&&u.getRight()>=o.getRight()&&(l[0]+=Math.min(o.getX()-u.getX(),u.getRight()-o.getRight())),o.getY()<=u.getY()&&o.getBottom()>=u.getBottom()?l[1]+=Math.min(u.getY()-o.getY(),o.getBottom()-u.getBottom()):u.getY()<=o.getY()&&u.getBottom()>=o.getBottom()&&(l[1]+=Math.min(o.getY()-u.getY(),u.getBottom()-o.getBottom()));var d=Math.abs((u.getCenterY()-o.getCenterY())/(u.getCenterX()-o.getCenterX()));u.getCenterY()===o.getCenterY()&&u.getCenterX()===o.getCenterX()&&(d=1);var c=d*l[0],v=l[1]/d;l[0]c)return l[0]=f,l[1]=p,l[2]=d,l[3]=D,!1;if(hd)return l[0]=v,l[1]=h,l[2]=x,l[3]=c,!1;if(fd?(l[0]=y,l[1]=b,O=!0):(l[0]=g,l[1]=p,O=!0):R===P&&(f>d?(l[0]=v,l[1]=p,O=!0):(l[0]=m,l[1]=b,O=!0)),-k===P?d>f?(l[2]=w,l[3]=D,M=!0):(l[2]=x,l[3]=E,M=!0):k===P&&(d>f?(l[2]=S,l[3]=E,M=!0):(l[2]=L,l[3]=D,M=!0)),O&&M)return!1;if(f>d?h>c?(B=this.getCardinalDirection(R,P,4),V=this.getCardinalDirection(k,P,2)):(B=this.getCardinalDirection(-R,P,3),V=this.getCardinalDirection(-k,P,1)):h>c?(B=this.getCardinalDirection(-R,P,1),V=this.getCardinalDirection(-k,P,3)):(B=this.getCardinalDirection(R,P,2),V=this.getCardinalDirection(k,P,4)),!O)switch(B){case 1:G=p,F=f+-C/P,l[0]=F,l[1]=G;break;case 2:F=m,G=h+T*P,l[0]=F,l[1]=G;break;case 3:G=b,F=f+C/P,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-T*P,l[0]=F,l[1]=G;break}if(!M)switch(V){case 1:_=E,Y=d+-I/P,l[2]=Y,l[3]=_;break;case 2:Y=L,_=c+A*P,l[2]=Y,l[3]=_;break;case 3:_=D,Y=d+I/P,l[2]=Y,l[3]=_;break;case 4:Y=w,_=c+-A*P,l[2]=Y,l[3]=_;break}}return!1},s.getCardinalDirection=function(o,u,l){return o>u?l:1+l%4},s.getIntersection=function(o,u,l,f){if(f==null)return this.getIntersection2(o,u,l);var h=o.x,d=o.y,c=u.x,v=u.y,p=l.x,g=l.y,y=f.x,b=f.y,m=void 0,T=void 0,C=void 0,S=void 0,E=void 0,x=void 0,w=void 0,D=void 0,L=void 0;return C=v-d,E=h-c,w=c*d-h*v,S=b-g,x=p-y,D=y*g-p*b,L=C*x-S*E,L===0?null:(m=(E*D-x*w)/L,T=(S*w-C*D)/L,new i(m,T))},s.angleOfVector=function(o,u,l,f){var h=void 0;return o!==l?(h=Math.atan((f-u)/(l-o)),l0?1:s<0?-1:0},i.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},i.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=i},function(r,a,n){function i(){}i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,r.exports=i},function(r,a,n){var i=function(){function h(d,c){for(var v=0;v"u"?"undefined":i(o);return o==null||u!="object"&&u!="function"},r.exports=s},function(r,a,n){function i(p){if(Array.isArray(p)){for(var g=0,y=Array(p.length);g0&&g;){for(C.push(E[0]);C.length>0&&g;){var x=C[0];C.splice(0,1),T.add(x);for(var w=x.getEdges(),m=0;m-1&&E.splice(I,1)}T=new Set,S=new Map}}return p},v.prototype.createDummyNodesForBendpoints=function(p){for(var g=[],y=p.source,b=this.graphManager.calcLowestCommonAncestor(p.source,p.target),m=0;m0){for(var b=this.edgeToDummyNodes.get(y),m=0;m=0&&g.splice(D,1);var L=S.getNeighborsList();L.forEach(function(O){if(y.indexOf(O)<0){var M=b.get(O),R=M-1;R==1&&x.push(O),b.set(O,R)}})}y=y.concat(x),(g.length==1||g.length==2)&&(m=!0,T=g[0])}return T},v.prototype.setGraphManager=function(p){this.graphManager=p},r.exports=v},function(r,a,n){function i(){}i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},r.exports=i},function(r,a,n){var i=n(4);function s(o,u){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var u=0,l=this.lworldExtX;return l!=0&&(u=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/l),u},s.prototype.transformY=function(o){var u=0,l=this.lworldExtY;return l!=0&&(u=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/l),u},s.prototype.inverseTransformX=function(o){var u=0,l=this.ldeviceExtX;return l!=0&&(u=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/l),u},s.prototype.inverseTransformY=function(o){var u=0,l=this.ldeviceExtY;return l!=0&&(u=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/l),u},s.prototype.inverseTransformPoint=function(o){var u=new i(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return u},r.exports=s},function(r,a,n){function i(c){if(Array.isArray(c)){for(var v=0,p=Array(c.length);vo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(c-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(c>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(c-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var c=this.getAllEdges(),v,p=0;p0&&arguments[0]!==void 0?arguments[0]:!0,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,p,g,y,b,m=this.getAllNodes(),T;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&c&&this.updateGrid(),T=new Set,p=0;pC||T>C)&&(c.gravitationForceX=-this.gravityConstant*y,c.gravitationForceY=-this.gravityConstant*b)):(C=v.getEstimatedSize()*this.compoundGravityRangeFactor,(m>C||T>C)&&(c.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,c.gravitationForceY=-this.gravityConstant*b*this.compoundGravityConstant))},h.prototype.isConverged=function(){var c,v=!1;return this.totalIterations>this.maxIterations/3&&(v=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),c=this.totalDisplacement=m.length||C>=m[0].length)){for(var S=0;Sh}}]),l}();r.exports=u},function(r,a,n){var i=function(){function u(l,f){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,u),this.sequence1=l,this.sequence2=f,this.match_score=h,this.mismatch_penalty=d,this.gap_penalty=c,this.iMax=l.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var v=0;v=0;l--){var f=this.listeners[l];f.event===o&&f.callback===u&&this.listeners.splice(l,1)}},s.emit=function(o,u){for(var l=0;lf.coolingFactor*f.maxNodeDisplacement&&(this.displacementX=f.coolingFactor*f.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>f.coolingFactor*f.maxNodeDisplacement&&(this.displacementY=f.coolingFactor*f.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),f.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},u.prototype.propogateDisplacementToChildren=function(f,h){for(var d=this.getChild().getNodes(),c,v=0;v0)this.positionNodesRadially(E);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var x=new Set(this.getAllNodes()),w=this.nodesWithGravity.filter(function(D){return x.has(D)});this.graphManager.setAllNodesToApplyGravitation(w),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},C.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),x=this.nodesWithGravity.filter(function(L){return E.has(L)});this.graphManager.setAllNodesToApplyGravitation(x),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var w=!this.isTreeGrowing&&!this.isGrowthFinished,D=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(w,D),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},C.prototype.getPositionsData=function(){for(var E=this.graphManager.getAllNodes(),x={},w=0;w1){var O;for(O=0;OD&&(D=Math.floor(I.y)),A=Math.floor(I.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new p(c.WORLD_CENTER_X-I.x/2,c.WORLD_CENTER_Y-I.y/2))},C.radialLayout=function(E,x,w){var D=Math.max(this.maxDiagonalInTree(E),h.DEFAULT_RADIAL_SEPARATION);C.branchRadialLayout(x,null,0,359,0,D);var L=m.calculateBounds(E),A=new T;A.setDeviceOrgX(L.getMinX()),A.setDeviceOrgY(L.getMinY()),A.setWorldOrgX(w.x),A.setWorldOrgY(w.y);for(var I=0;I1;){var _=Y[0];Y.splice(0,1);var q=P.indexOf(_);q>=0&&P.splice(q,1),F--,B--}x!=null?G=(P.indexOf(Y[0])+1)%F:G=0;for(var U=Math.abs(D-w)/B,z=G;V!=B;z=++z%F){var H=P[z].getOtherEnd(E);if(H!=x){var W=(w+V*U)%360,J=(W+U)%360;C.branchRadialLayout(H,E,W,J,L+A,A),V++}}},C.maxDiagonalInTree=function(E){for(var x=y.MIN_VALUE,w=0;wx&&(x=L)}return x},C.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},C.prototype.groupZeroDegreeMembers=function(){var E=this,x={};this.memberGroups={},this.idToDummyNode={};for(var w=[],D=this.graphManager.getAllNodes(),L=0;L"u"&&(x[O]=[]),x[O]=x[O].concat(A)}Object.keys(x).forEach(function(M){if(x[M].length>1){var R="DummyCompound_"+M;E.memberGroups[R]=x[M];var k=x[M][0].getParent(),P=new l(E.graphManager);P.id=R,P.paddingLeft=k.paddingLeft||0,P.paddingRight=k.paddingRight||0,P.paddingBottom=k.paddingBottom||0,P.paddingTop=k.paddingTop||0,E.idToDummyNode[R]=P;var B=E.getGraphManager().add(E.newGraph(),P),V=k.getChild();V.add(P);for(var F=0;F=0;E--){var x=this.compoundOrder[E],w=x.id,D=x.paddingLeft,L=x.paddingTop;this.adjustLocations(this.tiledMemberPack[w],x.rect.x,x.rect.y,D,L)}},C.prototype.repopulateZeroDegreeMembers=function(){var E=this,x=this.tiledZeroDegreePack;Object.keys(x).forEach(function(w){var D=E.idToDummyNode[w],L=D.paddingLeft,A=D.paddingTop;E.adjustLocations(x[w],D.rect.x,D.rect.y,L,A)})},C.prototype.getToBeTiled=function(E){var x=E.id;if(this.toBeTiled[x]!=null)return this.toBeTiled[x];var w=E.getChild();if(w==null)return this.toBeTiled[x]=!1,!1;for(var D=w.getNodes(),L=0;L0)return this.toBeTiled[x]=!1,!1;if(A.getChild()==null){this.toBeTiled[A.id]=!1;continue}if(!this.getToBeTiled(A))return this.toBeTiled[x]=!1,!1}return this.toBeTiled[x]=!0,!0},C.prototype.getNodeDegree=function(E){E.id;for(var x=E.getEdges(),w=0,D=0;DM&&(M=k.rect.height)}w+=M+E.verticalPadding}},C.prototype.tileCompoundMembers=function(E,x){var w=this;this.tiledMemberPack=[],Object.keys(E).forEach(function(D){var L=x[D];w.tiledMemberPack[D]=w.tileNodes(E[D],L.paddingLeft+L.paddingRight),L.rect.width=w.tiledMemberPack[D].width,L.rect.height=w.tiledMemberPack[D].height})},C.prototype.tileNodes=function(E,x){var w=h.TILING_PADDING_VERTICAL,D=h.TILING_PADDING_HORIZONTAL,L={rows:[],rowWidth:[],rowHeight:[],width:0,height:x,verticalPadding:w,horizontalPadding:D};E.sort(function(O,M){return O.rect.width*O.rect.height>M.rect.width*M.rect.height?-1:O.rect.width*O.rect.height0&&(I+=E.horizontalPadding),E.rowWidth[w]=I,E.width0&&(O+=E.verticalPadding);var M=0;O>E.rowHeight[w]&&(M=E.rowHeight[w],E.rowHeight[w]=O,M=E.rowHeight[w]-M),E.height+=M,E.rows[w].push(x)},C.prototype.getShortestRowIndex=function(E){for(var x=-1,w=Number.MAX_VALUE,D=0;Dw&&(x=D,w=E.rowWidth[D]);return x},C.prototype.canAddHorizontal=function(E,x,w){var D=this.getShortestRowIndex(E);if(D<0)return!0;var L=E.rowWidth[D];if(L+E.horizontalPadding+x<=E.width)return!0;var A=0;E.rowHeight[D]0&&(A=w+E.verticalPadding-E.rowHeight[D]);var I;E.width-L>=x+E.horizontalPadding?I=(E.height+A)/(L+x+E.horizontalPadding):I=(E.height+A)/E.width,A=w+E.verticalPadding;var O;return E.widthA&&x!=w){D.splice(-1,1),E.rows[w].push(L),E.rowWidth[x]=E.rowWidth[x]-A,E.rowWidth[w]=E.rowWidth[w]+A,E.width=E.rowWidth[instance.getLongestRowIndex(E)];for(var I=Number.MIN_VALUE,O=0;OI&&(I=D[O].height);x>0&&(I+=E.verticalPadding);var M=E.rowHeight[x]+E.rowHeight[w];E.rowHeight[x]=I,E.rowHeight[w]0)for(var V=L;V<=A;V++)B[0]+=this.grid[V][I-1].length+this.grid[V][I].length-1;if(A0)for(var V=I;V<=O;V++)B[3]+=this.grid[L-1][V].length+this.grid[L][V].length-1;for(var F=y.MAX_VALUE,G,Y,_=0;_0){var O;O=T.getGraphManager().add(T.newGraph(),w),this.processChildrenList(O,x,T)}}},p.prototype.stop=function(){return this.stopped=!0,this};var y=function(m){m("layout","cose-bilkent",p)};typeof cytoscape<"u"&&y(cytoscape),a.exports=y}])})})($u);var qp=$u.exports;const Wp=tl(qp);var fi=function(){var t=function(T,C,S,E){for(S=S||{},E=T.length;E--;S[T[E]]=C);return S},e=[1,4],r=[1,13],a=[1,12],n=[1,15],i=[1,16],s=[1,20],o=[1,19],u=[6,7,8],l=[1,26],f=[1,24],h=[1,25],d=[6,7,11],c=[1,6,13,15,16,19,22],v=[1,33],p=[1,34],g=[1,6,7,11,13,15,16,19,22],y={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(C,S,E,x,w,D,L){var A=D.length-1;switch(w){case 6:case 7:return x;case 8:x.getLogger().trace("Stop NL ");break;case 9:x.getLogger().trace("Stop EOF ");break;case 11:x.getLogger().trace("Stop NL2 ");break;case 12:x.getLogger().trace("Stop EOF2 ");break;case 15:x.getLogger().info("Node: ",D[A].id),x.addNode(D[A-1].length,D[A].id,D[A].descr,D[A].type);break;case 16:x.getLogger().trace("Icon: ",D[A]),x.decorateNode({icon:D[A]});break;case 17:case 21:x.decorateNode({class:D[A]});break;case 18:x.getLogger().trace("SPACELIST");break;case 19:x.getLogger().trace("Node: ",D[A].id),x.addNode(0,D[A].id,D[A].descr,D[A].type);break;case 20:x.decorateNode({icon:D[A]});break;case 25:x.getLogger().trace("node found ..",D[A-2]),this.$={id:D[A-1],descr:D[A-1],type:x.getType(D[A-2],D[A])};break;case 26:this.$={id:D[A],descr:D[A],type:x.nodeType.DEFAULT};break;case 27:x.getLogger().trace("node found ..",D[A-3]),this.$={id:D[A-3],descr:D[A-1],type:x.getType(D[A-2],D[A])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:l,7:f,10:23,11:h},t(d,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),t(d,[2,21]),t(d,[2,23]),t(d,[2,24]),t(d,[2,26],{19:[1,30]}),{20:[1,31]},{6:l,7:f,10:32,11:h},{1:[2,7],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(c,[2,14],{7:v,11:p}),t(g,[2,8]),t(g,[2,9]),t(g,[2,10]),t(d,[2,15]),t(d,[2,16]),t(d,[2,17]),{20:[1,35]},{21:[1,36]},t(c,[2,13],{7:v,11:p}),t(g,[2,11]),t(g,[2,12]),{21:[1,37]},t(d,[2,25]),t(d,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(C,S){if(S.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=S,E}},parse:function(C){var S=this,E=[0],x=[],w=[null],D=[],L=this.table,A="",I=0,O=0,M=2,R=1,k=D.slice.call(arguments,1),P=Object.create(this.lexer),B={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(B.yy[V]=this.yy[V]);P.setInput(C,B.yy),B.yy.lexer=P,B.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var F=P.yylloc;D.push(F);var G=P.options&&P.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(){var te;return te=x.pop()||P.lex()||R,typeof te!="number"&&(te instanceof Array&&(x=te,te=x.pop()),te=S.symbols_[te]||te),te}for(var _,q,U,z,H={},W,J,ee,oe;;){if(q=E[E.length-1],this.defaultActions[q]?U=this.defaultActions[q]:((_===null||typeof _>"u")&&(_=Y()),U=L[q]&&L[q][_]),typeof U>"u"||!U.length||!U[0]){var me="";oe=[];for(W in L[q])this.terminals_[W]&&W>M&&oe.push("'"+this.terminals_[W]+"'");P.showPosition?me="Parse error on line "+(I+1)+`: +`+P.showPosition()+` +Expecting `+oe.join(", ")+", got '"+(this.terminals_[_]||_)+"'":me="Parse error on line "+(I+1)+": Unexpected "+(_==R?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(me,{text:P.match,token:this.terminals_[_]||_,line:P.yylineno,loc:F,expected:oe})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+q+", token: "+_);switch(U[0]){case 1:E.push(_),w.push(P.yytext),D.push(P.yylloc),E.push(U[1]),_=null,O=P.yyleng,A=P.yytext,I=P.yylineno,F=P.yylloc;break;case 2:if(J=this.productions_[U[1]][1],H.$=w[w.length-J],H._$={first_line:D[D.length-(J||1)].first_line,last_line:D[D.length-1].last_line,first_column:D[D.length-(J||1)].first_column,last_column:D[D.length-1].last_column},G&&(H._$.range=[D[D.length-(J||1)].range[0],D[D.length-1].range[1]]),z=this.performAction.apply(H,[A,O,I,B.yy,U[1],w,D].concat(k)),typeof z<"u")return z;J&&(E=E.slice(0,-1*J*2),w=w.slice(0,-1*J),D=D.slice(0,-1*J)),E.push(this.productions_[U[1]][0]),w.push(H.$),D.push(H._$),ee=L[E[E.length-2]][E[E.length-1]],E.push(ee);break;case 3:return!0}}return!0}},b=function(){var T={EOF:1,parseError:function(S,E){if(this.yy.parser)this.yy.parser.parseError(S,E);else throw new Error(S)},setInput:function(C,S){return this.yy=S||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var S=C.match(/(?:\r\n?|\n).*/g);return S?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},unput:function(C){var S=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-S),this.offset-=S;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var w=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===x.length?this.yylloc.first_column:0)+x[x.length-E.length].length-E[0].length:this.yylloc.first_column-S},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-S]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(C){this.unput(this.match.slice(C))},pastInput:function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var C=this.pastInput(),S=new Array(C.length+1).join("-");return C+this.upcomingInput()+` +`+S+"^"},test_match:function(C,S){var E,x,w;if(this.options.backtrack_lexer&&(w={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(w.yylloc.range=this.yylloc.range.slice(0))),x=C[0].match(/(?:\r\n?|\n).*/g),x&&(this.yylineno+=x.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,S,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var D in w)this[D]=w[D];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,S,E,x;this._more||(this.yytext="",this.match="");for(var w=this._currentRules(),D=0;DS[0].length)){if(S=E,x=D,this.options.backtrack_lexer){if(C=this.test_match(E,w[D]),C!==!1)return C;if(this._backtrack){S=!1;continue}else return!1}else if(!this.options.flex)break}return S?(C=this.test_match(S,w[x]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var S=this.next();return S||this.lex()},begin:function(S){this.conditionStack.push(S)},popState:function(){var S=this.conditionStack.length-1;return S>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(S){return S=this.conditionStack.length-1-Math.abs(S||0),S>=0?this.conditionStack[S]:"INITIAL"},pushState:function(S){this.begin(S)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(S,E,x,w){switch(x){case 0:return S.getLogger().trace("Found comment",E.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:S.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return S.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:S.getLogger().trace("end icon"),this.popState();break;case 10:return S.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return S.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return S.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return S.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:S.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return S.getLogger().trace("description:",E.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),S.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),S.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),S.getLogger().trace("node end ...",E.yytext),"NODE_DEND";case 30:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),S.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),S.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";case 35:return S.getLogger().trace("Long description:",E.yytext),20;case 36:return S.getLogger().trace("Long description:",E.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return T}();y.lexer=b;function m(){this.yy={}}return m.prototype=y,y.Parser=m,new m}();fi.parser=fi;const Kp=fi;let Nt=[],Yu=0,Fi={};const Zp=()=>{Nt=[],Yu=0,Fi={}},Qp=function(t){for(let e=Nt.length-1;e>=0;e--)if(Nt[e].levelNt.length>0?Nt[0]:null,jp=(t,e,r,a)=>{var n,i;Er.info("addNode",t,e,r,a);const s=ci();let o=((n=s.mindmap)==null?void 0:n.padding)??ja.mindmap.padding;switch(a){case _e.ROUNDED_RECT:case _e.RECT:case _e.HEXAGON:o*=2}const u={id:Yu++,nodeId:en(e,s),level:t,descr:en(r,s),type:a,children:[],width:((i=s.mindmap)==null?void 0:i.maxNodeWidth)??ja.mindmap.maxNodeWidth,padding:o},l=Qp(t);if(l)l.children.push(u),Nt.push(u);else if(Nt.length===0)Nt.push(u);else throw new Error('There can be only one root. No parent could be found for ("'+u.descr+'")')},_e={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},ey=(t,e)=>{switch(Er.debug("In get type",t,e),t){case"[":return _e.RECT;case"(":return e===")"?_e.ROUNDED_RECT:_e.CLOUD;case"((":return _e.CIRCLE;case")":return _e.CLOUD;case"))":return _e.BANG;case"{{":return _e.HEXAGON;default:return _e.DEFAULT}},ty=(t,e)=>{Fi[t]=e},ry=t=>{if(!t)return;const e=ci(),r=Nt[Nt.length-1];t.icon&&(r.icon=en(t.icon,e)),t.class&&(r.class=en(t.class,e))},ay=t=>{switch(t){case _e.DEFAULT:return"no-border";case _e.RECT:return"rect";case _e.ROUNDED_RECT:return"rounded-rect";case _e.CIRCLE:return"circle";case _e.CLOUD:return"cloud";case _e.BANG:return"bang";case _e.HEXAGON:return"hexgon";default:return"no-border"}},ny=()=>Er,iy=t=>Fi[t],sy={clear:Zp,addNode:jp,getMindmap:Jp,nodeType:_e,getType:ey,setElementForId:ty,decorateNode:ry,type2Str:ay,getLogger:ny,getElementById:iy},oy=sy,uy=12,ly=function(t,e,r,a){e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 ${r.height-5} v${-r.height+2*5} q0,-5 5,-5 h${r.width-2*5} q5,0 5,5 v${r.height-5} H0 Z`),e.append("line").attr("class","node-line-"+a).attr("x1",0).attr("y1",r.height).attr("x2",r.width).attr("y2",r.height)},fy=function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("width",r.width)},hy=function(t,e,r){const a=r.width,n=r.height,i=.15*a,s=.25*a,o=.35*a,u=.2*a;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${i},${i} 0 0,1 ${a*.25},${-1*a*.1} + a${o},${o} 1 0,1 ${a*.4},${-1*a*.1} + a${s},${s} 1 0,1 ${a*.35},${1*a*.2} + + a${i},${i} 1 0,1 ${a*.15},${1*n*.35} + a${u},${u} 1 0,1 ${-1*a*.15},${1*n*.65} + + a${s},${i} 1 0,1 ${-1*a*.25},${a*.15} + a${o},${o} 1 0,1 ${-1*a*.5},0 + a${i},${i} 1 0,1 ${-1*a*.25},${-1*a*.15} + + a${i},${i} 1 0,1 ${-1*a*.1},${-1*n*.35} + a${u},${u} 1 0,1 ${a*.1},${-1*n*.65} + + H0 V0 Z`)},cy=function(t,e,r){const a=r.width,n=r.height,i=.15*a;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${i},${i} 1 0,0 ${a*.25},${-1*n*.1} + a${i},${i} 1 0,0 ${a*.25},0 + a${i},${i} 1 0,0 ${a*.25},0 + a${i},${i} 1 0,0 ${a*.25},${1*n*.1} + + a${i},${i} 1 0,0 ${a*.15},${1*n*.33} + a${i*.8},${i*.8} 1 0,0 0,${1*n*.34} + a${i},${i} 1 0,0 ${-1*a*.15},${1*n*.33} + + a${i},${i} 1 0,0 ${-1*a*.25},${n*.15} + a${i},${i} 1 0,0 ${-1*a*.25},0 + a${i},${i} 1 0,0 ${-1*a*.25},0 + a${i},${i} 1 0,0 ${-1*a*.25},${-1*n*.15} + + a${i},${i} 1 0,0 ${-1*a*.1},${-1*n*.33} + a${i*.8},${i*.8} 1 0,0 0,${-1*n*.34} + a${i},${i} 1 0,0 ${a*.1},${-1*n*.33} + + H0 V0 Z`)},vy=function(t,e,r){e.append("circle").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("r",r.width/2)};function dy(t,e,r,a,n){return t.insert("polygon",":first-child").attr("points",a.map(function(i){return i.x+","+i.y}).join(" ")).attr("transform","translate("+(n.width-e)/2+", "+r+")")}const gy=function(t,e,r){const a=r.height,i=a/4,s=r.width-r.padding+2*i,o=[{x:i,y:0},{x:s-i,y:0},{x:s,y:-a/2},{x:s-i,y:-a},{x:i,y:-a},{x:0,y:-a/2}];dy(e,s,a,o,r)},py=function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("rx",r.padding).attr("ry",r.padding).attr("width",r.width)},yy=function(t,e,r,a,n){const i=n.htmlLabels,s=a%(uy-1),o=e.append("g");r.section=s;let u="section-"+s;s<0&&(u+=" section-root"),o.attr("class",(r.class?r.class+" ":"")+"mindmap-node "+u);const l=o.append("g"),f=o.append("g"),h=r.descr.replace(/()/g,` +`);ll(f,h,{useHtmlLabels:i,width:r.width,classes:"mindmap-node-label"}),i||f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const d=f.node().getBBox(),[c]=ul(n.fontSize);if(r.height=d.height+c*1.1*.5+r.padding,r.width=d.width+2*r.padding,r.icon)if(r.type===t.nodeType.CIRCLE)r.height+=50,r.width+=50,o.append("foreignObject").attr("height","50px").attr("width",r.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+s+" "+r.icon),f.attr("transform","translate("+r.width/2+", "+(r.height/2-1.5*r.padding)+")");else{r.width+=50;const v=r.height;r.height=Math.max(v,60);const p=Math.abs(r.height-v);o.append("foreignObject").attr("width","60px").attr("height",r.height).attr("style","text-align: center;margin-top:"+p/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+s+" "+r.icon),f.attr("transform","translate("+(25+r.width/2)+", "+(p/2+r.padding/2)+")")}else if(i){const v=(r.width-d.width)/2,p=(r.height-d.height)/2;f.attr("transform","translate("+v+", "+p+")")}else{const v=r.width/2,p=r.padding/2;f.attr("transform","translate("+v+", "+p+")")}switch(r.type){case t.nodeType.DEFAULT:ly(t,l,r,s);break;case t.nodeType.ROUNDED_RECT:py(t,l,r);break;case t.nodeType.RECT:fy(t,l,r);break;case t.nodeType.CIRCLE:l.attr("transform","translate("+r.width/2+", "+ +r.height/2+")"),vy(t,l,r);break;case t.nodeType.CLOUD:hy(t,l,r);break;case t.nodeType.BANG:cy(t,l,r);break;case t.nodeType.HEXAGON:gy(t,l,r);break}return t.setElementForId(r.id,o),r.height},my=function(t,e){const r=t.getElementById(e.id),a=e.x||0,n=e.y||0;r.attr("transform","translate("+a+","+n+")")};nr.use(Wp);function _u(t,e,r,a,n){yy(t,e,r,a,n),r.children&&r.children.forEach((i,s)=>{_u(t,e,i,a<0?s:a,n)})}function by(t,e){e.edges().map((r,a)=>{const n=r.data();if(r[0]._private.bodyBounds){const i=r[0]._private.rscratch;Er.trace("Edge: ",a,n),t.insert("path").attr("d",`M ${i.startX},${i.startY} L ${i.midX},${i.midY} L${i.endX},${i.endY} `).attr("class","edge section-edge-"+n.section+" edge-depth-"+n.depth)}})}function Hu(t,e,r,a){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:a,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(n=>{Hu(n,e,r,a+1),e.add({group:"edges",data:{id:`${t.id}_${n.id}`,source:t.id,target:n.id,depth:a,section:n.section}})})}function Ey(t,e){return new Promise(r=>{const a=nl("body").append("div").attr("id","cy").attr("style","display:none"),n=nr({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});a.remove(),Hu(t,n,e,0),n.nodes().forEach(function(i){i.layoutDimensions=()=>{const s=i.data();return{w:s.width,h:s.height}}}),n.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),n.ready(i=>{Er.info("Ready",i),r(n)})})}function wy(t,e){e.nodes().map((r,a)=>{const n=r.data();n.x=r.position().x,n.y=r.position().y,my(t,n);const i=t.getElementById(n.nodeId);Er.info("Id:",a,"Position: (",r.position().x,", ",r.position().y,")",n),i.attr("transform",`translate(${r.position().x-n.width/2}, ${r.position().y-n.height/2})`),i.attr("attr",`apa-${a})`)})}const xy=async(t,e,r,a)=>{var n,i;Er.debug(`Rendering mindmap diagram +`+t);const s=a.db,o=s.getMindmap();if(!o)return;const u=ci();u.htmlLabels=!1;const l=rl(e),f=l.append("g");f.attr("class","mindmap-edges");const h=l.append("g");h.attr("class","mindmap-nodes"),_u(s,h,o,-1,u);const d=await Ey(o,u);by(f,d),wy(s,d),al(void 0,l,((n=u.mindmap)==null?void 0:n.padding)??ja.mindmap.padding,((i=u.mindmap)==null?void 0:i.useMaxWidth)??ja.mindmap.useMaxWidth)},Ty={draw:xy},Cy=t=>{let e="";for(let r=0;r` + .edge { + stroke-width: 3; + } + ${Cy(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`,Sy=Dy,Iy={db:oy,renderer:Ty,parser:Kp,styles:Sy};export{Iy as diagram}; diff --git a/assets/chunks/ordinal.BYWQX77i.js b/assets/chunks/ordinal.BYWQX77i.js new file mode 100644 index 000000000..1f7977b7f --- /dev/null +++ b/assets/chunks/ordinal.BYWQX77i.js @@ -0,0 +1 @@ +import{i as a}from"./init.Gi6I4Gst.js";class o extends Map{constructor(n,t=g){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),n!=null)for(const[r,s]of n)this.set(r,s)}get(n){return super.get(c(this,n))}has(n){return super.has(c(this,n))}set(n,t){return super.set(l(this,n),t)}delete(n){return super.delete(p(this,n))}}function c({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):t}function l({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):(e.set(r,t),t)}function p({_intern:e,_key:n},t){const r=n(t);return e.has(r)&&(t=e.get(r),e.delete(r)),t}function g(e){return e!==null&&typeof e=="object"?e.valueOf():e}const f=Symbol("implicit");function h(){var e=new o,n=[],t=[],r=f;function s(u){let i=e.get(u);if(i===void 0){if(r!==f)return r;e.set(u,i=n.push(u)-1)}return t[i%t.length]}return s.domain=function(u){if(!arguments.length)return n.slice();n=[],e=new o;for(const i of u)e.has(i)||e.set(i,n.push(i)-1);return s},s.range=function(u){return arguments.length?(t=Array.from(u),s):t.slice()},s.unknown=function(u){return arguments.length?(r=u,s):r},s.copy=function(){return h(n,t).unknown(r)},a.apply(s,arguments),s}export{h as o}; diff --git a/assets/chunks/path.CbwjOpE9.js b/assets/chunks/path.CbwjOpE9.js new file mode 100644 index 000000000..f55758f48 --- /dev/null +++ b/assets/chunks/path.CbwjOpE9.js @@ -0,0 +1 @@ +const c=Math.PI,x=2*c,u=1e-6,m=x-u;function E(e){this._+=e[0];for(let t=1,h=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return E;const h=10**t;return function(i){this._+=i[0];for(let s=1,n=i.length;su)if(!(Math.abs(o*p-l*_)>u)||!n)this._append`L${this._x1=t},${this._y1=h}`;else{let d=i-$,f=s-r,y=p*p+l*l,T=d*d+f*f,g=Math.sqrt(y),v=Math.sqrt(a),w=n*Math.tan((c-Math.acos((y+a-T)/(2*g*v)))/2),M=w/v,b=w/g;Math.abs(M-1)>u&&this._append`L${t+M*_},${h+M*o}`,this._append`A${n},${n},0,0,${+(o*d>_*f)},${this._x1=t+b*p},${this._y1=h+b*l}`}}arc(t,h,i,s,n,$){if(t=+t,h=+h,i=+i,$=!!$,i<0)throw new Error(`negative radius: ${i}`);let r=i*Math.cos(s),p=i*Math.sin(s),l=t+r,_=h+p,o=1^$,a=$?s-n:n-s;this._x1===null?this._append`M${l},${_}`:(Math.abs(this._x1-l)>u||Math.abs(this._y1-_)>u)&&this._append`L${l},${_}`,i&&(a<0&&(a=a%x+x),a>m?this._append`A${i},${i},0,1,${o},${t-r},${h-p}A${i},${i},0,1,${o},${this._x1=l},${this._y1=_}`:a>u&&this._append`A${i},${i},0,${+(a>=c)},${o},${this._x1=t+i*Math.cos(n)},${this._y1=h+i*Math.sin(n)}`)}rect(t,h,i,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+h}h${i=+i}v${+s}h${-i}Z`}toString(){return this._}}function P(e){return function(){return e}}function q(e){let t=3;return e.digits=function(h){if(!arguments.length)return t;if(h==null)t=null;else{const i=Math.floor(h);if(!(i>=0))throw new RangeError(`invalid digits: ${h}`);t=i}return e},()=>new L(t)}export{P as c,q as w}; diff --git a/assets/chunks/pieDiagram-bb1d19e5.Wp1004gd.js b/assets/chunks/pieDiagram-bb1d19e5.Wp1004gd.js new file mode 100644 index 000000000..82dab5fc6 --- /dev/null +++ b/assets/chunks/pieDiagram-bb1d19e5.Wp1004gd.js @@ -0,0 +1,35 @@ +import{aI as Z,aJ as at,x as lt,y as ot,s as ct,g as ht,b as ut,a as yt,A as ft,d as pt,c as et,l as it,aK as gt,aH as dt,aL as mt,i as _t}from"../app.BKabOgys.js";import{a as tt}from"./arc.BxUBBXCP.js";import{o as xt}from"./ordinal.BYWQX77i.js";import{a as kt}from"./array.BKyUJesY.js";import{c as F}from"./path.CbwjOpE9.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./init.Gi6I4Gst.js";function vt(e,u){return ue?1:u>=e?0:NaN}function bt(e){return e}function St(){var e=bt,u=vt,$=null,p=F(0),g=F(Z),A=F(0);function y(a){var l,d=(a=kt(a)).length,m,I,T=0,_=new Array(d),v=new Array(d),c=+p.apply(this,arguments),E=Math.min(Z,Math.max(-Z,g.apply(this,arguments)-c)),O,w=Math.min(Math.abs(E)/d,A.apply(this,arguments)),b=w*(E<0?-1:1),t;for(l=0;l0&&(T+=t);for(u!=null?_.sort(function(i,n){return u(v[i],v[n])}):$!=null&&_.sort(function(i,n){return $(a[i],a[n])}),l=0,I=T?(E-d*b)/T:0;l0?t*I:0)+b,v[m]={data:a[m],index:l,value:t,startAngle:c,endAngle:O,padAngle:w};return v}return y.value=function(a){return arguments.length?(e=typeof a=="function"?a:F(+a),y):e},y.sortValues=function(a){return arguments.length?(u=a,$=null,y):u},y.sort=function(a){return arguments.length?($=a,u=null,y):$},y.startAngle=function(a){return arguments.length?(p=typeof a=="function"?a:F(+a),y):p},y.endAngle=function(a){return arguments.length?(g=typeof a=="function"?a:F(+a),y):g},y.padAngle=function(a){return arguments.length?(A=typeof a=="function"?a:F(+a),y):A},y}var q=function(){var e=function(b,t,i,n){for(i=i||{},n=b.length;n--;i[b[n]]=t);return i},u=[1,3],$=[1,4],p=[1,5],g=[1,6],A=[1,10,12,14,16,18,19,20,21,22],y=[2,4],a=[1,5,10,12,14,16,18,19,20,21,22],l=[20,21,22],d=[2,7],m=[1,12],I=[1,13],T=[1,14],_=[1,15],v=[1,16],c=[1,17],E={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(t,i,n,r,o,s,P){var x=s.length-1;switch(o){case 3:r.setShowData(!0);break;case 6:this.$=s[x-1];break;case 8:r.addSection(s[x-1],r.cleanupValue(s[x]));break;case 9:this.$=s[x].trim(),r.setDiagramTitle(this.$);break;case 10:this.$=s[x].trim(),r.setAccTitle(this.$);break;case 11:case 12:this.$=s[x].trim(),r.setAccDescription(this.$);break;case 13:r.addSection(s[x].substr(8)),this.$=s[x].substr(8);break}},table:[{3:1,4:2,5:u,20:$,21:p,22:g},{1:[3]},{3:7,4:2,5:u,20:$,21:p,22:g},e(A,y,{6:8,7:[1,9]}),e(a,[2,14]),e(a,[2,15]),e(a,[2,16]),{1:[2,1]},e(l,d,{8:10,9:11,1:[2,2],10:m,12:I,14:T,16:_,18:v,19:c}),e(A,y,{6:18}),e(A,[2,5]),{4:19,20:$,21:p,22:g},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},e(l,[2,12]),e(l,[2,13]),e(l,d,{8:10,9:11,1:[2,3],10:m,12:I,14:T,16:_,18:v,19:c}),e(A,[2,6]),e(l,[2,8]),e(l,[2,9]),e(l,[2,10]),e(l,[2,11])],defaultActions:{7:[2,1]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=i,n}},parse:function(t){var i=this,n=[0],r=[],o=[null],s=[],P=this.table,x="",f=0,V=0,R=2,M=1,B=s.slice.call(arguments,1),h=Object.create(this.lexer),L={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(L.yy[Y]=this.yy[Y]);h.setInput(t,L.yy),L.yy.lexer=h,L.yy.parser=this,typeof h.yylloc>"u"&&(h.yylloc={});var H=h.yylloc;s.push(H);var st=h.options&&h.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function rt(){var C;return C=r.pop()||h.lex()||M,typeof C!="number"&&(C instanceof Array&&(r=C,C=r.pop()),C=i.symbols_[C]||C),C}for(var k,N,S,J,z={},j,D,X,W;;){if(N=n[n.length-1],this.defaultActions[N]?S=this.defaultActions[N]:((k===null||typeof k>"u")&&(k=rt()),S=P[N]&&P[N][k]),typeof S>"u"||!S.length||!S[0]){var K="";W=[];for(j in P[N])this.terminals_[j]&&j>R&&W.push("'"+this.terminals_[j]+"'");h.showPosition?K="Parse error on line "+(f+1)+`: +`+h.showPosition()+` +Expecting `+W.join(", ")+", got '"+(this.terminals_[k]||k)+"'":K="Parse error on line "+(f+1)+": Unexpected "+(k==M?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(K,{text:h.match,token:this.terminals_[k]||k,line:h.yylineno,loc:H,expected:W})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+k);switch(S[0]){case 1:n.push(k),o.push(h.yytext),s.push(h.yylloc),n.push(S[1]),k=null,V=h.yyleng,x=h.yytext,f=h.yylineno,H=h.yylloc;break;case 2:if(D=this.productions_[S[1]][1],z.$=o[o.length-D],z._$={first_line:s[s.length-(D||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(D||1)].first_column,last_column:s[s.length-1].last_column},st&&(z._$.range=[s[s.length-(D||1)].range[0],s[s.length-1].range[1]]),J=this.performAction.apply(z,[x,V,f,L.yy,S[1],o,s].concat(B)),typeof J<"u")return J;D&&(n=n.slice(0,-1*D*2),o=o.slice(0,-1*D),s=s.slice(0,-1*D)),n.push(this.productions_[S[1]][0]),o.push(z.$),s.push(z._$),X=P[n[n.length-2]][n[n.length-1]],n.push(X);break;case 3:return!0}}return!0}},O=function(){var b={EOF:1,parseError:function(i,n){if(this.yy.parser)this.yy.parser.parseError(i,n);else throw new Error(i)},setInput:function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var i=t.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var i=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),i=new Array(t.length+1).join("-");return t+this.upcomingInput()+` +`+i+"^"},test_match:function(t,i){var n,r,o;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(o.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var s in o)this[s]=o[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,i,n,r;this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),s=0;si[0].length)){if(i=n,r=s,this.options.backtrack_lexer){if(t=this.test_match(n,o[s]),t!==!1)return t;if(this._backtrack){i=!1;continue}else return!1}else if(!this.options.flex)break}return i?(t=this.test_match(i,o[r]),t!==!1?t:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var i=this.next();return i||this.lex()},begin:function(i){this.conditionStack.push(i)},popState:function(){var i=this.conditionStack.length-1;return i>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(i){return i=this.conditionStack.length-1-Math.abs(i||0),i>=0?this.conditionStack[i]:"INITIAL"},pushState:function(i){this.begin(i)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(i,n,r,o){switch(r){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return b}();E.lexer=O;function w(){this.yy={}}return w.prototype=E,E.Parser=w,new w}();q.parser=q;const $t=q,nt=at.pie,G={sections:{},showData:!1,config:nt};let U=G.sections,Q=G.showData;const At=structuredClone(nt),Et=()=>structuredClone(At),wt=()=>{U=structuredClone(G.sections),Q=G.showData,ft()},Tt=(e,u)=>{e=pt(e,et()),U[e]===void 0&&(U[e]=u,it.debug(`added new section: ${e}, with value: ${u}`))},It=()=>U,Dt=e=>(e.substring(0,1)===":"&&(e=e.substring(1).trim()),Number(e.trim())),Ct=e=>{Q=e},Ot=()=>Q,Pt={getConfig:Et,clear:wt,setDiagramTitle:lt,getDiagramTitle:ot,setAccTitle:ct,getAccTitle:ht,setAccDescription:ut,getAccDescription:yt,addSection:Tt,getSections:It,cleanupValue:Dt,setShowData:Ct,getShowData:Ot},Vt=e=>` + .pieCircle{ + stroke: ${e.pieStrokeColor}; + stroke-width : ${e.pieStrokeWidth}; + opacity : ${e.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${e.pieOuterStrokeColor}; + stroke-width: ${e.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${e.pieTitleTextSize}; + fill: ${e.pieTitleTextColor}; + font-family: ${e.fontFamily}; + } + .slice { + font-family: ${e.fontFamily}; + fill: ${e.pieSectionTextColor}; + font-size:${e.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${e.pieLegendTextColor}; + font-family: ${e.fontFamily}; + font-size: ${e.pieLegendTextSize}; + } +`,Lt=Vt,Nt=e=>{const u=Object.entries(e).map(p=>({label:p[0],value:p[1]})).sort((p,g)=>g.value-p.value);return St().value(p=>p.value)(u)},Ft=(e,u,$,p)=>{it.debug(`rendering pie chart +`+e);const g=p.db,A=et(),y=gt(g.getConfig(),A.pie),a=40,l=18,d=4,m=450,I=m,T=dt(u),_=T.append("g"),v=g.getSections();_.attr("transform","translate("+I/2+","+m/2+")");const{themeVariables:c}=A;let[E]=mt(c.pieOuterStrokeWidth);E??(E=2);const O=y.textPosition,w=Math.min(I,m)/2-a,b=tt().innerRadius(0).outerRadius(w),t=tt().innerRadius(w*O).outerRadius(w*O);_.append("circle").attr("cx",0).attr("cy",0).attr("r",w+E/2).attr("class","pieOuterCircle");const i=Nt(v),n=[c.pie1,c.pie2,c.pie3,c.pie4,c.pie5,c.pie6,c.pie7,c.pie8,c.pie9,c.pie10,c.pie11,c.pie12],r=xt(n);_.selectAll("mySlices").data(i).enter().append("path").attr("d",b).attr("fill",f=>r(f.data.label)).attr("class","pieCircle");let o=0;Object.keys(v).forEach(f=>{o+=v[f]}),_.selectAll("mySlices").data(i).enter().append("text").text(f=>(f.data.value/o*100).toFixed(0)+"%").attr("transform",f=>"translate("+t.centroid(f)+")").style("text-anchor","middle").attr("class","slice"),_.append("text").text(g.getDiagramTitle()).attr("x",0).attr("y",-(m-50)/2).attr("class","pieTitleText");const s=_.selectAll(".legend").data(r.domain()).enter().append("g").attr("class","legend").attr("transform",(f,V)=>{const R=l+d,M=R*r.domain().length/2,B=12*l,h=V*R-M;return"translate("+B+","+h+")"});s.append("rect").attr("width",l).attr("height",l).style("fill",r).style("stroke",r),s.data(i).append("text").attr("x",l+d).attr("y",l-d).text(f=>{const{label:V,value:R}=f.data;return g.getShowData()?`${V} [${R}]`:V});const P=Math.max(...s.selectAll("text").nodes().map(f=>(f==null?void 0:f.getBoundingClientRect().width)??0)),x=I+a+l+d+P;T.attr("viewBox",`0 0 ${x} ${m}`),_t(T,m,x,y.useMaxWidth)},Rt={draw:Ft},Ht={parser:$t,db:Pt,renderer:Rt,styles:Lt};export{Ht as diagram}; diff --git a/assets/chunks/quadrantDiagram-c759a472.BkG1jmU1.js b/assets/chunks/quadrantDiagram-c759a472.BkG1jmU1.js new file mode 100644 index 000000000..2aa38eb2e --- /dev/null +++ b/assets/chunks/quadrantDiagram-c759a472.BkG1jmU1.js @@ -0,0 +1,7 @@ +import{aY as vt,c as yt,aJ as D,l as ot,s as Lt,g as Ct,x as zt,y as bt,a as Et,b as Dt,A as It,h as gt,i as Bt,d as wt}from"../app.BKabOgys.js";import{l as _t}from"./linear.C2Kb3ud7.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./init.Gi6I4Gst.js";var pt=function(){var e=function(K,n,r,l){for(r=r||{},l=K.length;l--;r[K[l]]=n);return r},s=[1,3],h=[1,4],x=[1,5],f=[1,6],d=[1,7],c=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],g=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],i=[32,33,34],y=[2,7],p=[1,13],B=[1,17],N=[1,18],V=[1,19],I=[1,20],b=[1,21],M=[1,22],X=[1,23],C=[1,24],it=[1,25],at=[1,26],nt=[1,27],U=[1,30],Q=[1,31],T=[1,32],_=[1,33],m=[1,34],t=[1,35],A=[1,36],S=[1,37],k=[1,38],F=[1,39],P=[1,40],v=[1,41],L=[1,42],O=[1,57],Y=[1,58],z=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(n,r,l,o,q,a,et){var u=a.length-1;switch(q){case 12:this.$=a[u].trim(),o.setDiagramTitle(this.$);break;case 13:this.$=a[u].trim(),o.setAccTitle(this.$);break;case 14:case 15:this.$=a[u].trim(),o.setAccDescription(this.$);break;case 16:o.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 17:o.addPoint(a[u-3],a[u-1],a[u]);break;case 18:o.setXAxisLeftText(a[u-2]),o.setXAxisRightText(a[u]);break;case 19:a[u-1].text+=" ⟶ ",o.setXAxisLeftText(a[u-1]);break;case 20:o.setXAxisLeftText(a[u]);break;case 21:o.setYAxisBottomText(a[u-2]),o.setYAxisTopText(a[u]);break;case 22:a[u-1].text+=" ⟶ ",o.setYAxisBottomText(a[u-1]);break;case 23:o.setYAxisBottomText(a[u]);break;case 24:o.setQuadrant1Text(a[u]);break;case 25:o.setQuadrant2Text(a[u]);break;case 26:o.setQuadrant3Text(a[u]);break;case 27:o.setQuadrant4Text(a[u]);break;case 31:this.$={text:a[u],type:"text"};break;case 32:this.$={text:a[u-1].text+""+a[u],type:a[u-1].type};break;case 33:this.$={text:a[u],type:"text"};break;case 34:this.$={text:a[u],type:"markdown"};break;case 35:this.$=a[u];break;case 36:this.$=a[u-1]+""+a[u];break}},table:[{3:1,4:2,5:s,6:h,32:x,33:f,34:d},{1:[3]},{3:8,4:2,5:s,6:h,32:x,33:f,34:d},{3:9,4:2,5:s,6:h,32:x,33:f,34:d},e(c,[2,4],{7:10}),e(g,[2,28]),e(g,[2,29]),e(g,[2,30]),{1:[2,1]},{1:[2,2]},e(i,y,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(c,[2,5]),{4:43,32:x,33:f,34:d},e(i,y,{10:14,11:15,12:16,21:28,35:29,9:44,5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,9]),e(i,[2,10]),e(i,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},e(i,[2,15]),e(i,[2,16]),{21:48,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:49,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:50,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:51,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:52,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:53,35:29,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{5:O,22:[1,54],35:56,36:55,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y},e(z,[2,31]),e(z,[2,33]),e(z,[2,34]),e(z,[2,37]),e(z,[2,38]),e(z,[2,39]),e(z,[2,40]),e(z,[2,41]),e(z,[2,42]),e(z,[2,43]),e(z,[2,44]),e(z,[2,45]),e(z,[2,46]),e(z,[2,47]),e(c,[2,6]),e(i,[2,8]),e(i,[2,12]),e(i,[2,13]),e(i,[2,14]),e(i,[2,20],{36:55,35:56,5:O,26:[1,59],40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,23],{36:55,35:56,5:O,26:[1,60],40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,24],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,25],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,26],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,27],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),{23:[1,61]},e(z,[2,32]),e(z,[2,48]),e(z,[2,49]),e(z,[2,50]),e(i,[2,19],{35:29,21:62,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,22],{35:29,21:63,37:U,38:Q,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),{24:[1,64]},e(i,[2,18],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,21],{36:55,35:56,5:O,40:T,41:_,42:m,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(n,r){if(r.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=r,l}},parse:function(n){var r=this,l=[0],o=[],q=[null],a=[],et=this.table,u="",st=0,qt=0,St=2,Tt=1,kt=a.slice.call(arguments,1),E=Object.create(this.lexer),J={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(J.yy[dt]=this.yy[dt]);E.setInput(n,J.yy),J.yy.lexer=E,J.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ut=E.yylloc;a.push(ut);var Ft=E.options&&E.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var j;return j=o.pop()||E.lex()||Tt,typeof j!="number"&&(j instanceof Array&&(o=j,j=o.pop()),j=r.symbols_[j]||j),j}for(var W,Z,H,xt,tt={},rt,$,mt,lt;;){if(Z=l[l.length-1],this.defaultActions[Z]?H=this.defaultActions[Z]:((W===null||typeof W>"u")&&(W=Pt()),H=et[Z]&&et[Z][W]),typeof H>"u"||!H.length||!H[0]){var ft="";lt=[];for(rt in et[Z])this.terminals_[rt]&&rt>St&<.push("'"+this.terminals_[rt]+"'");E.showPosition?ft="Parse error on line "+(st+1)+`: +`+E.showPosition()+` +Expecting `+lt.join(", ")+", got '"+(this.terminals_[W]||W)+"'":ft="Parse error on line "+(st+1)+": Unexpected "+(W==Tt?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(ft,{text:E.match,token:this.terminals_[W]||W,line:E.yylineno,loc:ut,expected:lt})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+W);switch(H[0]){case 1:l.push(W),q.push(E.yytext),a.push(E.yylloc),l.push(H[1]),W=null,qt=E.yyleng,u=E.yytext,st=E.yylineno,ut=E.yylloc;break;case 2:if($=this.productions_[H[1]][1],tt.$=q[q.length-$],tt._$={first_line:a[a.length-($||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-($||1)].first_column,last_column:a[a.length-1].last_column},Ft&&(tt._$.range=[a[a.length-($||1)].range[0],a[a.length-1].range[1]]),xt=this.performAction.apply(tt,[u,qt,st,J.yy,H[1],q,a].concat(kt)),typeof xt<"u")return xt;$&&(l=l.slice(0,-1*$*2),q=q.slice(0,-1*$),a=a.slice(0,-1*$)),l.push(this.productions_[H[1]][0]),q.push(tt.$),a.push(tt._$),mt=et[l[l.length-2]][l[l.length-1]],l.push(mt);break;case 3:return!0}}return!0}},At=function(){var K={EOF:1,parseError:function(r,l){if(this.yy.parser)this.yy.parser.parseError(r,l);else throw new Error(r)},setInput:function(n,r){return this.yy=r||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var r=n.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var r=n.length,l=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===o.length?this.yylloc.first_column:0)+o[o.length-l.length].length-l[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),r=new Array(n.length+1).join("-");return n+this.upcomingInput()+` +`+r+"^"},test_match:function(n,r){var l,o,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),o=n[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],l=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var a in q)this[a]=q[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,r,l,o;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),a=0;ar[0].length)){if(r=l,o=a,this.options.backtrack_lexer){if(n=this.test_match(l,q[a]),n!==!1)return n;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(n=this.test_match(r,q[o]),n!==!1?n:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){var r=this.conditionStack.length-1;return r>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(r){return r=this.conditionStack.length-1-Math.abs(r||0),r>=0?this.conditionStack[r]:"INITIAL"},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(r,l,o,q){switch(o){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return K}();ht.lexer=At;function ct(){this.yy={}}return ct.prototype=ht,ht.Parser=ct,new ct}();pt.parser=pt;const Rt=pt,R=vt();class Vt{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var s,h,x,f,d,c,g,i,y,p,B,N,V,I,b,M,X,C;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((s=D.quadrantChart)==null?void 0:s.chartWidth)||500,chartWidth:((h=D.quadrantChart)==null?void 0:h.chartHeight)||500,titlePadding:((x=D.quadrantChart)==null?void 0:x.titlePadding)||10,titleFontSize:((f=D.quadrantChart)==null?void 0:f.titleFontSize)||20,quadrantPadding:((d=D.quadrantChart)==null?void 0:d.quadrantPadding)||5,xAxisLabelPadding:((c=D.quadrantChart)==null?void 0:c.xAxisLabelPadding)||5,yAxisLabelPadding:((g=D.quadrantChart)==null?void 0:g.yAxisLabelPadding)||5,xAxisLabelFontSize:((i=D.quadrantChart)==null?void 0:i.xAxisLabelFontSize)||16,yAxisLabelFontSize:((y=D.quadrantChart)==null?void 0:y.yAxisLabelFontSize)||16,quadrantLabelFontSize:((p=D.quadrantChart)==null?void 0:p.quadrantLabelFontSize)||16,quadrantTextTopPadding:((B=D.quadrantChart)==null?void 0:B.quadrantTextTopPadding)||5,pointTextPadding:((N=D.quadrantChart)==null?void 0:N.pointTextPadding)||5,pointLabelFontSize:((V=D.quadrantChart)==null?void 0:V.pointLabelFontSize)||12,pointRadius:((I=D.quadrantChart)==null?void 0:I.pointRadius)||5,xAxisPosition:((b=D.quadrantChart)==null?void 0:b.xAxisPosition)||"top",yAxisPosition:((M=D.quadrantChart)==null?void 0:M.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((X=D.quadrantChart)==null?void 0:X.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((C=D.quadrantChart)==null?void 0:C.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:R.quadrant1Fill,quadrant2Fill:R.quadrant2Fill,quadrant3Fill:R.quadrant3Fill,quadrant4Fill:R.quadrant4Fill,quadrant1TextFill:R.quadrant1TextFill,quadrant2TextFill:R.quadrant2TextFill,quadrant3TextFill:R.quadrant3TextFill,quadrant4TextFill:R.quadrant4TextFill,quadrantPointFill:R.quadrantPointFill,quadrantPointTextFill:R.quadrantPointTextFill,quadrantXAxisTextFill:R.quadrantXAxisTextFill,quadrantYAxisTextFill:R.quadrantYAxisTextFill,quadrantTitleFill:R.quadrantTitleFill,quadrantInternalBorderStrokeFill:R.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:R.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),ot.info("clear called")}setData(s){this.data={...this.data,...s}}addPoints(s){this.data.points=[...s,...this.data.points]}setConfig(s){ot.trace("setConfig called with: ",s),this.config={...this.config,...s}}setThemeConfig(s){ot.trace("setThemeConfig called with: ",s),this.themeConfig={...this.themeConfig,...s}}calculateSpace(s,h,x,f){const d=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,c={top:s==="top"&&h?d:0,bottom:s==="bottom"&&h?d:0},g=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,i={left:this.config.yAxisPosition==="left"&&x?g:0,right:this.config.yAxisPosition==="right"&&x?g:0},y=this.config.titleFontSize+this.config.titlePadding*2,p={top:f?y:0},B=this.config.quadrantPadding+i.left,N=this.config.quadrantPadding+c.top+p.top,V=this.config.chartWidth-this.config.quadrantPadding*2-i.left-i.right,I=this.config.chartHeight-this.config.quadrantPadding*2-c.top-c.bottom-p.top,b=V/2,M=I/2;return{xAxisSpace:c,yAxisSpace:i,titleSpace:p,quadrantSpace:{quadrantLeft:B,quadrantTop:N,quadrantWidth:V,quadrantHalfWidth:b,quadrantHeight:I,quadrantHalfHeight:M}}}getAxisLabels(s,h,x,f){const{quadrantSpace:d,titleSpace:c}=f,{quadrantHalfHeight:g,quadrantHeight:i,quadrantLeft:y,quadrantHalfWidth:p,quadrantTop:B,quadrantWidth:N}=d,V=!!this.data.xAxisRightText,I=!!this.data.yAxisTopText,b=[];return this.data.xAxisLeftText&&h&&b.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:y+(V?p/2:0),y:s==="top"?this.config.xAxisLabelPadding+c.top:this.config.xAxisLabelPadding+B+i+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:V?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&h&&b.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:y+p+(V?p/2:0),y:s==="top"?this.config.xAxisLabelPadding+c.top:this.config.xAxisLabelPadding+B+i+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:V?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&x&&b.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+y+N+this.config.quadrantPadding,y:B+i-(I?g/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:I?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&x&&b.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+y+N+this.config.quadrantPadding,y:B+g-(I?g/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:I?"center":"left",horizontalPos:"top",rotation:-90}),b}getQuadrants(s){const{quadrantSpace:h}=s,{quadrantHalfHeight:x,quadrantLeft:f,quadrantHalfWidth:d,quadrantTop:c}=h,g=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:f+d,y:c,width:d,height:x,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:f,y:c,width:d,height:x,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:f,y:c+x,width:d,height:x,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:f+d,y:c+x,width:d,height:x,fill:this.themeConfig.quadrant4Fill}];for(const i of g)i.text.x=i.x+i.width/2,this.data.points.length===0?(i.text.y=i.y+i.height/2,i.text.horizontalPos="middle"):(i.text.y=i.y+this.config.quadrantTextTopPadding,i.text.horizontalPos="top");return g}getQuadrantPoints(s){const{quadrantSpace:h}=s,{quadrantHeight:x,quadrantLeft:f,quadrantTop:d,quadrantWidth:c}=h,g=_t().domain([0,1]).range([f,c+f]),i=_t().domain([0,1]).range([x+d,d]);return this.data.points.map(p=>({x:g(p.x),y:i(p.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:p.text,fill:this.themeConfig.quadrantPointTextFill,x:g(p.x),y:i(p.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(s){const h=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:x}=s,{quadrantHalfHeight:f,quadrantHeight:d,quadrantLeft:c,quadrantHalfWidth:g,quadrantTop:i,quadrantWidth:y}=x;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:c-h,y1:i,x2:c+y+h,y2:i},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:c+y,y1:i+h,x2:c+y,y2:i+d-h},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:c-h,y1:i+d,x2:c+y+h,y2:i+d},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:c,y1:i+h,x2:c,y2:i+d-h},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:c+g,y1:i+h,x2:c+g,y2:i+d-h},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:c+h,y1:i+f,x2:c+y-h,y2:i+f}]}getTitle(s){if(s)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const s=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),h=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),x=this.config.showTitle&&!!this.data.titleText,f=this.data.points.length>0?"bottom":this.config.xAxisPosition,d=this.calculateSpace(f,s,h,x);return{points:this.getQuadrantPoints(d),quadrants:this.getQuadrants(d),axisLabels:this.getAxisLabels(f,s,h,d),borderLines:this.getBorders(d),title:this.getTitle(x)}}}const Wt=yt();function G(e){return wt(e.trim(),Wt)}const w=new Vt;function Nt(e){w.setData({quadrant1Text:G(e.text)})}function Ut(e){w.setData({quadrant2Text:G(e.text)})}function Qt(e){w.setData({quadrant3Text:G(e.text)})}function Ht(e){w.setData({quadrant4Text:G(e.text)})}function Mt(e){w.setData({xAxisLeftText:G(e.text)})}function Xt(e){w.setData({xAxisRightText:G(e.text)})}function Ot(e){w.setData({yAxisTopText:G(e.text)})}function Yt(e){w.setData({yAxisBottomText:G(e.text)})}function $t(e,s,h){w.addPoints([{x:s,y:h,text:G(e.text)}])}function jt(e){w.setConfig({chartWidth:e})}function Gt(e){w.setConfig({chartHeight:e})}function Kt(){const e=yt(),{themeVariables:s,quadrantChart:h}=e;return h&&w.setConfig(h),w.setThemeConfig({quadrant1Fill:s.quadrant1Fill,quadrant2Fill:s.quadrant2Fill,quadrant3Fill:s.quadrant3Fill,quadrant4Fill:s.quadrant4Fill,quadrant1TextFill:s.quadrant1TextFill,quadrant2TextFill:s.quadrant2TextFill,quadrant3TextFill:s.quadrant3TextFill,quadrant4TextFill:s.quadrant4TextFill,quadrantPointFill:s.quadrantPointFill,quadrantPointTextFill:s.quadrantPointTextFill,quadrantXAxisTextFill:s.quadrantXAxisTextFill,quadrantYAxisTextFill:s.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:s.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:s.quadrantInternalBorderStrokeFill,quadrantTitleFill:s.quadrantTitleFill}),w.setData({titleText:bt()}),w.build()}const Jt=function(){w.clear(),It()},Zt={setWidth:jt,setHeight:Gt,setQuadrant1Text:Nt,setQuadrant2Text:Ut,setQuadrant3Text:Qt,setQuadrant4Text:Ht,setXAxisLeftText:Mt,setXAxisRightText:Xt,setYAxisTopText:Ot,setYAxisBottomText:Yt,addPoint:$t,getQuadrantData:Kt,clear:Jt,setAccTitle:Lt,getAccTitle:Ct,setDiagramTitle:zt,getDiagramTitle:bt,getAccDescription:Et,setAccDescription:Dt},te=(e,s,h,x)=>{var f,d,c;function g(t){return t==="top"?"hanging":"middle"}function i(t){return t==="left"?"start":"middle"}function y(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}const p=yt();ot.debug(`Rendering quadrant chart +`+e);const B=p.securityLevel;let N;B==="sandbox"&&(N=gt("#i"+s));const I=(B==="sandbox"?gt(N.nodes()[0].contentDocument.body):gt("body")).select(`[id="${s}"]`),b=I.append("g").attr("class","main"),M=((f=p.quadrantChart)==null?void 0:f.chartWidth)||500,X=((d=p.quadrantChart)==null?void 0:d.chartHeight)||500;Bt(I,X,M,((c=p.quadrantChart)==null?void 0:c.useMaxWidth)||!0),I.attr("viewBox","0 0 "+M+" "+X),x.db.setHeight(X),x.db.setWidth(M);const C=x.db.getQuadrantData(),it=b.append("g").attr("class","quadrants"),at=b.append("g").attr("class","border"),nt=b.append("g").attr("class","data-points"),U=b.append("g").attr("class","labels"),Q=b.append("g").attr("class","title");C.title&&Q.append("text").attr("x",0).attr("y",0).attr("fill",C.title.fill).attr("font-size",C.title.fontSize).attr("dominant-baseline",g(C.title.horizontalPos)).attr("text-anchor",i(C.title.verticalPos)).attr("transform",y(C.title)).text(C.title.text),C.borderLines&&at.selectAll("line").data(C.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);const T=it.selectAll("g.quadrant").data(C.quadrants).enter().append("g").attr("class","quadrant");T.append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill),T.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>g(t.text.horizontalPos)).attr("text-anchor",t=>i(t.text.verticalPos)).attr("transform",t=>y(t.text)).text(t=>t.text.text),U.selectAll("g.label").data(C.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>g(t.horizontalPos)).attr("text-anchor",t=>i(t.verticalPos)).attr("transform",t=>y(t));const m=nt.selectAll("g.data-point").data(C.points).enter().append("g").attr("class","data-point");m.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill),m.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>g(t.text.horizontalPos)).attr("text-anchor",t=>i(t.text.verticalPos)).attr("transform",t=>y(t.text))},ee={draw:te},le={parser:Rt,db:Zt,renderer:ee,styles:()=>""};export{le as diagram}; diff --git a/assets/chunks/requirementDiagram-87253d64.DrCA6Bm6.js b/assets/chunks/requirementDiagram-87253d64.DrCA6Bm6.js new file mode 100644 index 000000000..dab66df6a --- /dev/null +++ b/assets/chunks/requirementDiagram-87253d64.DrCA6Bm6.js @@ -0,0 +1,52 @@ +import{c as Te,s as Ce,g as Fe,b as Me,a as De,l as Ne,A as Pe,h as oe,i as Ye,j as ke}from"../app.BKabOgys.js";import{G as Ue}from"./graph.CmmHGxOl.js";import{l as Be}from"./layout.CbVLFsVb.js";import{l as Qe}from"./line._HMy3R8R.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";var ce=function(){var e=function(V,i,n,a){for(n=n||{},a=V.length;a--;n[V[a]]=i);return n},t=[1,3],l=[1,4],c=[1,5],u=[1,6],d=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],p=[1,18],h=[2,7],o=[1,22],g=[1,23],R=[1,24],A=[1,25],T=[1,26],N=[1,27],v=[1,20],k=[1,28],x=[1,29],F=[62,63],de=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],pe=[1,47],fe=[1,48],ye=[1,49],_e=[1,50],ge=[1,51],Ee=[1,52],Re=[1,53],O=[53,54],M=[1,64],D=[1,60],P=[1,61],Y=[1,62],U=[1,63],B=[1,65],j=[1,69],z=[1,70],X=[1,67],J=[1,68],m=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],ie={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(i,n,a,r,f,s,W){var _=s.length-1;switch(f){case 4:this.$=s[_].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=s[_].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:r.addRequirement(s[_-3],s[_-4]);break;case 14:r.setNewReqId(s[_-2]);break;case 15:r.setNewReqText(s[_-2]);break;case 16:r.setNewReqRisk(s[_-2]);break;case 17:r.setNewReqVerifyMethod(s[_-2]);break;case 20:this.$=r.RequirementType.REQUIREMENT;break;case 21:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=r.RiskLevel.LOW_RISK;break;case 27:this.$=r.RiskLevel.MED_RISK;break;case 28:this.$=r.RiskLevel.HIGH_RISK;break;case 29:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=r.VerifyType.VERIFY_TEST;break;case 33:r.addElement(s[_-3]);break;case 34:r.setNewElementType(s[_-2]);break;case 35:r.setNewElementDocRef(s[_-2]);break;case 38:r.addRelationship(s[_-2],s[_],s[_-4]);break;case 39:r.addRelationship(s[_-2],s[_-4],s[_]);break;case 40:this.$=r.Relationships.CONTAINS;break;case 41:this.$=r.Relationships.COPIES;break;case 42:this.$=r.Relationships.DERIVES;break;case 43:this.$=r.Relationships.SATISFIES;break;case 44:this.$=r.Relationships.VERIFIES;break;case 45:this.$=r.Relationships.REFINES;break;case 46:this.$=r.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:l,11:c,13:u},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:l,11:c,13:u},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(d,[2,6]),{3:12,4:2,6:t,9:l,11:c,13:u},{1:[2,2]},{4:17,5:p,7:13,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},e(d,[2,4]),e(d,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:p,7:31,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:32,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:33,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:34,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:35,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(F,[2,20]),e(F,[2,21]),e(F,[2,22]),e(F,[2,23]),e(F,[2,24]),e(F,[2,25]),e(de,[2,49]),e(de,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{52:54,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(O,[2,40]),e(O,[2,41]),e(O,[2,42]),e(O,[2,43]),e(O,[2,44]),e(O,[2,45]),e(O,[2,46]),{54:[1,58]},{5:M,20:59,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:66,47:X,49:J},{23:71,62:k,63:x},{23:72,62:k,63:x},e(m,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:M,20:77,21:D,24:P,26:Y,28:U,30:B},e(m,[2,19]),e(m,[2,33]),{22:[1,78]},{22:[1,79]},{5:j,30:z,46:80,47:X,49:J},e(m,[2,37]),e(m,[2,38]),e(m,[2,39]),{23:81,62:k,63:x},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(m,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(m,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:M,20:106,21:D,24:P,26:Y,28:U,30:B},{5:M,20:107,21:D,24:P,26:Y,28:U,30:B},{5:M,20:108,21:D,24:P,26:Y,28:U,30:B},{5:M,20:109,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:110,47:X,49:J},{5:j,30:z,46:111,47:X,49:J},e(m,[2,14]),e(m,[2,15]),e(m,[2,16]),e(m,[2,17]),e(m,[2,34]),e(m,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(i,n){if(n.recoverable)this.trace(i);else{var a=new Error(i);throw a.hash=n,a}},parse:function(i){var n=this,a=[0],r=[],f=[null],s=[],W=this.table,_="",Z=0,me=0,Ve=2,Ie=1,qe=s.slice.call(arguments,1),E=Object.create(this.lexer),L={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(L.yy[ne]=this.yy[ne]);E.setInput(i,L.yy),L.yy.lexer=E,L.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var se=E.yylloc;s.push(se);var Oe=E.options&&E.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var $;return $=r.pop()||E.lex()||Ie,typeof $!="number"&&($ instanceof Array&&(r=$,$=r.pop()),$=n.symbols_[$]||$),$}for(var I,C,S,ae,Q={},ee,w,be,te;;){if(C=a[a.length-1],this.defaultActions[C]?S=this.defaultActions[C]:((I===null||typeof I>"u")&&(I=Le()),S=W[C]&&W[C][I]),typeof S>"u"||!S.length||!S[0]){var le="";te=[];for(ee in W[C])this.terminals_[ee]&&ee>Ve&&te.push("'"+this.terminals_[ee]+"'");E.showPosition?le="Parse error on line "+(Z+1)+`: +`+E.showPosition()+` +Expecting `+te.join(", ")+", got '"+(this.terminals_[I]||I)+"'":le="Parse error on line "+(Z+1)+": Unexpected "+(I==Ie?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(le,{text:E.match,token:this.terminals_[I]||I,line:E.yylineno,loc:se,expected:te})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+I);switch(S[0]){case 1:a.push(I),f.push(E.yytext),s.push(E.yylloc),a.push(S[1]),I=null,me=E.yyleng,_=E.yytext,Z=E.yylineno,se=E.yylloc;break;case 2:if(w=this.productions_[S[1]][1],Q.$=f[f.length-w],Q._$={first_line:s[s.length-(w||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(w||1)].first_column,last_column:s[s.length-1].last_column},Oe&&(Q._$.range=[s[s.length-(w||1)].range[0],s[s.length-1].range[1]]),ae=this.performAction.apply(Q,[_,me,Z,L.yy,S[1],f,s].concat(qe)),typeof ae<"u")return ae;w&&(a=a.slice(0,-1*w*2),f=f.slice(0,-1*w),s=s.slice(0,-1*w)),a.push(this.productions_[S[1]][0]),f.push(Q.$),s.push(Q._$),be=W[a[a.length-2]][a[a.length-1]],a.push(be);break;case 3:return!0}}return!0}},$e=function(){var V={EOF:1,parseError:function(n,a){if(this.yy.parser)this.yy.parser.parseError(n,a);else throw new Error(n)},setInput:function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var n=i.length,a=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===r.length?this.yylloc.first_column:0)+r[r.length-a.length].length-a[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+n+"^"},test_match:function(i,n){var a,r,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),r=i[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],a=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack){for(var s in f)this[s]=f[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,n,a,r;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),s=0;sn[0].length)){if(n=a,r=s,this.options.backtrack_lexer){if(i=this.test_match(a,f[s]),i!==!1)return i;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(i=this.test_match(n,f[r]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return n||this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(n){this.begin(n)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(n,a,r,f){switch(r){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return a.yytext=a.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return V}();ie.lexer=$e;function re(){this.yy={}}return re.prototype=ie,ie.Parser=re,new re}();ce.parser=ce;const He=ce;let ue=[],b={},K={},q={},G={};const We={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},Ke={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},Ge={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},je={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},ze=(e,t)=>(K[e]===void 0&&(K[e]={name:e,type:t,id:b.id,text:b.text,risk:b.risk,verifyMethod:b.verifyMethod}),b={},K[e]),Xe=()=>K,Je=e=>{b!==void 0&&(b.id=e)},Ze=e=>{b!==void 0&&(b.text=e)},et=e=>{b!==void 0&&(b.risk=e)},tt=e=>{b!==void 0&&(b.verifyMethod=e)},it=e=>(G[e]===void 0&&(G[e]={name:e,type:q.type,docRef:q.docRef},Ne.info("Added new requirement: ",e)),q={},G[e]),rt=()=>G,nt=e=>{q!==void 0&&(q.type=e)},st=e=>{q!==void 0&&(q.docRef=e)},at=(e,t,l)=>{ue.push({type:e,src:t,dst:l})},lt=()=>ue,ot=()=>{ue=[],b={},K={},q={},G={},Pe()},ct={RequirementType:We,RiskLevel:Ke,VerifyType:Ge,Relationships:je,getConfig:()=>Te().req,addRequirement:ze,getRequirements:Xe,setNewReqId:Je,setNewReqText:Ze,setNewReqRisk:et,setNewReqVerifyMethod:tt,setAccTitle:Ce,getAccTitle:Fe,setAccDescription:Me,getAccDescription:De,addElement:it,getElements:rt,setNewElementType:nt,setNewElementDocRef:st,addRelationship:at,getRelationships:lt,clear:ot},ht=e=>` + + marker { + fill: ${e.relationColor}; + stroke: ${e.relationColor}; + } + + marker.cross { + stroke: ${e.lineColor}; + } + + svg { + font-family: ${e.fontFamily}; + font-size: ${e.fontSize}; + } + + .reqBox { + fill: ${e.requirementBackground}; + fill-opacity: 1.0; + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${e.requirementTextColor}; + } + .reqLabelBox { + fill: ${e.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + .relationshipLine { + stroke: ${e.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${e.relationLabelColor}; + } + +`,ut=ht,he={CONTAINS:"contains",ARROW:"arrow"},dt=(e,t)=>{let l=e.append("defs").append("marker").attr("id",he.CONTAINS+"_line_ending").attr("refX",0).attr("refY",t.line_height/2).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("g");l.append("circle").attr("cx",t.line_height/2).attr("cy",t.line_height/2).attr("r",t.line_height/2).attr("fill","none"),l.append("line").attr("x1",0).attr("x2",t.line_height).attr("y1",t.line_height/2).attr("y2",t.line_height/2).attr("stroke-width",1),l.append("line").attr("y1",0).attr("y2",t.line_height).attr("x1",t.line_height/2).attr("x2",t.line_height/2).attr("stroke-width",1),e.append("defs").append("marker").attr("id",he.ARROW+"_line_ending").attr("refX",t.line_height).attr("refY",.5*t.line_height).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${t.line_height},${t.line_height/2} + M${t.line_height},${t.line_height/2} + L0,${t.line_height}`).attr("stroke-width",1)},xe={ReqMarkers:he,insertLineEndings:dt};let y={},Se=0;const Ae=(e,t)=>e.insert("rect","#"+t).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",y.rect_min_width+"px").attr("height",y.rect_min_height+"px"),ve=(e,t,l)=>{let c=y.rect_min_width/2,u=e.append("text").attr("class","req reqLabel reqTitle").attr("id",t).attr("x",c).attr("y",y.rect_padding).attr("dominant-baseline","hanging"),d=0;l.forEach(g=>{d==0?u.append("tspan").attr("text-anchor","middle").attr("x",y.rect_min_width/2).attr("dy",0).text(g):u.append("tspan").attr("text-anchor","middle").attr("x",y.rect_min_width/2).attr("dy",y.line_height*.75).text(g),d++});let p=1.5*y.rect_padding,h=d*y.line_height*.75,o=p+h;return e.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",y.rect_min_width).attr("y1",o).attr("y2",o),{titleNode:u,y:o}},we=(e,t,l,c)=>{let u=e.append("text").attr("class","req reqLabel").attr("id",t).attr("x",y.rect_padding).attr("y",c).attr("dominant-baseline","hanging"),d=0;const p=30;let h=[];return l.forEach(o=>{let g=o.length;for(;g>p&&d<3;){let R=o.substring(0,p);o=o.substring(p,o.length),g=o.length,h[h.length]=R,d++}if(d==3){let R=h[h.length-1];h[h.length-1]=R.substring(0,R.length-4)+"..."}else h[h.length]=o;d=0}),h.forEach(o=>{u.append("tspan").attr("x",y.rect_padding).attr("dy",y.line_height).text(o)}),u},pt=(e,t,l,c)=>{const u=t.node().getTotalLength(),d=t.node().getPointAtLength(u*.5),p="rel"+Se;Se++;const o=e.append("text").attr("class","req relationshipLabel").attr("id",p).attr("x",d.x).attr("y",d.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(c).node().getBBox();e.insert("rect","#"+p).attr("class","req reqLabelBox").attr("x",d.x-o.width/2).attr("y",d.y-o.height/2).attr("width",o.width).attr("height",o.height).attr("fill","white").attr("fill-opacity","85%")},ft=function(e,t,l,c,u){const d=l.edge(H(t.src),H(t.dst)),p=Qe().x(function(o){return o.x}).y(function(o){return o.y}),h=e.insert("path","#"+c).attr("class","er relationshipLine").attr("d",p(d.points)).attr("fill","none");t.type==u.db.Relationships.CONTAINS?h.attr("marker-start","url("+ke.getUrl(y.arrowMarkerAbsolute)+"#"+t.type+"_line_ending)"):(h.attr("stroke-dasharray","10,7"),h.attr("marker-end","url("+ke.getUrl(y.arrowMarkerAbsolute)+"#"+xe.ReqMarkers.ARROW+"_line_ending)")),pt(e,h,y,`<<${t.type}>>`)},yt=(e,t,l)=>{Object.keys(e).forEach(c=>{let u=e[c];c=H(c),Ne.info("Added new requirement: ",c);const d=l.append("g").attr("id",c),p="req-"+c,h=Ae(d,p);let o=ve(d,c+"_title",[`<<${u.type}>>`,`${u.name}`]);we(d,c+"_body",[`Id: ${u.id}`,`Text: ${u.text}`,`Risk: ${u.risk}`,`Verification: ${u.verifyMethod}`],o.y);const g=h.node().getBBox();t.setNode(c,{width:g.width,height:g.height,shape:"rect",id:c})})},_t=(e,t,l)=>{Object.keys(e).forEach(c=>{let u=e[c];const d=H(c),p=l.append("g").attr("id",d),h="element-"+d,o=Ae(p,h);let g=ve(p,h+"_title",["<>",`${c}`]);we(p,h+"_body",[`Type: ${u.type||"Not Specified"}`,`Doc Ref: ${u.docRef||"None"}`],g.y);const R=o.node().getBBox();t.setNode(d,{width:R.width,height:R.height,shape:"rect",id:d})})},gt=(e,t)=>(e.forEach(function(l){let c=H(l.src),u=H(l.dst);t.setEdge(c,u,{relationship:l})}),e),Et=function(e,t){t.nodes().forEach(function(l){l!==void 0&&t.node(l)!==void 0&&(e.select("#"+l),e.select("#"+l).attr("transform","translate("+(t.node(l).x-t.node(l).width/2)+","+(t.node(l).y-t.node(l).height/2)+" )"))})},H=e=>e.replace(/\s/g,"").replace(/\./g,"_"),Rt=(e,t,l,c)=>{y=Te().requirement;const u=y.securityLevel;let d;u==="sandbox"&&(d=oe("#i"+t));const h=(u==="sandbox"?oe(d.nodes()[0].contentDocument.body):oe("body")).select(`[id='${t}']`);xe.insertLineEndings(h,y);const o=new Ue({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:y.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let g=c.db.getRequirements(),R=c.db.getElements(),A=c.db.getRelationships();yt(g,o,h),_t(R,o,h),gt(A,o),Be(o),Et(h,o),A.forEach(function(x){ft(h,x,o,t,c)});const T=y.rect_padding,N=h.node().getBBox(),v=N.width+T*2,k=N.height+T*2;Ye(h,k,v,y.useMaxWidth),h.attr("viewBox",`${N.x-T} ${N.y-T} ${v} ${k}`)},mt={draw:Rt},vt={parser:He,db:ct,renderer:mt,styles:ut};export{vt as diagram}; diff --git a/assets/chunks/sankeyDiagram-707fac0f.B9hhT9kO.js b/assets/chunks/sankeyDiagram-707fac0f.B9hhT9kO.js new file mode 100644 index 000000000..c5918ed23 --- /dev/null +++ b/assets/chunks/sankeyDiagram-707fac0f.B9hhT9kO.js @@ -0,0 +1,8 @@ +import{c as rt,g as mt,s as kt,a as _t,b as xt,y as vt,x as bt,A as wt,j as St,v as Lt,h as G,u as Et}from"../app.BKabOgys.js";import{o as At}from"./ordinal.BYWQX77i.js";import{s as Tt}from"./Tableau10.B-NsZVaP.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./init.Gi6I4Gst.js";function ot(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function yt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function Z(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Mt(t){return t.target.depth}function Nt(t){return t.depth}function Pt(t,n){return n-1-t.height}function dt(t,n){return t.sourceLinks.length?t.depth:n-1}function Ct(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?yt(t.sourceLinks,Mt)-1:0}function Y(t){return function(){return t}}function lt(t,n){return H(t.source,n.source)||t.index-n.index}function at(t,n){return H(t.target,n.target)||t.index-n.index}function H(t,n){return t.y0-n.y0}function J(t){return t.value}function It(t){return t.index}function $t(t){return t.nodes}function Ot(t){return t.links}function ct(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function ut({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function jt(){let t=0,n=0,s=1,a=1,u=24,_=8,g,p=It,i=dt,o,c,m=$t,b=Ot,y=6;function x(){const e={nodes:m.apply(null,arguments),links:b.apply(null,arguments)};return E(e),L(e),A(e),N(e),S(e),ut(e),e}x.update=function(e){return ut(e),e},x.nodeId=function(e){return arguments.length?(p=typeof e=="function"?e:Y(e),x):p},x.nodeAlign=function(e){return arguments.length?(i=typeof e=="function"?e:Y(e),x):i},x.nodeSort=function(e){return arguments.length?(o=e,x):o},x.nodeWidth=function(e){return arguments.length?(u=+e,x):u},x.nodePadding=function(e){return arguments.length?(_=g=+e,x):_},x.nodes=function(e){return arguments.length?(m=typeof e=="function"?e:Y(e),x):m},x.links=function(e){return arguments.length?(b=typeof e=="function"?e:Y(e),x):b},x.linkSort=function(e){return arguments.length?(c=e,x):c},x.size=function(e){return arguments.length?(t=n=0,s=+e[0],a=+e[1],x):[s-t,a-n]},x.extent=function(e){return arguments.length?(t=+e[0][0],s=+e[1][0],n=+e[0][1],a=+e[1][1],x):[[t,n],[s,a]]},x.iterations=function(e){return arguments.length?(y=+e,x):y};function E({nodes:e,links:f}){for(const[h,r]of e.entries())r.index=h,r.sourceLinks=[],r.targetLinks=[];const l=new Map(e.map((h,r)=>[p(h,r,e),h]));for(const[h,r]of f.entries()){r.index=h;let{source:k,target:v}=r;typeof k!="object"&&(k=r.source=ct(l,k)),typeof v!="object"&&(v=r.target=ct(l,v)),k.sourceLinks.push(r),v.targetLinks.push(r)}if(c!=null)for(const{sourceLinks:h,targetLinks:r}of e)h.sort(c),r.sort(c)}function L({nodes:e}){for(const f of e)f.value=f.fixedValue===void 0?Math.max(Z(f.sourceLinks,J),Z(f.targetLinks,J)):f.fixedValue}function A({nodes:e}){const f=e.length;let l=new Set(e),h=new Set,r=0;for(;l.size;){for(const k of l){k.depth=r;for(const{target:v}of k.sourceLinks)h.add(v)}if(++r>f)throw new Error("circular link");l=h,h=new Set}}function N({nodes:e}){const f=e.length;let l=new Set(e),h=new Set,r=0;for(;l.size;){for(const k of l){k.height=r;for(const{source:v}of k.targetLinks)h.add(v)}if(++r>f)throw new Error("circular link");l=h,h=new Set}}function I({nodes:e}){const f=ot(e,r=>r.depth)+1,l=(s-t-u)/(f-1),h=new Array(f);for(const r of e){const k=Math.max(0,Math.min(f-1,Math.floor(i.call(null,r,f))));r.layer=k,r.x0=t+k*l,r.x1=r.x0+u,h[k]?h[k].push(r):h[k]=[r]}if(o)for(const r of h)r.sort(o);return h}function j(e){const f=yt(e,l=>(a-n-(l.length-1)*g)/Z(l,J));for(const l of e){let h=n;for(const r of l){r.y0=h,r.y1=h+r.value*f,h=r.y1+g;for(const k of r.sourceLinks)k.width=k.value*f}h=(a-h+g)/(l.length+1);for(let r=0;rl.length)-1)),j(f);for(let l=0;l0))continue;let U=(R/z-v.y0)*f;v.y0+=U,v.y1+=U,w(v)}o===void 0&&k.sort(H),P(k,l)}}function O(e,f,l){for(let h=e.length,r=h-2;r>=0;--r){const k=e[r];for(const v of k){let R=0,z=0;for(const{target:W,value:K}of v.sourceLinks){let F=K*(W.layer-v.layer);R+=V(v,W)*F,z+=F}if(!(z>0))continue;let U=(R/z-v.y0)*f;v.y0+=U,v.y1+=U,w(v)}o===void 0&&k.sort(H),P(k,l)}}function P(e,f){const l=e.length>>1,h=e[l];d(e,h.y0-g,l-1,f),C(e,h.y1+g,l+1,f),d(e,a,e.length-1,f),C(e,n,0,f)}function C(e,f,l,h){for(;l1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+g}}function d(e,f,l,h){for(;l>=0;--l){const r=e[l],k=(r.y1-f)*h;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-g}}function w({sourceLinks:e,targetLinks:f}){if(c===void 0){for(const{source:{sourceLinks:l}}of f)l.sort(at);for(const{target:{targetLinks:l}}of e)l.sort(lt)}}function $(e){if(c===void 0)for(const{sourceLinks:f,targetLinks:l}of e)f.sort(at),l.sort(lt)}function T(e,f){let l=e.y0-(e.sourceLinks.length-1)*g/2;for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;l+=r+g}for(const{source:h,width:r}of f.targetLinks){if(h===e)break;l-=r}return l}function V(e,f){let l=f.y0-(f.targetLinks.length-1)*g/2;for(const{source:h,width:r}of f.targetLinks){if(h===e)break;l+=r+g}for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;l-=r}return l}return x}var tt=Math.PI,et=2*tt,D=1e-6,zt=et-D;function nt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function gt(){return new nt}nt.prototype=gt.prototype={constructor:nt,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,_){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+_)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var _=this._x1,g=this._y1,p=s-t,i=a-n,o=_-t,c=g-n,m=o*o+c*c;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(m>D)if(!(Math.abs(c*p-i*o)>D)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var b=s-_,y=a-g,x=p*p+i*i,E=b*b+y*y,L=Math.sqrt(x),A=Math.sqrt(m),N=u*Math.tan((tt-Math.acos((x+m-E)/(2*L*A)))/2),I=N/A,j=N/L;Math.abs(I-1)>D&&(this._+="L"+(t+I*o)+","+(n+I*c)),this._+="A"+u+","+u+",0,0,"+ +(c*b>o*y)+","+(this._x1=t+j*p)+","+(this._y1=n+j*i)}},arc:function(t,n,s,a,u,_){t=+t,n=+n,s=+s,_=!!_;var g=s*Math.cos(a),p=s*Math.sin(a),i=t+g,o=n+p,c=1^_,m=_?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+i+","+o:(Math.abs(this._x1-i)>D||Math.abs(this._y1-o)>D)&&(this._+="L"+i+","+o),s&&(m<0&&(m=m%et+et),m>zt?this._+="A"+s+","+s+",0,1,"+c+","+(t-g)+","+(n-p)+"A"+s+","+s+",0,1,"+c+","+(this._x1=i)+","+(this._y1=o):m>D&&(this._+="A"+s+","+s+",0,"+ +(m>=tt)+","+c+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function ht(t){return function(){return t}}function Dt(t){return t[0]}function Bt(t){return t[1]}var Vt=Array.prototype.slice;function Rt(t){return t.source}function Ut(t){return t.target}function Wt(t){var n=Rt,s=Ut,a=Dt,u=Bt,_=null;function g(){var p,i=Vt.call(arguments),o=n.apply(this,i),c=s.apply(this,i);if(_||(_=p=gt()),t(_,+a.apply(this,(i[0]=o,i)),+u.apply(this,i),+a.apply(this,(i[0]=c,i)),+u.apply(this,i)),p)return _=null,p+""||null}return g.source=function(p){return arguments.length?(n=p,g):n},g.target=function(p){return arguments.length?(s=p,g):s},g.x=function(p){return arguments.length?(a=typeof p=="function"?p:ht(+p),g):a},g.y=function(p){return arguments.length?(u=typeof p=="function"?p:ht(+p),g):u},g.context=function(p){return arguments.length?(_=p??null,g):_},g}function Ft(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Gt(){return Wt(Ft)}function Yt(t){return[t.source.x1,t.y0]}function Ht(t){return[t.target.x0,t.y1]}function Xt(){return Gt().source(Yt).target(Ht)}var it=function(){var t=function(p,i,o,c){for(o=o||{},c=p.length;c--;o[p[c]]=i);return o},n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(i,o,c,m,b,y,x){var E=y.length-1;switch(b){case 7:const L=m.findOrCreateNode(y[E-4].trim().replaceAll('""','"')),A=m.findOrCreateNode(y[E-2].trim().replaceAll('""','"')),N=parseFloat(y[E].trim());m.addLink(L,A,N);break;case 8:case 9:case 11:this.$=y[E];break;case 10:this.$=y[E-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(i,o){if(o.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=o,c}},parse:function(i){var o=this,c=[0],m=[],b=[null],y=[],x=this.table,E="",L=0,A=0,N=2,I=1,j=y.slice.call(arguments,1),S=Object.create(this.lexer),M={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(M.yy[O]=this.yy[O]);S.setInput(i,M.yy),M.yy.lexer=S,M.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var P=S.yylloc;y.push(P);var C=S.options&&S.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d(){var v;return v=m.pop()||S.lex()||I,typeof v!="number"&&(v instanceof Array&&(m=v,v=m.pop()),v=o.symbols_[v]||v),v}for(var w,$,T,V,e={},f,l,h,r;;){if($=c[c.length-1],this.defaultActions[$]?T=this.defaultActions[$]:((w===null||typeof w>"u")&&(w=d()),T=x[$]&&x[$][w]),typeof T>"u"||!T.length||!T[0]){var k="";r=[];for(f in x[$])this.terminals_[f]&&f>N&&r.push("'"+this.terminals_[f]+"'");S.showPosition?k="Parse error on line "+(L+1)+`: +`+S.showPosition()+` +Expecting `+r.join(", ")+", got '"+(this.terminals_[w]||w)+"'":k="Parse error on line "+(L+1)+": Unexpected "+(w==I?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(k,{text:S.match,token:this.terminals_[w]||w,line:S.yylineno,loc:P,expected:r})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+w);switch(T[0]){case 1:c.push(w),b.push(S.yytext),y.push(S.yylloc),c.push(T[1]),w=null,A=S.yyleng,E=S.yytext,L=S.yylineno,P=S.yylloc;break;case 2:if(l=this.productions_[T[1]][1],e.$=b[b.length-l],e._$={first_line:y[y.length-(l||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(l||1)].first_column,last_column:y[y.length-1].last_column},C&&(e._$.range=[y[y.length-(l||1)].range[0],y[y.length-1].range[1]]),V=this.performAction.apply(e,[E,A,L,M.yy,T[1],b,y].concat(j)),typeof V<"u")return V;l&&(c=c.slice(0,-1*l*2),b=b.slice(0,-1*l),y=y.slice(0,-1*l)),c.push(this.productions_[T[1]][0]),b.push(e.$),y.push(e._$),h=x[c[c.length-2]][c[c.length-1]],c.push(h);break;case 3:return!0}}return!0}},_=function(){var p={EOF:1,parseError:function(o,c){if(this.yy.parser)this.yy.parser.parseError(o,c);else throw new Error(o)},setInput:function(i,o){return this.yy=o||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var o=i.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var o=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===m.length?this.yylloc.first_column:0)+m[m.length-c.length].length-c[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),o=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+o+"^"},test_match:function(i,o){var c,m,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),m=i[0].match(/(?:\r\n?|\n).*/g),m&&(this.yylineno+=m.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:m?m[m.length-1].length-m[m.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],c=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var y in b)this[y]=b[y];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,o,c,m;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),y=0;yo[0].length)){if(o=c,m=y,this.options.backtrack_lexer){if(i=this.test_match(c,b[y]),i!==!1)return i;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(i=this.test_match(o,b[m]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var o=this.next();return o||this.lex()},begin:function(o){this.conditionStack.push(o)},popState:function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},pushState:function(o){this.begin(o)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(o,c,m,b){switch(m){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return p}();u.lexer=_;function g(){this.yy={}}return g.prototype=u,u.Parser=g,new g}();it.parser=it;const X=it;let q=[],Q=[],B={};const qt=()=>{q=[],Q=[],B={},wt()};class Qt{constructor(n,s,a=0){this.source=n,this.target=s,this.value=a}}const Kt=(t,n,s)=>{q.push(new Qt(t,n,s))};class Zt{constructor(n){this.ID=n}}const Jt=t=>(t=St.sanitizeText(t,rt()),B[t]||(B[t]=new Zt(t),Q.push(B[t])),B[t]),te=()=>Q,ee=()=>q,ne=()=>({nodes:Q.map(t=>({id:t.ID})),links:q.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),ie={nodesMap:B,getConfig:()=>rt().sankey,getNodes:te,getLinks:ee,getGraph:ne,addLink:Kt,findOrCreateNode:Jt,getAccTitle:mt,setAccTitle:kt,getAccDescription:_t,setAccDescription:xt,getDiagramTitle:vt,setDiagramTitle:bt,clear:qt},pt=class st{static next(n){return new st(n+ ++st.count)}constructor(n){this.id=n,this.href=`#${n}`}toString(){return"url("+this.href+")"}};pt.count=0;let ft=pt;const se={left:Nt,right:Pt,center:Ct,justify:dt},re=function(t,n,s,a){const{securityLevel:u,sankey:_}=rt(),g=Lt.sankey;let p;u==="sandbox"&&(p=G("#i"+n));const i=u==="sandbox"?G(p.nodes()[0].contentDocument.body):G("body"),o=u==="sandbox"?i.select(`[id="${n}"]`):G(`[id="${n}"]`),c=(_==null?void 0:_.width)??g.width,m=(_==null?void 0:_.height)??g.width,b=(_==null?void 0:_.useMaxWidth)??g.useMaxWidth,y=(_==null?void 0:_.nodeAlignment)??g.nodeAlignment,x=(_==null?void 0:_.prefix)??g.prefix,E=(_==null?void 0:_.suffix)??g.suffix,L=(_==null?void 0:_.showValues)??g.showValues,A=a.db.getGraph(),N=se[y];jt().nodeId(d=>d.id).nodeWidth(10).nodePadding(10+(L?15:0)).nodeAlign(N).extent([[0,0],[c,m]])(A);const S=At(Tt);o.append("g").attr("class","nodes").selectAll(".node").data(A.nodes).join("g").attr("class","node").attr("id",d=>(d.uid=ft.next("node-")).id).attr("transform",function(d){return"translate("+d.x0+","+d.y0+")"}).attr("x",d=>d.x0).attr("y",d=>d.y0).append("rect").attr("height",d=>d.y1-d.y0).attr("width",d=>d.x1-d.x0).attr("fill",d=>S(d.id));const M=({id:d,value:w})=>L?`${d} +${x}${Math.round(w*100)/100}${E}`:d;o.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(A.nodes).join("text").attr("x",d=>d.x0(d.y1+d.y0)/2).attr("dy",`${L?"0":"0.35"}em`).attr("text-anchor",d=>d.x0(w.uid=ft.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",w=>w.source.x1).attr("x2",w=>w.target.x0);d.append("stop").attr("offset","0%").attr("stop-color",w=>S(w.source.id)),d.append("stop").attr("offset","100%").attr("stop-color",w=>S(w.target.id))}let C;switch(P){case"gradient":C=d=>d.uid;break;case"source":C=d=>S(d.source.id);break;case"target":C=d=>S(d.target.id);break;default:C=P}O.append("path").attr("d",Xt()).attr("stroke",C).attr("stroke-width",d=>Math.max(1,d.width)),Et(void 0,o,0,b)},oe={draw:re},le=t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),ae=X.parse.bind(X);X.parse=t=>ae(le(t));const ge={parser:X,db:ie,renderer:oe};export{ge as diagram}; diff --git a/assets/chunks/sequenceDiagram-6894f283.xdiF0jQs.js b/assets/chunks/sequenceDiagram-6894f283.xdiF0jQs.js new file mode 100644 index 000000000..a3e3f8a12 --- /dev/null +++ b/assets/chunks/sequenceDiagram-6894f283.xdiF0jQs.js @@ -0,0 +1,122 @@ +import{g as we,y as ve,x as _e,c as st,s as $t,b as ke,a as Pe,A as Le,l as X,d as At,j as v,e as Ie,h as Lt,i as Ae,z as B,a_ as nt,a$ as wt,m as te,r as ee,aZ as Bt,aL as se,b0 as Ne}from"../app.BKabOgys.js";import{d as Se,a as Me,g as Nt,b as zt,c as Re,e as Ce}from"./svgDrawCommon-5e1cfd1d.IQKLCKK_.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";var Yt=function(){var t=function(dt,w,k,L){for(k=k||{},L=dt.length;L--;k[dt[L]]=w);return k},e=[1,2],c=[1,3],s=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,13],p=[1,14],r=[1,16],x=[1,17],T=[1,18],u=[1,24],g=[1,25],m=[1,26],_=[1,27],I=[1,28],V=[1,29],S=[1,30],O=[1,31],R=[1,32],q=[1,33],z=[1,34],J=[1,35],$=[1,36],H=[1,37],U=[1,38],F=[1,39],W=[1,41],Z=[1,42],K=[1,43],Q=[1,44],tt=[1,45],N=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],P=[4,5,16,50,52,53],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],rt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],A=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Gt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],ht=[68,69,70],ot=[1,120],Mt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(w,k,L,b,M,h,Et){var d=h.length-1;switch(M){case 3:return b.apply(h[d]),h[d];case 4:case 9:this.$=[];break;case 5:case 10:h[d-1].push(h[d]),this.$=h[d-1];break;case 6:case 7:case 11:case 12:this.$=h[d];break;case 8:case 13:this.$=[];break;case 15:h[d].type="createParticipant",this.$=h[d];break;case 16:h[d-1].unshift({type:"boxStart",boxData:b.parseBoxData(h[d-2])}),h[d-1].push({type:"boxEnd",boxText:h[d-2]}),this.$=h[d-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(h[d-2]),sequenceIndexStep:Number(h[d-1]),sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(h[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:b.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:h[d-1]};break;case 23:this.$={type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:h[d-1]};break;case 29:b.setDiagramTitle(h[d].substring(6)),this.$=h[d].substring(6);break;case 30:b.setDiagramTitle(h[d].substring(7)),this.$=h[d].substring(7);break;case 31:this.$=h[d].trim(),b.setAccTitle(this.$);break;case 32:case 33:this.$=h[d].trim(),b.setAccDescription(this.$);break;case 34:h[d-1].unshift({type:"loopStart",loopText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.LOOP_START}),h[d-1].push({type:"loopEnd",loopText:h[d-2],signalType:b.LINETYPE.LOOP_END}),this.$=h[d-1];break;case 35:h[d-1].unshift({type:"rectStart",color:b.parseMessage(h[d-2]),signalType:b.LINETYPE.RECT_START}),h[d-1].push({type:"rectEnd",color:b.parseMessage(h[d-2]),signalType:b.LINETYPE.RECT_END}),this.$=h[d-1];break;case 36:h[d-1].unshift({type:"optStart",optText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.OPT_START}),h[d-1].push({type:"optEnd",optText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.OPT_END}),this.$=h[d-1];break;case 37:h[d-1].unshift({type:"altStart",altText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.ALT_START}),h[d-1].push({type:"altEnd",signalType:b.LINETYPE.ALT_END}),this.$=h[d-1];break;case 38:h[d-1].unshift({type:"parStart",parText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.PAR_START}),h[d-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=h[d-1];break;case 39:h[d-1].unshift({type:"parStart",parText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.PAR_OVER_START}),h[d-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=h[d-1];break;case 40:h[d-1].unshift({type:"criticalStart",criticalText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.CRITICAL_START}),h[d-1].push({type:"criticalEnd",signalType:b.LINETYPE.CRITICAL_END}),this.$=h[d-1];break;case 41:h[d-1].unshift({type:"breakStart",breakText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.BREAK_START}),h[d-1].push({type:"breakEnd",optText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.BREAK_END}),this.$=h[d-1];break;case 43:this.$=h[d-3].concat([{type:"option",optionText:b.parseMessage(h[d-1]),signalType:b.LINETYPE.CRITICAL_OPTION},h[d]]);break;case 45:this.$=h[d-3].concat([{type:"and",parText:b.parseMessage(h[d-1]),signalType:b.LINETYPE.PAR_AND},h[d]]);break;case 47:this.$=h[d-3].concat([{type:"else",altText:b.parseMessage(h[d-1]),signalType:b.LINETYPE.ALT_ELSE},h[d]]);break;case 48:h[d-3].draw="participant",h[d-3].type="addParticipant",h[d-3].description=b.parseMessage(h[d-1]),this.$=h[d-3];break;case 49:h[d-1].draw="participant",h[d-1].type="addParticipant",this.$=h[d-1];break;case 50:h[d-3].draw="actor",h[d-3].type="addParticipant",h[d-3].description=b.parseMessage(h[d-1]),this.$=h[d-3];break;case 51:h[d-1].draw="actor",h[d-1].type="addParticipant",this.$=h[d-1];break;case 52:h[d-1].type="destroyParticipant",this.$=h[d-1];break;case 53:this.$=[h[d-1],{type:"addNote",placement:h[d-2],actor:h[d-1].actor,text:h[d]}];break;case 54:h[d-2]=[].concat(h[d-1],h[d-1]).slice(0,2),h[d-2][0]=h[d-2][0].actor,h[d-2][1]=h[d-2][1].actor,this.$=[h[d-1],{type:"addNote",placement:b.PLACEMENT.OVER,actor:h[d-2].slice(0,2),text:h[d]}];break;case 55:this.$=[h[d-1],{type:"addLinks",actor:h[d-1].actor,text:h[d]}];break;case 56:this.$=[h[d-1],{type:"addALink",actor:h[d-1].actor,text:h[d]}];break;case 57:this.$=[h[d-1],{type:"addProperties",actor:h[d-1].actor,text:h[d]}];break;case 58:this.$=[h[d-1],{type:"addDetails",actor:h[d-1].actor,text:h[d]}];break;case 61:this.$=[h[d-2],h[d]];break;case 62:this.$=h[d];break;case 63:this.$=b.PLACEMENT.LEFTOF;break;case 64:this.$=b.PLACEMENT.RIGHTOF;break;case 65:this.$=[h[d-4],h[d-1],{type:"addMessage",from:h[d-4].actor,to:h[d-1].actor,signalType:h[d-3],msg:h[d],activate:!0},{type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:h[d-1]}];break;case 66:this.$=[h[d-4],h[d-1],{type:"addMessage",from:h[d-4].actor,to:h[d-1].actor,signalType:h[d-3],msg:h[d]},{type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:h[d-4]}];break;case 67:this.$=[h[d-3],h[d-1],{type:"addMessage",from:h[d-3].actor,to:h[d-1].actor,signalType:h[d-2],msg:h[d]}];break;case 68:this.$={type:"addParticipant",actor:h[d]};break;case 69:this.$=b.LINETYPE.SOLID_OPEN;break;case 70:this.$=b.LINETYPE.DOTTED_OPEN;break;case 71:this.$=b.LINETYPE.SOLID;break;case 72:this.$=b.LINETYPE.DOTTED;break;case 73:this.$=b.LINETYPE.SOLID_CROSS;break;case 74:this.$=b.LINETYPE.DOTTED_CROSS;break;case 75:this.$=b.LINETYPE.SOLID_POINT;break;case 76:this.$=b.LINETYPE.DOTTED_POINT;break;case 77:this.$=b.parseMessage(h[d].trim().substring(1));break}},table:[{3:1,4:e,5:c,6:s},{1:[3]},{3:5,4:e,5:c,6:s},{3:6,4:e,5:c,6:s},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,12:12,13:l,14:p,17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},t(y,[2,5]),{9:47,12:12,13:l,14:p,17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},t(y,[2,7]),t(y,[2,8]),t(y,[2,14]),{12:48,50:H,52:U,53:F},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:N},{22:55,70:N},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(y,[2,29]),t(y,[2,30]),{32:[1,61]},{34:[1,62]},t(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:N},{22:72,70:N},{22:73,70:N},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:N},{22:88,70:N},{22:89,70:N},{22:90,70:N},t([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),t(y,[2,6]),t(y,[2,15]),t(P,[2,9],{10:91}),t(y,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},t(y,[2,21]),{5:[1,95]},{5:[1,96]},t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,27]),t(y,[2,28]),t(y,[2,31]),t(y,[2,32]),t(j,i,{7:97}),t(j,i,{7:98}),t(j,i,{7:99}),t(rt,i,{40:100,7:101}),t(A,i,{42:102,7:103}),t(A,i,{7:103,42:104}),t(Gt,i,{45:105,7:106}),t(j,i,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:N},t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(ht,[2,73]),t(ht,[2,74]),t(ht,[2,75]),t(ht,[2,76]),{22:116,70:N},{22:118,58:117,70:N},{70:[2,63]},{70:[2,64]},{56:119,79:ot},{56:121,79:ot},{56:122,79:ot},{56:123,79:ot},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:H,52:U,53:F},{5:[1,129]},t(y,[2,19]),t(y,[2,20]),t(y,[2,22]),t(y,[2,23]),{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,130],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,131],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,132],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{16:[1,133]},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[2,46],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,49:[1,134],50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{16:[1,135]},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[2,44],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,48:[1,136],50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{16:[1,137]},{16:[1,138]},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[2,42],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,47:[1,139],50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,140],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{15:[1,141]},t(y,[2,49]),{15:[1,142]},t(y,[2,51]),t(y,[2,52]),{22:143,70:N},{22:144,70:N},{56:145,79:ot},{56:146,79:ot},{56:147,79:ot},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(y,[2,16]),t(P,[2,10]),{12:149,50:H,52:U,53:F},t(P,[2,12]),t(P,[2,13]),t(y,[2,18]),t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),{15:[1,150]},t(y,[2,38]),{15:[1,151]},t(y,[2,39]),t(y,[2,40]),{15:[1,152]},t(y,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:ot},{56:156,79:ot},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:N},t(P,[2,11]),t(rt,i,{7:101,40:158}),t(A,i,{7:103,42:159}),t(Gt,i,{7:106,45:160}),t(y,[2,48]),t(y,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(w,k){if(k.recoverable)this.trace(w);else{var L=new Error(w);throw L.hash=k,L}},parse:function(w){var k=this,L=[0],b=[],M=[null],h=[],Et=this.table,d="",_t=0,Xt=0,Te=2,Jt=1,be=h.slice.call(arguments,1),Y=Object.create(this.lexer),pt={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(pt.yy[Ct]=this.yy[Ct]);Y.setInput(w,pt.yy),pt.yy.lexer=Y,pt.yy.parser=this,typeof Y.yylloc>"u"&&(Y.yylloc={});var Dt=Y.yylloc;h.push(Dt);var Ee=Y.options&&Y.options.ranges;typeof pt.yy.parseError=="function"?this.parseError=pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var lt;return lt=b.pop()||Y.lex()||Jt,typeof lt!="number"&&(lt instanceof Array&&(b=lt,lt=b.pop()),lt=k.symbols_[lt]||lt),lt}for(var G,ut,et,Vt,yt={},kt,ct,Zt,Pt;;){if(ut=L[L.length-1],this.defaultActions[ut]?et=this.defaultActions[ut]:((G===null||typeof G>"u")&&(G=me()),et=Et[ut]&&Et[ut][G]),typeof et>"u"||!et.length||!et[0]){var Ot="";Pt=[];for(kt in Et[ut])this.terminals_[kt]&&kt>Te&&Pt.push("'"+this.terminals_[kt]+"'");Y.showPosition?Ot="Parse error on line "+(_t+1)+`: +`+Y.showPosition()+` +Expecting `+Pt.join(", ")+", got '"+(this.terminals_[G]||G)+"'":Ot="Parse error on line "+(_t+1)+": Unexpected "+(G==Jt?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(Ot,{text:Y.match,token:this.terminals_[G]||G,line:Y.yylineno,loc:Dt,expected:Pt})}if(et[0]instanceof Array&&et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ut+", token: "+G);switch(et[0]){case 1:L.push(G),M.push(Y.yytext),h.push(Y.yylloc),L.push(et[1]),G=null,Xt=Y.yyleng,d=Y.yytext,_t=Y.yylineno,Dt=Y.yylloc;break;case 2:if(ct=this.productions_[et[1]][1],yt.$=M[M.length-ct],yt._$={first_line:h[h.length-(ct||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(ct||1)].first_column,last_column:h[h.length-1].last_column},Ee&&(yt._$.range=[h[h.length-(ct||1)].range[0],h[h.length-1].range[1]]),Vt=this.performAction.apply(yt,[d,Xt,_t,pt.yy,et[1],M,h].concat(be)),typeof Vt<"u")return Vt;ct&&(L=L.slice(0,-1*ct*2),M=M.slice(0,-1*ct),h=h.slice(0,-1*ct)),L.push(this.productions_[et[1]][0]),M.push(yt.$),h.push(yt._$),Zt=Et[L[L.length-2]][L[L.length-1]],L.push(Zt);break;case 3:return!0}}return!0}},ye=function(){var dt={EOF:1,parseError:function(k,L){if(this.yy.parser)this.yy.parser.parseError(k,L);else throw new Error(k)},setInput:function(w,k){return this.yy=k||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var k=w.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},unput:function(w){var k=w.length,L=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),L.length-1&&(this.yylineno-=L.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:L?(L.length===b.length?this.yylloc.first_column:0)+b[b.length-L.length].length-L[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(w){this.unput(this.match.slice(w))},pastInput:function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var w=this.pastInput(),k=new Array(w.length+1).join("-");return w+this.upcomingInput()+` +`+k+"^"},test_match:function(w,k){var L,b,M;if(this.options.backtrack_lexer&&(M={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(M.yylloc.range=this.yylloc.range.slice(0))),b=w[0].match(/(?:\r\n?|\n).*/g),b&&(this.yylineno+=b.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:b?b[b.length-1].length-b[b.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(w[0].length),this.matched+=w[0],L=this.performAction.call(this,this.yy,this,k,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),L)return L;if(this._backtrack){for(var h in M)this[h]=M[h];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,k,L,b;this._more||(this.yytext="",this.match="");for(var M=this._currentRules(),h=0;hk[0].length)){if(k=L,b=h,this.options.backtrack_lexer){if(w=this.test_match(L,M[h]),w!==!1)return w;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(w=this.test_match(k,M[b]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var k=this.next();return k||this.lex()},begin:function(k){this.conditionStack.push(k)},popState:function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},pushState:function(k){this.begin(k)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(k,L,b,M){switch(b){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return L.yytext=L.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return L.yytext=L.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return dt}();Mt.lexer=ye;function Rt(){this.yy={}}return Rt.prototype=Mt,Mt.Parser=Rt,new Rt}();Yt.parser=Yt;const De=Yt;class Ve{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}}const E=new Ve(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),Oe=function(t){E.records.boxes.push({name:t.text,wrap:t.wrap===void 0&>()||!!t.wrap,fill:t.color,actorKeys:[]}),E.records.currentBox=E.records.boxes.slice(-1)[0]},Ft=function(t,e,c,s){let i=E.records.currentBox;const a=E.records.actors[t];if(a){if(E.records.currentBox&&a.box&&E.records.currentBox!==a.box)throw new Error("A same participant should only be defined in one Box: "+a.name+" can't be in '"+a.box.name+"' and in '"+E.records.currentBox.name+"' at the same time.");if(i=a.box?a.box:E.records.currentBox,a.box=i,a&&e===a.name&&c==null)return}(c==null||c.text==null)&&(c={text:e,wrap:null,type:s}),(s==null||c.text==null)&&(c={text:e,wrap:null,type:s}),E.records.actors[t]={box:i,name:e,description:c.text,wrap:c.wrap===void 0&>()||!!c.wrap,prevActor:E.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:s||"participant"},E.records.prevActor&&E.records.actors[E.records.prevActor]&&(E.records.actors[E.records.prevActor].nextActor=t),E.records.currentBox&&E.records.currentBox.actorKeys.push(t),E.records.prevActor=t},Be=t=>{let e,c=0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},o}return E.records.messages.push({from:t,to:e,message:c.text,wrap:c.wrap===void 0&>()||!!c.wrap,type:s,activate:i}),!0},Fe=function(){return E.records.boxes.length>0},We=function(){return E.records.boxes.some(t=>t.name)},qe=function(){return E.records.messages},ze=function(){return E.records.boxes},He=function(){return E.records.actors},Ue=function(){return E.records.createdActors},Ke=function(){return E.records.destroyedActors},vt=function(t){return E.records.actors[t]},Ge=function(){return Object.keys(E.records.actors)},Xe=function(){E.records.sequenceNumbersEnabled=!0},Je=function(){E.records.sequenceNumbersEnabled=!1},Ze=()=>E.records.sequenceNumbersEnabled,Qe=function(t){E.records.wrapEnabled=t},gt=()=>E.records.wrapEnabled!==void 0?E.records.wrapEnabled:st().sequence.wrap,je=function(){E.reset(),Le()},$e=function(t){const e=t.trim(),c={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:e.match(/^:?wrap:/)!==null?!0:e.match(/^:?nowrap:/)!==null?!1:void 0};return X.debug("parseMessage:",c),c},t0=function(t){const e=t.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let c=e!=null&&e[1]?e[1].trim():"transparent",s=e!=null&&e[2]?e[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",c)||(c="transparent",s=t.trim());else{const i=new Option().style;i.color=c,i.color!==c&&(c="transparent",s=t.trim())}return{color:c,text:s!==void 0?At(s.replace(/^:?(?:no)?wrap:/,""),st()):void 0,wrap:s!==void 0?s.match(/^:?wrap:/)!==null?!0:s.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},mt={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},e0={FILLED:0,OPEN:1},s0={LEFTOF:0,RIGHTOF:1,OVER:2},re=function(t,e,c){const s={actor:t,placement:e,message:c.text,wrap:c.wrap===void 0&>()||!!c.wrap},i=[].concat(t,t);E.records.notes.push(s),E.records.messages.push({from:i[0],to:i[1],message:c.text,wrap:c.wrap===void 0&>()||!!c.wrap,type:mt.NOTE,placement:e})},ie=function(t,e){const c=vt(t);try{let s=At(e.text,st());s=s.replace(/&/g,"&"),s=s.replace(/=/g,"=");const i=JSON.parse(s);Ht(c,i)}catch(s){X.error("error while parsing actor link text",s)}},r0=function(t,e){const c=vt(t);try{const o={};let l=At(e.text,st());var s=l.indexOf("@");l=l.replace(/&/g,"&"),l=l.replace(/=/g,"=");var i=l.slice(0,s-1).trim(),a=l.slice(s+1).trim();o[i]=a,Ht(c,o)}catch(o){X.error("error while parsing actor link text",o)}};function Ht(t,e){if(t.links==null)t.links=e;else for(let c in e)t.links[c]=e[c]}const ae=function(t,e){const c=vt(t);try{let s=At(e.text,st());const i=JSON.parse(s);ne(c,i)}catch(s){X.error("error while parsing actor properties text",s)}};function ne(t,e){if(t.properties==null)t.properties=e;else for(let c in e)t.properties[c]=e[c]}function i0(){E.records.currentBox=void 0}const oe=function(t,e){const c=vt(t),s=document.getElementById(e.text);try{const i=s.innerHTML,a=JSON.parse(i);a.properties&&ne(c,a.properties),a.links&&Ht(c,a.links)}catch(i){X.error("error while parsing actor details text",i)}},a0=function(t,e){if(t!==void 0&&t.properties!==void 0)return t.properties[e]},ce=function(t){if(Array.isArray(t))t.forEach(function(e){ce(e)});else switch(t.type){case"sequenceIndex":E.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":Ft(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(E.records.actors[t.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");E.records.lastCreated=t.actor,Ft(t.actor,t.actor,t.description,t.draw),E.records.createdActors[t.actor]=E.records.messages.length;break;case"destroyParticipant":E.records.lastDestroyed=t.actor,E.records.destroyedActors[t.actor]=E.records.messages.length;break;case"activeStart":C(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":C(t.actor,void 0,void 0,t.signalType);break;case"addNote":re(t.actor,t.placement,t.text);break;case"addLinks":ie(t.actor,t.text);break;case"addALink":r0(t.actor,t.text);break;case"addProperties":ae(t.actor,t.text);break;case"addDetails":oe(t.actor,t.text);break;case"addMessage":if(E.records.lastCreated){if(t.to!==E.records.lastCreated)throw new Error("The created participant "+E.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");E.records.lastCreated=void 0}else if(E.records.lastDestroyed){if(t.to!==E.records.lastDestroyed&&t.from!==E.records.lastDestroyed)throw new Error("The destroyed participant "+E.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");E.records.lastDestroyed=void 0}C(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":Oe(t.boxData);break;case"boxEnd":i0();break;case"loopStart":C(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":C(void 0,void 0,void 0,t.signalType);break;case"rectStart":C(void 0,void 0,t.color,t.signalType);break;case"rectEnd":C(void 0,void 0,void 0,t.signalType);break;case"optStart":C(void 0,void 0,t.optText,t.signalType);break;case"optEnd":C(void 0,void 0,void 0,t.signalType);break;case"altStart":C(void 0,void 0,t.altText,t.signalType);break;case"else":C(void 0,void 0,t.altText,t.signalType);break;case"altEnd":C(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":$t(t.text);break;case"parStart":C(void 0,void 0,t.parText,t.signalType);break;case"and":C(void 0,void 0,t.parText,t.signalType);break;case"parEnd":C(void 0,void 0,void 0,t.signalType);break;case"criticalStart":C(void 0,void 0,t.criticalText,t.signalType);break;case"option":C(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":C(void 0,void 0,void 0,t.signalType);break;case"breakStart":C(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":C(void 0,void 0,void 0,t.signalType);break}},Qt={addActor:Ft,addMessage:Ye,addSignal:C,addLinks:ie,addDetails:oe,addProperties:ae,autoWrap:gt,setWrap:Qe,enableSequenceNumbers:Xe,disableSequenceNumbers:Je,showSequenceNumbers:Ze,getMessages:qe,getActors:He,getCreatedActors:Ue,getDestroyedActors:Ke,getActor:vt,getActorKeys:Ge,getActorProperty:a0,getAccTitle:we,getBoxes:ze,getDiagramTitle:ve,setDiagramTitle:_e,getConfig:()=>st().sequence,clear:je,parseMessage:$e,parseBoxData:t0,LINETYPE:mt,ARROWTYPE:e0,PLACEMENT:s0,addNote:re,setAccTitle:$t,apply:ce,setAccDescription:ke,getAccDescription:Pe,hasAtLeastOneBox:Fe,hasAtLeastOneBoxWithTitle:We},n0=t=>`.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } +`,o0=n0,ft=18*2,le="actor-top",he="actor-bottom",Ut=function(t,e){return Se(t,e)},c0=function(t,e,c,s,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,o=e.actorCnt,l=e.rectData;var p="none";i&&(p="block !important");const r=t.append("g");r.attr("id","actor"+o+"_popup"),r.attr("class","actorPopupMenu"),r.attr("display",p);var x="";l.class!==void 0&&(x=" "+l.class);let T=l.width>c?l.width:c;const u=r.append("rect");if(u.attr("class","actorPopupMenuPanel"+x),u.attr("x",l.x),u.attr("y",l.height),u.attr("fill",l.fill),u.attr("stroke",l.stroke),u.attr("width",T),u.attr("height",l.height),u.attr("rx",l.rx),u.attr("ry",l.ry),a!=null){var g=20;for(let I in a){var m=r.append("a"),_=te.sanitizeUrl(a[I]);m.attr("xlink:href",_),m.attr("target","_blank"),k0(s)(I,m,l.x+10,l.height+g,T,20,{class:"actor"},s),g+=30}}return u.attr("height",g),{height:l.height+g,width:T}},l0=function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},It=async function(t,e,c=null){let s=t.append("foreignObject");const i=await ee(e.text,Bt()),o=s.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(s.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),e.class==="noteText"){const l=t.node().firstChild;l.setAttribute("height",o.height+2*e.textMargin);const p=l.getBBox();s.attr("x",Math.round(p.x+p.width/2-o.width/2)).attr("y",Math.round(p.y+p.height/2-o.height/2))}else if(c){let{startx:l,stopx:p,starty:r}=c;if(l>p){const x=l;l=p,p=x}s.attr("x",Math.round(l+Math.abs(l-p)/2-o.width/2)),e.class==="loopText"?s.attr("y",Math.round(r)):s.attr("y",Math.round(r-o.height))}return[s]},bt=function(t,e){let c=0,s=0;const i=e.text.split(v.lineBreakRegex),[a,o]=se(e.fontSize);let l=[],p=0,r=()=>e.y;if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":r=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":r=()=>Math.round(e.y+(c+s+e.textMargin)/2);break;case"bottom":case"end":r=()=>Math.round(e.y+(c+s+2*e.textMargin)-e.textMargin);break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[x,T]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(p=x*a);const u=t.append("text");u.attr("x",e.x),u.attr("y",r()),e.anchor!==void 0&&u.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&u.style("font-family",e.fontFamily),o!==void 0&&u.style("font-size",o),e.fontWeight!==void 0&&u.style("font-weight",e.fontWeight),e.fill!==void 0&&u.attr("fill",e.fill),e.class!==void 0&&u.attr("class",e.class),e.dy!==void 0?u.attr("dy",e.dy):p!==0&&u.attr("dy",p);const g=T||Ne;if(e.tspan){const m=u.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(g)}else u.text(g);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(s+=(u._groups||u)[0][0].getBBox().height,c=s),l.push(u)}return l},de=function(t,e){function c(i,a,o,l,p){return i+","+a+" "+(i+o)+","+a+" "+(i+o)+","+(a+l-p)+" "+(i+o-p*1.2)+","+(a+l)+" "+i+","+(a+l)}const s=t.append("polygon");return s.attr("points",c(e.x,e.y,e.width,e.height,7)),s.attr("class","labelBox"),e.y=e.y+e.height/2,bt(t,e),s};let at=-1;const pe=(t,e,c,s)=>{t.select&&c.forEach(i=>{const a=e[i],o=t.select("#actor"+a.actorCnt);!s.mirrorActors&&a.stopy?o.attr("y2",a.stopy+a.height/2):s.mirrorActors&&o.attr("y2",a.stopy)})},h0=async function(t,e,c,s){const i=s?e.stopy:e.starty,a=e.x+e.width/2,o=i+5,l=t.append("g").lower();var p=l;s||(at++,Object.keys(e.links||{}).length&&!c.forceMenus&&p.attr("onclick",l0(`actor${at}_popup`)).attr("cursor","pointer"),p.append("line").attr("id","actor"+at).attr("x1",a).attr("y1",o).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),p=l.append("g"),e.actorCnt=at,e.links!=null&&p.attr("id","root-"+at));const r=Nt();var x="actor";e.properties!=null&&e.properties.class?x=e.properties.class:r.fill="#eaeaea",s?x+=` ${he}`:x+=` ${le}`,r.x=e.x,r.y=i,r.width=e.width,r.height=e.height,r.class=x,r.rx=3,r.ry=3,r.name=e.name;const T=Ut(p,r);if(e.rectData=r,e.properties!=null&&e.properties.icon){const g=e.properties.icon.trim();g.charAt(0)==="@"?Re(p,r.x+r.width-20,r.y+10,g.substr(1)):Ce(p,r.x+r.width-20,r.y+10,g)}await Kt(c,nt(e.description))(e.description,p,r.x,r.y,r.width,r.height,{class:"actor"},c);let u=e.height;if(T.node){const g=T.node().getBBox();e.height=g.height,u=g.height}return u},d0=async function(t,e,c,s){const i=s?e.stopy:e.starty,a=e.x+e.width/2,o=i+80;t.lower(),s||(at++,t.append("line").attr("id","actor"+at).attr("x1",a).attr("y1",o).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),e.actorCnt=at);const l=t.append("g");let p="actor-man";s?p+=` ${he}`:p+=` ${le}`,l.attr("class",p),l.attr("name",e.name);const r=Nt();r.x=e.x,r.y=i,r.fill="#eaeaea",r.width=e.width,r.height=e.height,r.class="actor",r.rx=3,r.ry=3,l.append("line").attr("id","actor-man-torso"+at).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),l.append("line").attr("id","actor-man-arms"+at).attr("x1",a-ft/2).attr("y1",i+33).attr("x2",a+ft/2).attr("y2",i+33),l.append("line").attr("x1",a-ft/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),l.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+ft/2-2).attr("y2",i+60);const x=l.append("circle");x.attr("cx",e.x+e.width/2),x.attr("cy",i+10),x.attr("r",15),x.attr("width",e.width),x.attr("height",e.height);const T=l.node().getBBox();return e.height=T.height,await Kt(c,nt(e.description))(e.description,l,r.x,r.y+35,r.width,r.height,{class:"actor"},c),e.height},p0=async function(t,e,c,s){switch(e.type){case"actor":return await d0(t,e,c,s);case"participant":return await h0(t,e,c,s)}},u0=async function(t,e,c){const i=t.append("g");ue(i,e),e.name&&await Kt(c)(e.name,i,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},c),i.lower()},f0=function(t){return t.append("g")},g0=function(t,e,c,s,i){const a=Nt(),o=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=c-e.starty,Ut(o,a)},x0=async function(t,e,c,s){const{boxMargin:i,boxTextMargin:a,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:p,messageFontSize:r,messageFontWeight:x}=s,T=t.append("g"),u=function(_,I,V,S){return T.append("line").attr("x1",_).attr("y1",I).attr("x2",V).attr("y2",S).attr("class","loopLine")};u(e.startx,e.starty,e.stopx,e.starty),u(e.stopx,e.starty,e.stopx,e.stopy),u(e.startx,e.stopy,e.stopx,e.stopy),u(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(_){u(e.startx,_.y,e.stopx,_.y).style("stroke-dasharray","3, 3")});let g=zt();g.text=c,g.x=e.startx,g.y=e.starty,g.fontFamily=p,g.fontSize=r,g.fontWeight=x,g.anchor="middle",g.valign="middle",g.tspan=!1,g.width=l||50,g.height=o||20,g.textMargin=a,g.class="labelText",de(T,g),g=fe(),g.text=e.title,g.x=e.startx+l/2+(e.stopx-e.startx)/2,g.y=e.starty+i+a,g.anchor="middle",g.valign="middle",g.textMargin=a,g.class="loopText",g.fontFamily=p,g.fontSize=r,g.fontWeight=x,g.wrap=!0;let m=nt(g.text)?await It(T,g,e):bt(T,g);if(e.sectionTitles!==void 0){for(const[_,I]of Object.entries(e.sectionTitles))if(I.message){g.text=I.message,g.x=e.startx+(e.stopx-e.startx)/2,g.y=e.sections[_].y+i+a,g.class="loopText",g.anchor="middle",g.valign="middle",g.tspan=!1,g.fontFamily=p,g.fontSize=r,g.fontWeight=x,g.wrap=e.wrap,nt(g.text)?(e.starty=e.sections[_].y,await It(T,g,e)):bt(T,g);let V=Math.round(m.map(S=>(S._groups||S)[0][0].getBBox().height).reduce((S,O)=>S+O));e.sections[_].height+=V-(i+a)}}return e.height=Math.round(e.stopy-e.starty),T},ue=function(t,e){Me(t,e)},y0=function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},T0=function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},b0=function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},E0=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},m0=function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},w0=function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},v0=function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},fe=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},_0=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Kt=function(){function t(a,o,l,p,r,x,T){const u=o.append("text").attr("x",l+r/2).attr("y",p+x/2+5).style("text-anchor","middle").text(a);i(u,T)}function e(a,o,l,p,r,x,T,u){const{actorFontSize:g,actorFontFamily:m,actorFontWeight:_}=u,[I,V]=se(g),S=a.split(v.lineBreakRegex);for(let O=0;Ot.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(t){this.boxes.push(t)},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,xe(st())},updateVal:function(t,e,c,s){t[e]===void 0?t[e]=c:t[e]=s(c,t[e])},updateBounds:function(t,e,c,s){const i=this;let a=0;function o(l){return function(r){a++;const x=i.sequenceItems.length-a+1;i.updateVal(r,"starty",e-x*n.boxMargin,Math.min),i.updateVal(r,"stopy",s+x*n.boxMargin,Math.max),i.updateVal(f.data,"startx",t-x*n.boxMargin,Math.min),i.updateVal(f.data,"stopx",c+x*n.boxMargin,Math.max),l!=="activation"&&(i.updateVal(r,"startx",t-x*n.boxMargin,Math.min),i.updateVal(r,"stopx",c+x*n.boxMargin,Math.max),i.updateVal(f.data,"starty",e-x*n.boxMargin,Math.min),i.updateVal(f.data,"stopy",s+x*n.boxMargin,Math.max))}}this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},insert:function(t,e,c,s){const i=v.getMin(t,c),a=v.getMax(t,c),o=v.getMin(e,s),l=v.getMax(e,s);this.updateVal(f.data,"startx",i,Math.min),this.updateVal(f.data,"starty",o,Math.min),this.updateVal(f.data,"stopx",a,Math.max),this.updateVal(f.data,"stopy",l,Math.max),this.updateBounds(i,o,a,l)},newActivation:function(t,e,c){const s=c[t.from.actor],i=St(t.from.actor).length||0,a=s.x+s.width/2+(i-1)*n.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+n.activationWidth,stopy:void 0,actor:t.from.actor,anchored:D.anchorElement(e)})},endActivation:function(t){const e=this.activations.map(function(c){return c.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:f.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=v.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},P0=async function(t,e){f.bumpVerticalPos(n.boxMargin),e.height=n.boxMargin,e.starty=f.getVerticalPos();const c=Nt();c.x=e.startx,c.y=e.starty,c.width=e.width||n.width,c.class="note";const s=t.append("g"),i=D.drawRect(s,c),a=zt();a.x=e.startx,a.y=e.starty,a.width=c.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=n.noteFontFamily,a.fontSize=n.noteFontSize,a.fontWeight=n.noteFontWeight,a.anchor=n.noteAlign,a.textMargin=n.noteMargin,a.valign="center";const o=nt(a.text)?await It(s,a):bt(s,a),l=Math.round(o.map(p=>(p._groups||p)[0][0].getBBox().height).reduce((p,r)=>p+r));i.attr("height",l+2*n.noteMargin),e.height+=l+2*n.noteMargin,f.bumpVerticalPos(l+2*n.noteMargin),e.stopy=e.starty+l+2*n.noteMargin,e.stopx=e.startx+c.width,f.insert(e.startx,e.starty,e.stopx,e.stopy),f.models.addNote(e)},xt=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),Tt=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),Wt=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});async function L0(t,e){f.bumpVerticalPos(10);const{startx:c,stopx:s,message:i}=e,a=v.splitBreaks(i).length,o=nt(i),l=o?await wt(i,st()):B.calculateTextDimensions(i,xt(n));if(!o){const T=l.height/a;e.height+=T,f.bumpVerticalPos(T)}let p,r=l.height-10;const x=l.width;if(c===s){p=f.getVerticalPos()+r,n.rightAngles||(r+=n.boxMargin,p=f.getVerticalPos()+r),r+=30;const T=v.getMax(x/2,n.width/2);f.insert(c-T,f.getVerticalPos()-10+r,s+T,f.getVerticalPos()+30+r)}else r+=n.boxMargin,p=f.getVerticalPos()+r,f.insert(c,p-10,s,p);return f.bumpVerticalPos(r),e.height+=r,e.stopy=e.starty+e.height,f.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),p}const I0=async function(t,e,c,s){const{startx:i,stopx:a,starty:o,message:l,type:p,sequenceIndex:r,sequenceVisible:x}=e,T=B.calculateTextDimensions(l,xt(n)),u=zt();u.x=i,u.y=o+10,u.width=a-i,u.class="messageText",u.dy="1em",u.text=l,u.fontFamily=n.messageFontFamily,u.fontSize=n.messageFontSize,u.fontWeight=n.messageFontWeight,u.anchor=n.messageAlign,u.valign="center",u.textMargin=n.wrapPadding,u.tspan=!1,nt(u.text)?await It(t,u,{startx:i,stopx:a,starty:c}):bt(t,u);const g=T.width;let m;i===a?n.rightAngles?m=t.append("path").attr("d",`M ${i},${c} H ${i+v.getMax(n.width/2,g/2)} V ${c+25} H ${i}`):m=t.append("path").attr("d","M "+i+","+c+" C "+(i+60)+","+(c-10)+" "+(i+60)+","+(c+30)+" "+i+","+(c+20)):(m=t.append("line"),m.attr("x1",i),m.attr("y1",c),m.attr("x2",a),m.attr("y2",c)),p===s.db.LINETYPE.DOTTED||p===s.db.LINETYPE.DOTTED_CROSS||p===s.db.LINETYPE.DOTTED_POINT||p===s.db.LINETYPE.DOTTED_OPEN?(m.style("stroke-dasharray","3, 3"),m.attr("class","messageLine1")):m.attr("class","messageLine0");let _="";n.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),m.attr("stroke-width",2),m.attr("stroke","none"),m.style("fill","none"),(p===s.db.LINETYPE.SOLID||p===s.db.LINETYPE.DOTTED)&&m.attr("marker-end","url("+_+"#arrowhead)"),(p===s.db.LINETYPE.SOLID_POINT||p===s.db.LINETYPE.DOTTED_POINT)&&m.attr("marker-end","url("+_+"#filled-head)"),(p===s.db.LINETYPE.SOLID_CROSS||p===s.db.LINETYPE.DOTTED_CROSS)&&m.attr("marker-end","url("+_+"#crosshead)"),(x||n.showSequenceNumbers)&&(m.attr("marker-start","url("+_+"#sequencenumber)"),t.append("text").attr("x",i).attr("y",c+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(r))},A0=async function(t,e,c,s,i,a,o){let l=0,p=0,r,x=0;for(const T of s){const u=e[T],g=u.box;r&&r!=g&&(f.models.addBox(r),p+=n.boxMargin+r.margin),g&&g!=r&&(g.x=l+p,g.y=i,p+=g.margin),u.width=u.width||n.width,u.height=v.getMax(u.height||n.height,n.height),u.margin=u.margin||n.actorMargin,x=v.getMax(x,u.height),c[u.name]&&(p+=u.width/2),u.x=l+p,u.starty=f.getVerticalPos(),f.insert(u.x,i,u.x+u.width,u.height),l+=u.width+p,u.box&&(u.box.width=l+g.margin-u.box.x),p=u.margin,r=u.box,f.models.addActor(u)}r&&!o&&f.models.addBox(r),f.bumpVerticalPos(x)},qt=async function(t,e,c,s){if(s){let i=0;f.bumpVerticalPos(n.boxMargin*2);for(const a of c){const o=e[a];o.stopy||(o.stopy=f.getVerticalPos());const l=await D.drawActor(t,o,n,!0);i=v.getMax(i,l)}f.bumpVerticalPos(i+n.boxMargin)}else for(const i of c){const a=e[i];await D.drawActor(t,a,n,!1)}},ge=function(t,e,c,s){let i=0,a=0;for(const o of c){const l=e[o],p=R0(l),r=D.drawPopup(t,l,p,n,n.forceMenus,s);r.height>i&&(i=r.height),r.width+l.x>a&&(a=r.width+l.x)}return{maxHeight:i,maxWidth:a}},xe=function(t){Ie(n,t),t.fontFamily&&(n.actorFontFamily=n.noteFontFamily=n.messageFontFamily=t.fontFamily),t.fontSize&&(n.actorFontSize=n.noteFontSize=n.messageFontSize=t.fontSize),t.fontWeight&&(n.actorFontWeight=n.noteFontWeight=n.messageFontWeight=t.fontWeight)},St=function(t){return f.activations.filter(function(e){return e.actor===t})},jt=function(t,e){const c=e[t],s=St(t),i=s.reduce(function(o,l){return v.getMin(o,l.startx)},c.x+c.width/2-1),a=s.reduce(function(o,l){return v.getMax(o,l.stopx)},c.x+c.width/2+1);return[i,a]};function it(t,e,c,s,i){f.bumpVerticalPos(c);let a=s;if(e.id&&e.message&&t[e.id]){const o=t[e.id].width,l=xt(n);e.message=B.wrapLabel(`[${e.message}]`,o-2*n.wrapPadding,l),e.width=o,e.wrap=!0;const p=B.calculateTextDimensions(e.message,l),r=v.getMax(p.height,n.labelBoxHeight);a=s+r,X.debug(`${r} - ${e.message}`)}i(e),f.bumpVerticalPos(a)}function N0(t,e,c,s,i,a,o){function l(r,x){r.x{y.add(P.from),y.add(P.to)}),m=m.filter(P=>y.has(P))}await A0(r,x,T,m,0,_,!1);const R=await O0(_,x,O,s);D.insertArrowHead(r),D.insertArrowCrossHead(r),D.insertArrowFilledHead(r),D.insertSequenceNumber(r);function q(y,P){const j=f.endActivation(y);j.starty+18>P&&(j.starty=P-6,P+=12),D.drawActivation(r,j,P,n,St(y.from.actor).length),f.insert(j.startx,P-10,j.stopx,P)}let z=1,J=1;const $=[],H=[];let U=0;for(const y of _){let P,j,rt;switch(y.type){case s.db.LINETYPE.NOTE:f.resetVerticalPos(),j=y.noteModel,await P0(r,j);break;case s.db.LINETYPE.ACTIVE_START:f.newActivation(y,r,x);break;case s.db.LINETYPE.ACTIVE_END:q(y,f.getVerticalPos());break;case s.db.LINETYPE.LOOP_START:it(R,y,n.boxMargin,n.boxMargin+n.boxTextMargin,A=>f.newLoop(A));break;case s.db.LINETYPE.LOOP_END:P=f.endLoop(),await D.drawLoop(r,P,"loop",n),f.bumpVerticalPos(P.stopy-f.getVerticalPos()),f.models.addLoop(P);break;case s.db.LINETYPE.RECT_START:it(R,y,n.boxMargin,n.boxMargin,A=>f.newLoop(void 0,A.message));break;case s.db.LINETYPE.RECT_END:P=f.endLoop(),H.push(P),f.models.addLoop(P),f.bumpVerticalPos(P.stopy-f.getVerticalPos());break;case s.db.LINETYPE.OPT_START:it(R,y,n.boxMargin,n.boxMargin+n.boxTextMargin,A=>f.newLoop(A));break;case s.db.LINETYPE.OPT_END:P=f.endLoop(),await D.drawLoop(r,P,"opt",n),f.bumpVerticalPos(P.stopy-f.getVerticalPos()),f.models.addLoop(P);break;case s.db.LINETYPE.ALT_START:it(R,y,n.boxMargin,n.boxMargin+n.boxTextMargin,A=>f.newLoop(A));break;case s.db.LINETYPE.ALT_ELSE:it(R,y,n.boxMargin+n.boxTextMargin,n.boxMargin,A=>f.addSectionToLoop(A));break;case s.db.LINETYPE.ALT_END:P=f.endLoop(),await D.drawLoop(r,P,"alt",n),f.bumpVerticalPos(P.stopy-f.getVerticalPos()),f.models.addLoop(P);break;case s.db.LINETYPE.PAR_START:case s.db.LINETYPE.PAR_OVER_START:it(R,y,n.boxMargin,n.boxMargin+n.boxTextMargin,A=>f.newLoop(A)),f.saveVerticalPos();break;case s.db.LINETYPE.PAR_AND:it(R,y,n.boxMargin+n.boxTextMargin,n.boxMargin,A=>f.addSectionToLoop(A));break;case s.db.LINETYPE.PAR_END:P=f.endLoop(),await D.drawLoop(r,P,"par",n),f.bumpVerticalPos(P.stopy-f.getVerticalPos()),f.models.addLoop(P);break;case s.db.LINETYPE.AUTONUMBER:z=y.message.start||z,J=y.message.step||J,y.message.visible?s.db.enableSequenceNumbers():s.db.disableSequenceNumbers();break;case s.db.LINETYPE.CRITICAL_START:it(R,y,n.boxMargin,n.boxMargin+n.boxTextMargin,A=>f.newLoop(A));break;case s.db.LINETYPE.CRITICAL_OPTION:it(R,y,n.boxMargin+n.boxTextMargin,n.boxMargin,A=>f.addSectionToLoop(A));break;case s.db.LINETYPE.CRITICAL_END:P=f.endLoop(),await D.drawLoop(r,P,"critical",n),f.bumpVerticalPos(P.stopy-f.getVerticalPos()),f.models.addLoop(P);break;case s.db.LINETYPE.BREAK_START:it(R,y,n.boxMargin,n.boxMargin+n.boxTextMargin,A=>f.newLoop(A));break;case s.db.LINETYPE.BREAK_END:P=f.endLoop(),await D.drawLoop(r,P,"break",n),f.bumpVerticalPos(P.stopy-f.getVerticalPos()),f.models.addLoop(P);break;default:try{rt=y.msgModel,rt.starty=f.getVerticalPos(),rt.sequenceIndex=z,rt.sequenceVisible=s.db.showSequenceNumbers();const A=await L0(r,rt);N0(y,rt,A,U,x,T,u),$.push({messageModel:rt,lineStartY:A}),f.models.addMessage(rt)}catch(A){X.error("error while drawing message",A)}}[s.db.LINETYPE.SOLID_OPEN,s.db.LINETYPE.DOTTED_OPEN,s.db.LINETYPE.SOLID,s.db.LINETYPE.DOTTED,s.db.LINETYPE.SOLID_CROSS,s.db.LINETYPE.DOTTED_CROSS,s.db.LINETYPE.SOLID_POINT,s.db.LINETYPE.DOTTED_POINT].includes(y.type)&&(z=z+J),U++}X.debug("createdActors",T),X.debug("destroyedActors",u),await qt(r,x,m,!1);for(const y of $)await I0(r,y.messageModel,y.lineStartY,s);n.mirrorActors&&await qt(r,x,m,!0),H.forEach(y=>D.drawBackgroundRect(r,y)),pe(r,x,m,n);for(const y of f.models.boxes)y.height=f.getVerticalPos()-y.y,f.insert(y.x,y.y,y.x+y.width,y.height),y.startx=y.x,y.starty=y.y,y.stopx=y.startx+y.width,y.stopy=y.starty+y.height,y.stroke="rgb(0,0,0, 0.5)",await D.drawBox(r,y,n);V&&f.bumpVerticalPos(n.boxMargin);const F=ge(r,x,m,p),{bounds:W}=f.getBounds();let Z=W.stopy-W.starty;Z{const o=xt(n);let l=a.actorKeys.reduce((x,T)=>x+=t[T].width+(t[T].margin||0),0);l-=2*n.boxTextMargin,a.wrap&&(a.name=B.wrapLabel(a.name,l-2*n.wrapPadding,o));const p=B.calculateTextDimensions(a.name,o);i=v.getMax(p.height,i);const r=v.getMax(l,p.width+2*n.wrapPadding);if(a.margin=n.boxTextMargin,la.textMaxHeight=i),v.getMax(s,n.height)}const D0=async function(t,e,c){const s=e[t.from].x,i=e[t.to].x,a=t.wrap&&t.message;let o=nt(t.message)?await wt(t.message,st()):B.calculateTextDimensions(a?B.wrapLabel(t.message,n.width,Tt(n)):t.message,Tt(n));const l={width:a?n.width:v.getMax(n.width,o.width+2*n.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===c.db.PLACEMENT.RIGHTOF?(l.width=a?v.getMax(n.width,o.width):v.getMax(e[t.from].width/2+e[t.to].width/2,o.width+2*n.noteMargin),l.startx=s+(e[t.from].width+n.actorMargin)/2):t.placement===c.db.PLACEMENT.LEFTOF?(l.width=a?v.getMax(n.width,o.width+2*n.noteMargin):v.getMax(e[t.from].width/2+e[t.to].width/2,o.width+2*n.noteMargin),l.startx=s-l.width+(e[t.from].width-n.actorMargin)/2):t.to===t.from?(o=B.calculateTextDimensions(a?B.wrapLabel(t.message,v.getMax(n.width,e[t.from].width),Tt(n)):t.message,Tt(n)),l.width=a?v.getMax(n.width,e[t.from].width):v.getMax(e[t.from].width,n.width,o.width+2*n.noteMargin),l.startx=s+(e[t.from].width-l.width)/2):(l.width=Math.abs(s+e[t.from].width/2-(i+e[t.to].width/2))+n.actorMargin,l.startx=s2,T=_=>l?-_:_;t.from===t.to?r=p:(t.activate&&!x&&(r+=T(n.activationWidth/2-1)),[c.db.LINETYPE.SOLID_OPEN,c.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(r+=T(3)));const u=[s,i,a,o],g=Math.abs(p-r);t.wrap&&t.message&&(t.message=B.wrapLabel(t.message,v.getMax(g+2*n.wrapPadding,n.width),xt(n)));const m=B.calculateTextDimensions(t.message,xt(n));return{width:v.getMax(t.wrap?0:m.width+2*n.wrapPadding,g+2*n.wrapPadding,n.width),height:0,startx:p,stopx:r,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,u),toBounds:Math.max.apply(null,u)}},O0=async function(t,e,c,s){const i={},a=[];let o,l,p;for(const r of t){switch(r.id=B.random({length:10}),r.type){case s.db.LINETYPE.LOOP_START:case s.db.LINETYPE.ALT_START:case s.db.LINETYPE.OPT_START:case s.db.LINETYPE.PAR_START:case s.db.LINETYPE.PAR_OVER_START:case s.db.LINETYPE.CRITICAL_START:case s.db.LINETYPE.BREAK_START:a.push({id:r.id,msg:r.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case s.db.LINETYPE.ALT_ELSE:case s.db.LINETYPE.PAR_AND:case s.db.LINETYPE.CRITICAL_OPTION:r.message&&(o=a.pop(),i[o.id]=o,i[r.id]=o,a.push(o));break;case s.db.LINETYPE.LOOP_END:case s.db.LINETYPE.ALT_END:case s.db.LINETYPE.OPT_END:case s.db.LINETYPE.PAR_END:case s.db.LINETYPE.CRITICAL_END:case s.db.LINETYPE.BREAK_END:o=a.pop(),i[o.id]=o;break;case s.db.LINETYPE.ACTIVE_START:{const T=e[r.from?r.from.actor:r.to.actor],u=St(r.from?r.from.actor:r.to.actor).length,g=T.x+T.width/2+(u-1)*n.activationWidth/2,m={startx:g,stopx:g+n.activationWidth,actor:r.from.actor,enabled:!0};f.activations.push(m)}break;case s.db.LINETYPE.ACTIVE_END:{const T=f.activations.map(u=>u.actor).lastIndexOf(r.from.actor);delete f.activations.splice(T,1)[0]}break}r.placement!==void 0?(l=await D0(r,e,s),r.noteModel=l,a.forEach(T=>{o=T,o.from=v.getMin(o.from,l.startx),o.to=v.getMax(o.to,l.startx+l.width),o.width=v.getMax(o.width,Math.abs(o.from-o.to))-n.labelBoxWidth})):(p=V0(r,e,s),r.msgModel=p,p.startx&&p.stopx&&a.length>0&&a.forEach(T=>{if(o=T,p.startx===p.stopx){const u=e[r.from],g=e[r.to];o.from=v.getMin(u.x-p.width/2,u.x-u.width/2,o.from),o.to=v.getMax(g.x+p.width/2,g.x+u.width/2,o.to),o.width=v.getMax(o.width,Math.abs(o.to-o.from))-n.labelBoxWidth}else o.from=v.getMin(p.startx,o.from),o.to=v.getMax(p.stopx,o.to),o.width=v.getMax(o.width,p.width)-n.labelBoxWidth}))}return f.activations=[],X.debug("Loop type widths:",i),i},B0={bounds:f,drawActors:qt,drawActorsPopup:ge,setConf:xe,draw:S0},z0={parser:De,db:Qt,renderer:B0,styles:o0,init:({wrap:t})=>{Qt.setWrap(t)}};export{z0 as diagram}; diff --git a/assets/chunks/stateDiagram-5dee940d.sTq1FYCv.js b/assets/chunks/stateDiagram-5dee940d.sTq1FYCv.js new file mode 100644 index 000000000..5582c4957 --- /dev/null +++ b/assets/chunks/stateDiagram-5dee940d.sTq1FYCv.js @@ -0,0 +1 @@ +import{p as P,d as N,s as W}from"./styles-0784dbeb.KkglxV8-.js";import{c as t,h as H,l as b,i as R,j as T,ao as v,z as U}from"../app.BKabOgys.js";import{G as C}from"./graph.CmmHGxOl.js";import{l as F}from"./layout.CbVLFsVb.js";import{l as $}from"./line._HMy3R8R.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";const O=e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),X=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),J=(e,i)=>{const o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),o},Y=(e,i)=>{const o=function(l,m,w){const E=l.append("tspan").attr("x",2*t().state.padding).text(m);w||E.attr("dy",t().state.textHeight)},s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=s.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,r=!0;i.descriptions.forEach(function(l){a||(o(p,l,r),r=!1),a=!1});const y=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),d=Math.max(x.width,s.width);return y.attr("x2",d+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",d+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},I=(e,i,o)=>{const c=t().state.padding,s=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,r=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=r.node().getBBox().width+s;let d=Math.max(x,p);d===p&&(d=d+s);let l;const m=e.node().getBBox();i.doc,l=a-c,x>p&&(l=(p-d)/2+c),Math.abs(a-m.x)p&&(l=a-(x-p)/2);const w=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",w).attr("class",o?"alt-composit":"composit").attr("width",d).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",l+c),x<=p&&r.attr("x",a+(d-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",m.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},_=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),q=(e,i)=>{let o=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let s=o;o=c,c=s}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},Z=(e,i,o,c)=>{let s=0;const g=c.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(T.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const d=g.append("tspan");if(d.text(x),r===0){const l=d.node().getBBox();r+=l.height}s+=r,d.attr("x",i+t().state.noteMargin),d.attr("y",o+s+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:s}},j=(e,i)=>{i.attr("class","state-note");const o=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:s,textHeight:g}=Z(e,0,0,c);return o.attr("height",g+2*t().state.noteMargin),o.attr("width",s+t().state.noteMargin*2),o},L=function(e,i){const o=i.id,c={id:o,label:i.id,width:0,height:0},s=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&O(s),i.type==="end"&&_(s),(i.type==="fork"||i.type==="join")&&q(s,i),i.type==="note"&&j(i.note.text,s),i.type==="divider"&&X(s),i.type==="default"&&i.descriptions.length===0&&J(s,i),i.type==="default"&&i.descriptions.length>0&&Y(s,i);const g=s.node().getBBox();return c.width=g.width+2*t().state.padding,c.height=g.height+2*t().state.padding,c};let G=0;const K=function(e,i,o){const c=function(r){switch(r){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}};i.points=i.points.filter(r=>!Number.isNaN(r.y));const s=i.points,g=$().x(function(r){return r.x}).y(function(r){return r.y}).curve(v),p=e.append("path").attr("d",g(s)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),o.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:y,y:x}=U.calcLabelPosition(i.points),d=T.getRows(o.title);let l=0;const m=[];let w=0,E=0;for(let u=0;u<=d.length;u++){const h=r.append("text").attr("text-anchor","middle").text(d[u]).attr("x",y).attr("y",x+l),f=h.node().getBBox();w=Math.max(w,f.width),E=Math.min(E,f.x),b.info(f.x,y,x+l),l===0&&(l=h.node().getBBox().height,b.info("Title height",l,x)),m.push(h)}let k=l*d.length;if(d.length>1){const u=(d.length-1)*l*.5;m.forEach((h,f)=>h.attr("y",x+f*l-u)),k=l*d.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",y-w/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",w+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},Q=function(){},V=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},D=function(e,i,o,c){B=t().state;const s=t().securityLevel;let g;s==="sandbox"&&(g=H("#i"+i));const p=s==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=s==="sandbox"?g.nodes()[0].contentDocument:document;b.debug("Rendering diagram "+e);const r=p.select(`[id='${i}']`);V(r);const y=c.db.getRootDoc();A(y,r,void 0,!1,p,a,c);const x=B.padding,d=r.node().getBBox(),l=d.width+x*2,m=d.height+x*2,w=l*1.75;R(r,m,w,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+l+" "+m)},tt=e=>e?e.length*B.fontSizeFactor:1,A=(e,i,o,c,s,g,p)=>{const a=new C({compound:!0,multigraph:!0});let r,y=!0;for(r=0;r{const f=h.parentElement;let S=0,M=0;f&&(f.parentElement&&(S=f.parentElement.getBBox().width),M=parseInt(f.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",S-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let E=w.getBBox();a.edges().forEach(function(n){n!==void 0&&a.edge(n)!==void 0&&(b.debug("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(a.edge(n))),K(i,a.edge(n),a.edge(n).relation))}),E=w.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=E.width+2*B.padding,k.height=E.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:Q,draw:D},gt={parser:P,db:N,renderer:et,styles:W,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()}};export{gt as diagram}; diff --git a/assets/chunks/stateDiagram-v2-1992cada.Dcs4V2uJ.js b/assets/chunks/stateDiagram-v2-1992cada.Dcs4V2uJ.js new file mode 100644 index 000000000..2e0b0a89e --- /dev/null +++ b/assets/chunks/stateDiagram-v2-1992cada.Dcs4V2uJ.js @@ -0,0 +1 @@ +import{p as J,d as B,s as Q,D as H,a as X,S as Z,b as F,c as I}from"./styles-0784dbeb.KkglxV8-.js";import{G as tt}from"./graph.CmmHGxOl.js";import{l as E,c as g,h as x,z as et,i as ot,j as w}from"../app.BKabOgys.js";import{r as st}from"./index-01f381cb.zbRgJYXZ.js";import"./layout.CbVLFsVb.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./clone.TnmvHrgs.js";import"./edges-066a5561.CPwEKA1n.js";import"./createText-ca0c5216.lHq48BDc.js";import"./line._HMy3R8R.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";const h="rect",C="rectWithTitle",nt="start",it="end",ct="divider",rt="roundedWithTitle",lt="note",at="noteGroup",_="statediagram",dt="state",Et=`${_}-${dt}`,U="transition",St="note",Tt="note-edge",pt=`${U} ${Tt}`,_t=`${_}-${St}`,ut="cluster",Dt=`${_}-${ut}`,bt="cluster-alt",ft=`${_}-${bt}`,V="parent",m="note",At="state",N="----",ht=`${N}${m}`,M=`${N}${V}`,Y="fill:none",z="fill: #333",W="c",j="text",q="normal";let y={},d=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){return n.db.extract(n.db.getRootDocV2()),n.db.getClasses()};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",i=N){const c=e!==null&&e.length>0?`${i}${e}`:"";return`${At}-${t}${c}-${n}`}const A=(t,n,e,i,c,r)=>{const o=e.id,u=$t(i[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=it),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:w.sanitizeText(o,g()),classes:`${u} ${Et}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=h,s.description=e.description),s.description=w.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(E.info("Setting cluster for ",o,G(e)),s.type="group",s.dir=G(e),s.shape=e.type===X?ct:rt,s.classes=s.classes+" "+Dt+" "+(r?ft:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,d),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const l={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+d,domId:R(o,d,m),type:s.type,padding:15},a={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,d,V),type:"group",padding:0};d++;const D=o+M;t.setNode(D,a),t.setNode(l.id,l),t.setNode(o,p),t.setParent(o,D),t.setParent(l.id,D);let S=o,b=l.id;e.note.position==="left of"&&(S=l.id,b=o),t.setEdge(S,b,{arrowhead:"none",arrowType:"",style:Y,labelStyle:"",classes:pt,arrowheadStyle:z,labelpos:W,labelType:j,thickness:q})}else t.setNode(o,p)}n&&n.id!=="root"&&(E.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(E.trace("Adding nodes children "),xt(t,e,e.doc,i,c,!r))},xt=(t,n,e,i,c,r)=>{E.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,i,c,r);break;case H:A(t,n,o,i,c,r);break;case Z:{A(t,n,o.state1,i,c,r),A(t,n,o.state2,i,c,r);const u={id:"edge"+d,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Y,labelStyle:"",label:w.sanitizeText(o.description,g()),arrowheadStyle:z,labelpos:W,labelType:j,thickness:q,classes:U};t.setEdge(o.state1.id,o.state2.id,u,d),d++}break}})},G=(t,n=I)=>{let e=n;if(t.doc)for(let i=0;i{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{mt as diagram}; diff --git a/assets/chunks/styles-0784dbeb.KkglxV8-.js b/assets/chunks/styles-0784dbeb.KkglxV8-.js new file mode 100644 index 000000000..9b1a3bcc9 --- /dev/null +++ b/assets/chunks/styles-0784dbeb.KkglxV8-.js @@ -0,0 +1,207 @@ +import{c as Y,g as Ut,s as zt,a as Mt,b as Ht,x as Xt,y as Kt,l as D,j as ot,A as Wt,b1 as Jt}from"../app.BKabOgys.js";var gt=function(){var t=function(C,r,n,i){for(n=n||{},i=C.length;i--;n[C[i]]=r);return n},s=[1,2],a=[1,3],h=[1,4],f=[2,4],d=[1,9],y=[1,11],k=[1,15],u=[1,16],E=[1,17],T=[1,18],R=[1,30],G=[1,19],j=[1,20],U=[1,21],z=[1,22],M=[1,23],H=[1,25],X=[1,26],K=[1,27],W=[1,28],J=[1,29],q=[1,32],Q=[1,33],Z=[1,34],tt=[1,35],w=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],et=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Dt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(r,n,i,o,p,e,$){var l=e.length-1;switch(p){case 3:return o.setRootDoc(e[l]),e[l];case 4:this.$=[];break;case 5:e[l]!="nl"&&(e[l-1].push(e[l]),this.$=e[l-1]);break;case 6:case 7:this.$=e[l];break;case 8:this.$="nl";break;case 11:this.$=e[l];break;case 12:const B=e[l-1];B.description=o.trimColon(e[l]),this.$=B;break;case 13:this.$={stmt:"relation",state1:e[l-2],state2:e[l]};break;case 14:const ft=o.trimColon(e[l]);this.$={stmt:"relation",state1:e[l-3],state2:e[l-1],description:ft};break;case 18:this.$={stmt:"state",id:e[l-3],type:"default",description:"",doc:e[l-1]};break;case 19:var A=e[l],O=e[l-2].trim();if(e[l].match(":")){var st=e[l].split(":");A=st[0],O=[O,st[1]]}this.$={stmt:"state",id:A,type:"default",description:O};break;case 20:this.$={stmt:"state",id:e[l-3],type:"default",description:e[l-5],doc:e[l-1]};break;case 21:this.$={stmt:"state",id:e[l],type:"fork"};break;case 22:this.$={stmt:"state",id:e[l],type:"join"};break;case 23:this.$={stmt:"state",id:e[l],type:"choice"};break;case 24:this.$={stmt:"state",id:o.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:e[l-1].trim(),note:{position:e[l-2].trim(),text:e[l].trim()}};break;case 28:this.$=e[l].trim(),o.setAccTitle(this.$);break;case 29:case 30:this.$=e[l].trim(),o.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:e[l-1].trim(),classes:e[l].trim()};break;case 33:this.$={stmt:"applyClass",id:e[l-1].trim(),styleClass:e[l].trim()};break;case 34:o.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:o.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:o.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:o.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:e[l].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:a,6:h},{1:[3]},{3:5,4:s,5:a,6:h},{3:6,4:s,5:a,6:h},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],f,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,5]),{9:36,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,7]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11],{13:[1,37],14:[1,38]}),t(c,[2,15]),{17:[1,39]},t(c,[2,17],{19:[1,40]}),{22:[1,41]},t(c,[2,21]),t(c,[2,22]),t(c,[2,23]),t(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(c,[2,27]),{33:[1,46]},{35:[1,47]},t(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(et,[2,40],{51:[1,51]}),t(et,[2,41],{51:[1,52]}),t(c,[2,34]),t(c,[2,35]),t(c,[2,36]),t(c,[2,37]),t(c,[2,6]),t(c,[2,12]),{12:53,23:R,50:w},t(c,[2,16]),t(Dt,f,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(c,[2,28]),t(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(c,[2,13],{13:[1,63]}),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,64],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(c,[2,31]),t(c,[2,32]),t(c,[2,33]),t(et,[2,42]),t(et,[2,43]),t(c,[2,14]),t(c,[2,18]),t(Dt,f,{7:68}),t(c,[2,25]),t(c,[2,26]),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,69],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(r,n){if(n.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=n,i}},parse:function(r){var n=this,i=[0],o=[],p=[null],e=[],$=this.table,l="",A=0,O=0,st=2,B=1,ft=e.slice.call(arguments,1),S=Object.create(this.lexer),v={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(v.yy[dt]=this.yy[dt]);S.setInput(r,v.yy),v.yy.lexer=S,v.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var yt=S.yylloc;e.push(yt);var Gt=S.options&&S.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function jt(){var x;return x=o.pop()||S.lex()||B,typeof x!="number"&&(x instanceof Array&&(o=x,x=o.pop()),x=n.symbols_[x]||x),x}for(var _,L,m,pt,N={},it,b,Ct,rt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=jt()),m=$[L]&&$[L][_]),typeof m>"u"||!m.length||!m[0]){var St="";rt=[];for(it in $[L])this.terminals_[it]&&it>st&&rt.push("'"+this.terminals_[it]+"'");S.showPosition?St="Parse error on line "+(A+1)+`: +`+S.showPosition()+` +Expecting `+rt.join(", ")+", got '"+(this.terminals_[_]||_)+"'":St="Parse error on line "+(A+1)+": Unexpected "+(_==B?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(St,{text:S.match,token:this.terminals_[_]||_,line:S.yylineno,loc:yt,expected:rt})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(m[0]){case 1:i.push(_),p.push(S.yytext),e.push(S.yylloc),i.push(m[1]),_=null,O=S.yyleng,l=S.yytext,A=S.yylineno,yt=S.yylloc;break;case 2:if(b=this.productions_[m[1]][1],N.$=p[p.length-b],N._$={first_line:e[e.length-(b||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(b||1)].first_column,last_column:e[e.length-1].last_column},Gt&&(N._$.range=[e[e.length-(b||1)].range[0],e[e.length-1].range[1]]),pt=this.performAction.apply(N,[l,O,A,v.yy,m[1],p,e].concat(ft)),typeof pt<"u")return pt;b&&(i=i.slice(0,-1*b*2),p=p.slice(0,-1*b),e=e.slice(0,-1*b)),i.push(this.productions_[m[1]][0]),p.push(N.$),e.push(N._$),Ct=$[i[i.length-2]][i[i.length-1]],i.push(Ct);break;case 3:return!0}}return!0}},Yt=function(){var C={EOF:1,parseError:function(n,i){if(this.yy.parser)this.yy.parser.parseError(n,i);else throw new Error(n)},setInput:function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var n=r.length,i=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===o.length?this.yylloc.first_column:0)+o[o.length-i.length].length-i[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+n+"^"},test_match:function(r,n){var i,o,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),o=r[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],i=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var e in p)this[e]=p[e];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,n,i,o;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),e=0;en[0].length)){if(n=i,o=e,this.options.backtrack_lexer){if(r=this.test_match(i,p[e]),r!==!1)return r;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(r=this.test_match(n,p[o]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return n||this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(n){this.begin(n)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(n,i,o,p){switch(o){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),i.yytext=i.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),i.yytext=i.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),i.yytext=i.yytext.substr(2).trim(),30;case 64:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return i.yytext=i.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return C}();ht.lexer=Yt;function ut(){this.yy={}}return ut.prototype=ht,ht.Parser=ut,new ut}();gt.parser=gt;const De=gt,qt="LR",Ce="TB",_t="state",It="relation",Qt="classDef",Zt="applyClass",Et="default",te="divider",bt="[*]",Ot="start",Nt=bt,Rt="end",At="color",vt="fill",ee="bgFill",se=",";function wt(){return{}}let $t=qt,lt=[],P=wt();const Bt=()=>({relations:[],states:{},documents:{}});let ct={root:Bt()},g=ct.root,F=0,Lt=0;const ie={LINE:0,DOTTED_LINE:1},re={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},nt=t=>JSON.parse(JSON.stringify(t)),ne=t=>{D.info("Setting root doc",t),lt=t},ae=()=>lt,at=(t,s,a)=>{if(s.stmt===It)at(t,s.state1,!0),at(t,s.state2,!1);else if(s.stmt===_t&&(s.id==="[*]"?(s.id=a?t.id+"_start":t.id+"_end",s.start=a):s.id=s.id.trim()),s.doc){const h=[];let f=[],d;for(d=0;d0&&f.length>0){const y={stmt:_t,id:Jt(),type:"divider",doc:nt(f)};h.push(nt(y)),s.doc=h}s.doc.forEach(y=>at(s,y,!0))}},le=()=>(at({id:"root"},{id:"root",doc:lt},!0),{id:"root",doc:lt}),ce=t=>{let s;t.doc?s=t.doc:s=t,D.info(s),Pt(!0),D.info("Extract",s),s.forEach(a=>{switch(a.stmt){case _t:I(a.id.trim(),a.type,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles);break;case It:Ft(a.state1,a.state2,a.description);break;case Qt:Vt(a.id.trim(),a.classes);break;case Zt:xt(a.id.trim(),a.styleClass);break}})},I=function(t,s=Et,a=null,h=null,f=null,d=null,y=null,k=null){const u=t==null?void 0:t.trim();g.states[u]===void 0?(D.info("Adding state ",u,h),g.states[u]={id:u,descriptions:[],type:s,doc:a,note:f,classes:[],styles:[],textStyles:[]}):(g.states[u].doc||(g.states[u].doc=a),g.states[u].type||(g.states[u].type=s)),h&&(D.info("Setting state description",u,h),typeof h=="string"&&kt(u,h.trim()),typeof h=="object"&&h.forEach(E=>kt(u,E.trim()))),f&&(g.states[u].note=f,g.states[u].note.text=ot.sanitizeText(g.states[u].note.text,Y())),d&&(D.info("Setting state classes",u,d),(typeof d=="string"?[d]:d).forEach(T=>xt(u,T.trim()))),y&&(D.info("Setting state styles",u,y),(typeof y=="string"?[y]:y).forEach(T=>_e(u,T.trim()))),k&&(D.info("Setting state styles",u,y),(typeof k=="string"?[k]:k).forEach(T=>me(u,T.trim())))},Pt=function(t){ct={root:Bt()},g=ct.root,F=0,P=wt(),t||Wt()},V=function(t){return g.states[t]},oe=function(){return g.states},he=function(){D.info("Documents = ",ct)},ue=function(){return g.relations};function mt(t=""){let s=t;return t===bt&&(F++,s=`${Ot}${F}`),s}function Tt(t="",s=Et){return t===bt?Ot:s}function fe(t=""){let s=t;return t===Nt&&(F++,s=`${Rt}${F}`),s}function de(t="",s=Et){return t===Nt?Rt:s}function ye(t,s,a){let h=mt(t.id.trim()),f=Tt(t.id.trim(),t.type),d=mt(s.id.trim()),y=Tt(s.id.trim(),s.type);I(h,f,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),I(d,y,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),g.relations.push({id1:h,id2:d,relationTitle:ot.sanitizeText(a,Y())})}const Ft=function(t,s,a){if(typeof t=="object")ye(t,s,a);else{const h=mt(t.trim()),f=Tt(t),d=fe(s.trim()),y=de(s);I(h,f),I(d,y),g.relations.push({id1:h,id2:d,title:ot.sanitizeText(a,Y())})}},kt=function(t,s){const a=g.states[t],h=s.startsWith(":")?s.replace(":","").trim():s;a.descriptions.push(ot.sanitizeText(h,Y()))},pe=function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},Se=()=>(Lt++,"divider-id-"+Lt),Vt=function(t,s=""){P[t]===void 0&&(P[t]={id:t,styles:[],textStyles:[]});const a=P[t];s!=null&&s.split(se).forEach(h=>{const f=h.replace(/([^;]*);/,"$1").trim();if(h.match(At)){const y=f.replace(vt,ee).replace(At,vt);a.textStyles.push(y)}a.styles.push(f)})},ge=function(){return P},xt=function(t,s){t.split(",").forEach(function(a){let h=V(a);if(h===void 0){const f=a.trim();I(f),h=V(f)}h.classes.push(s)})},_e=function(t,s){const a=V(t);a!==void 0&&a.textStyles.push(s)},me=function(t,s){const a=V(t);a!==void 0&&a.textStyles.push(s)},Te=()=>$t,ke=t=>{$t=t},Ee=t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),Ae={getConfig:()=>Y().state,addState:I,clear:Pt,getState:V,getStates:oe,getRelations:ue,getClasses:ge,getDirection:Te,addRelation:Ft,getDividerId:Se,setDirection:ke,cleanupLabel:pe,lineType:ie,relationType:re,logDocuments:he,getRootDoc:ae,setRootDoc:ne,getRootDocV2:le,extract:ce,trimColon:Ee,getAccTitle:Ut,setAccTitle:zt,getAccDescription:Mt,setAccDescription:Ht,addStyleClass:Vt,setCssClass:xt,addDescription:kt,setDiagramTitle:Xt,getDiagramTitle:Kt},be=t=>` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`,ve=be;export{Et as D,It as S,te as a,_t as b,Ce as c,Ae as d,De as p,ve as s}; diff --git a/assets/chunks/styles-483fbfea.BblXdEuY.js b/assets/chunks/styles-483fbfea.BblXdEuY.js new file mode 100644 index 000000000..a75038f32 --- /dev/null +++ b/assets/chunks/styles-483fbfea.BblXdEuY.js @@ -0,0 +1,116 @@ +import{G as R}from"./graph.CmmHGxOl.js";import{ab as z,ac as F,ad as j,ae as U,a9 as H,p as A,l as g,q as K,c as S,j as G,r as q,t as E,o as L,h as C,z as W,u as X,af as J}from"../app.BKabOgys.js";import{r as Q}from"./index-01f381cb.zbRgJYXZ.js";import{c as Y}from"./channel.DzT0vZNh.js";function Z(e){return typeof e=="string"?new z([document.querySelectorAll(e)],[document.documentElement]):new z([j(e)],F)}function pe(e,l){return!!e.children(l).length}function be(e){return N(e.v)+":"+N(e.w)+":"+N(e.name)}var O=/:/g;function N(e){return e?String(e).replace(O,"\\:"):""}function ee(e,l){l&&e.attr("style",l)}function fe(e,l,c){l&&e.attr("class",l).attr("class",c+" "+e.attr("class"))}function ue(e,l){var c=l.graph();if(U(c)){var a=c.transition;if(H(a))return a(e)}return e}function te(e,l){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=l.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}ee(a,l.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const P={},re=function(e){const l=Object.keys(e);for(const c of l)P[c]=e[c]},V=async function(e,l,c,a,i,d){const u=a.select(`[id="${c}"]`),n=Object.keys(e);for(const p of n){const r=e[p];let y="default";r.classes.length>0&&(y=r.classes.join(" ")),y=y+" flowchart-label";const w=A(r.styles);let t=r.text!==void 0?r.text:r.id,s;if(g.info("vertex",r,r.labelType),r.labelType==="markdown")g.info("vertex",r,r.labelType);else if(K(S().flowchart.htmlLabels))s=te(u,{label:t}).node(),s.parentNode.removeChild(s);else{const k=i.createElementNS("http://www.w3.org/2000/svg","text");k.setAttribute("style",w.labelStyle.replace("color:","fill:"));const _=t.split(G.lineBreakRegex);for(const $ of _){const v=i.createElementNS("http://www.w3.org/2000/svg","tspan");v.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),v.setAttribute("dy","1em"),v.setAttribute("x","1"),v.textContent=$,k.appendChild(v)}s=k}let b=0,o="";switch(r.type){case"round":b=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}const T=await q(t,S());l.setNode(r.id,{labelStyle:w.labelStyle,shape:o,labelText:T,labelType:r.labelType,rx:b,ry:b,class:y,style:w.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:d.db.getTooltip(r.id)||"",domId:d.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:r.type==="group"?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:S().flowchart.padding}),g.info("setNode",{labelStyle:w.labelStyle,labelType:r.labelType,shape:o,labelText:T,rx:b,ry:b,class:y,style:w.style,id:r.id,domId:d.db.lookUpDomId(r.id),width:r.type==="group"?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:S().flowchart.padding})}},M=async function(e,l,c){g.info("abc78 edges = ",e);let a=0,i={},d,u;if(e.defaultStyle!==void 0){const n=A(e.defaultStyle);d=n.style,u=n.labelStyle}for(const n of e){a++;const p="L-"+n.start+"-"+n.end;i[p]===void 0?(i[p]=0,g.info("abc78 new entry",p,i[p])):(i[p]++,g.info("abc78 new entry",p,i[p]));let r=p+"-"+i[p];g.info("abc78 new link id to be used is",p,r,i[p]);const y="LS-"+n.start,w="LE-"+n.end,t={style:"",labelStyle:""};switch(t.minlen=n.length||1,n.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let s="",b="";switch(n.stroke){case"normal":s="fill:none;",d!==void 0&&(s=d),u!==void 0&&(b=u),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(n.style!==void 0){const o=A(n.style);s=o.style,b=o.labelStyle}t.style=t.style+=s,t.labelStyle=t.labelStyle+=b,n.interpolate!==void 0?t.curve=E(n.interpolate,L):e.defaultInterpolate!==void 0?t.curve=E(e.defaultInterpolate,L):t.curve=E(P.curve,L),n.text===void 0?n.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=n.labelType,t.label=await q(n.text.replace(G.lineBreakRegex,` +`),S()),n.style===void 0&&(t.style=t.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),t.labelStyle=t.labelStyle.replace("color:","fill:"),t.id=r,t.classes="flowchart-link "+y+" "+w,l.setEdge(n.start,n.end,t,a)}},le=function(e,l){return l.db.getClasses()},ae=async function(e,l,c,a){g.info("Drawing flowchart");let i=a.db.getDirection();i===void 0&&(i="TD");const{securityLevel:d,flowchart:u}=S(),n=u.nodeSpacing||50,p=u.rankSpacing||50;let r;d==="sandbox"&&(r=C("#i"+l));const y=d==="sandbox"?C(r.nodes()[0].contentDocument.body):C("body"),w=d==="sandbox"?r.nodes()[0].contentDocument:document,t=new R({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:n,ranksep:p,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let s;const b=a.db.getSubGraphs();g.info("Subgraphs - ",b);for(let f=b.length-1;f>=0;f--)s=b[f],g.info("Subgraph - ",s),a.db.addVertex(s.id,{text:s.title,type:s.labelType},"group",void 0,s.classes,s.dir);const o=a.db.getVertices(),T=a.db.getEdges();g.info("Edges",T);let k=0;for(k=b.length-1;k>=0;k--){s=b[k],Z("cluster").append("text");for(let f=0;f{const c=Y,a=c(e,"r"),i=c(e,"g"),d=c(e,"b");return J(a,i,d,l)},ne=e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${oe(e.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`,he=ne;export{ee as a,te as b,ue as c,fe as d,be as e,we as f,he as g,pe as i,Z as s}; diff --git a/assets/chunks/styles-b83b31c9.B6djMH8N.js b/assets/chunks/styles-b83b31c9.B6djMH8N.js new file mode 100644 index 000000000..c10893ec2 --- /dev/null +++ b/assets/chunks/styles-b83b31c9.B6djMH8N.js @@ -0,0 +1,160 @@ +import{s as ut,g as rt,a as at,b as lt,c as F,x as ct,y as ot,j as v,A as ht,l as At,z as We,h as z,d as pt,ar as Re}from"../app.BKabOgys.js";var Ve=function(){var e=function(x,u,a,h){for(a=a||{},h=x.length;h--;a[x[h]]=u);return a},i=[1,17],r=[1,18],l=[1,19],o=[1,39],A=[1,40],g=[1,25],D=[1,23],B=[1,24],_=[1,31],fe=[1,32],de=[1,33],Ee=[1,34],Ce=[1,35],me=[1,36],be=[1,26],ge=[1,27],ke=[1,28],Te=[1,29],d=[1,43],Fe=[1,30],E=[1,42],C=[1,44],m=[1,41],k=[1,45],ye=[1,9],c=[1,8,9],Y=[1,56],j=[1,57],Q=[1,58],X=[1,59],H=[1,60],De=[1,61],Be=[1,62],W=[1,8,9,39],Ge=[1,74],M=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],q=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],J=[13,74,80,95,97,98],G=[13,64,65,74,80,95,97,98],Ue=[13,59,60,61,62,63,74,80,95,97,98],_e=[1,93],Z=[1,110],$=[1,108],ee=[1,102],te=[1,103],se=[1,104],ie=[1,105],ne=[1,106],ue=[1,107],re=[1,109],Se=[1,8,9,37,39,42],ae=[1,8,9,21],ze=[1,8,9,78],S=[1,8,9,21,73,74,78,80,81,82,83,84,85],Ne={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(u,a,h,n,f,t,U){var s=t.length-1;switch(f){case 8:this.$=t[s-1];break;case 9:case 11:case 12:this.$=t[s];break;case 10:case 13:this.$=t[s-1]+t[s];break;case 14:case 15:this.$=t[s-1]+"~"+t[s]+"~";break;case 16:n.addRelation(t[s]);break;case 17:t[s-1].title=n.cleanupLabel(t[s]),n.addRelation(t[s-1]);break;case 27:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 28:case 29:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 30:n.addClassesToNamespace(t[s-3],t[s-1]);break;case 31:n.addClassesToNamespace(t[s-4],t[s-1]);break;case 32:this.$=t[s],n.addNamespace(t[s]);break;case 33:this.$=[t[s]];break;case 34:this.$=[t[s-1]];break;case 35:t[s].unshift(t[s-2]),this.$=t[s];break;case 37:n.setCssClass(t[s-2],t[s]);break;case 38:n.addMembers(t[s-3],t[s-1]);break;case 39:n.setCssClass(t[s-5],t[s-3]),n.addMembers(t[s-5],t[s-1]);break;case 40:this.$=t[s],n.addClass(t[s]);break;case 41:this.$=t[s-1],n.addClass(t[s-1]),n.setClassLabel(t[s-1],t[s]);break;case 42:n.addAnnotation(t[s],t[s-2]);break;case 43:this.$=[t[s]];break;case 44:t[s].push(t[s-1]),this.$=t[s];break;case 45:break;case 46:n.addMember(t[s-1],n.cleanupLabel(t[s]));break;case 47:break;case 48:break;case 49:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 51:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 52:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 53:n.addNote(t[s],t[s-1]);break;case 54:n.addNote(t[s]);break;case 55:n.setDirection("TB");break;case 56:n.setDirection("BT");break;case 57:n.setDirection("RL");break;case 58:n.setDirection("LR");break;case 59:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 61:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 62:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 63:this.$=n.relationType.AGGREGATION;break;case 64:this.$=n.relationType.EXTENSION;break;case 65:this.$=n.relationType.COMPOSITION;break;case 66:this.$=n.relationType.DEPENDENCY;break;case 67:this.$=n.relationType.LOLLIPOP;break;case 68:this.$=n.lineType.LINE;break;case 69:this.$=n.lineType.DOTTED_LINE;break;case 70:case 76:this.$=t[s-2],n.setClickEvent(t[s-1],t[s]);break;case 71:case 77:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 72:this.$=t[s-2],n.setLink(t[s-1],t[s]);break;case 73:this.$=t[s-3],n.setLink(t[s-2],t[s-1],t[s]);break;case 74:this.$=t[s-3],n.setLink(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 75:this.$=t[s-4],n.setLink(t[s-3],t[s-2],t[s]),n.setTooltip(t[s-3],t[s-1]);break;case 78:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 79:this.$=t[s-4],n.setClickEvent(t[s-3],t[s-2],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],n.setLink(t[s-2],t[s]);break;case 81:this.$=t[s-4],n.setLink(t[s-3],t[s-1],t[s]);break;case 82:this.$=t[s-4],n.setLink(t[s-3],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 83:this.$=t[s-5],n.setLink(t[s-4],t[s-2],t[s]),n.setTooltip(t[s-4],t[s-1]);break;case 84:this.$=t[s-2],n.setCssStyle(t[s-1],t[s]);break;case 85:n.setCssClass(t[s-1],t[s]);break;case 86:this.$=[t[s]];break;case 87:t[s-2].push(t[s]),this.$=t[s-2];break;case 89:this.$=t[s-1]+t[s];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(ye,[2,5],{8:[1,46]}),{8:[1,47]},e(c,[2,16],{21:[1,48]}),e(c,[2,18]),e(c,[2,19]),e(c,[2,20]),e(c,[2,21]),e(c,[2,22]),e(c,[2,23]),e(c,[2,24]),e(c,[2,25]),e(c,[2,26]),{32:[1,49]},{34:[1,50]},e(c,[2,29]),e(c,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:Y,60:j,61:Q,62:X,63:H,64:De,65:Be}),{37:[1,63]},e(W,[2,36],{37:[1,65],42:[1,64]}),e(c,[2,47]),e(c,[2,48]),{16:66,74:d,80:E,95:C,97:m},{16:37,17:67,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:68,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:69,18:38,74:d,80:E,95:C,97:m,98:k},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:d,80:E,95:C,97:m,98:k},{13:Ge,51:73},e(c,[2,55]),e(c,[2,56]),e(c,[2,57]),e(c,[2,58]),e(M,[2,11],{16:37,18:38,17:75,19:[1,76],74:d,80:E,95:C,97:m,98:k}),e(M,[2,12],{19:[1,77]}),{15:78,16:79,74:d,80:E,95:C,97:m},{16:37,17:80,18:38,74:d,80:E,95:C,97:m,98:k},e(q,[2,112]),e(q,[2,113]),e(q,[2,114]),e(q,[2,115]),e([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),e(ye,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:i,33:r,35:l,40:o,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k},e(c,[2,17]),e(c,[2,27]),e(c,[2,28]),{13:[1,84],16:37,17:83,18:38,74:d,80:E,95:C,97:m,98:k},{49:85,57:54,58:55,59:Y,60:j,61:Q,62:X,63:H,64:De,65:Be},e(c,[2,46]),{58:86,64:De,65:Be},e(J,[2,62],{57:87,59:Y,60:j,61:Q,62:X,63:H}),e(G,[2,63]),e(G,[2,64]),e(G,[2,65]),e(G,[2,66]),e(G,[2,67]),e(Ue,[2,68]),e(Ue,[2,69]),{8:[1,89],23:90,38:88,41:22,44:A},{16:91,74:d,80:E,95:C,97:m},{43:92,47:_e},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Z,73:$,74:ee,75:99,77:100,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},{74:[1,111]},{13:Ge,51:112},e(c,[2,54]),e(c,[2,117]),e(M,[2,13]),e(M,[2,14]),e(M,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:d,80:E,95:C,97:m},e(Se,[2,40],{11:114,12:[1,115]}),e(ye,[2,7]),{9:[1,116]},e(ae,[2,49]),{16:37,17:117,18:38,74:d,80:E,95:C,97:m,98:k},{13:[1,119],16:37,17:118,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,61],{57:120,59:Y,60:j,61:Q,62:X,63:H}),e(J,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:A},{8:[1,123],39:[2,33]},e(W,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:_e},{16:37,17:127,18:38,74:d,80:E,95:C,97:m,98:k},e(c,[2,70],{13:[1,128]}),e(c,[2,72],{13:[1,130],68:[1,129]}),e(c,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},e(c,[2,84],{78:[1,134]}),e(ze,[2,86],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(S,[2,88]),e(S,[2,90]),e(S,[2,91]),e(S,[2,92]),e(S,[2,93]),e(S,[2,94]),e(S,[2,95]),e(S,[2,96]),e(S,[2,97]),e(S,[2,98]),e(c,[2,85]),e(c,[2,53]),{37:[2,10]},e(Se,[2,41]),{13:[1,136]},{1:[2,4]},e(ae,[2,51]),e(ae,[2,50]),{16:37,17:137,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,59]),e(c,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:A},{43:140,47:_e},e(W,[2,38]),{39:[2,44]},e(c,[2,42]),e(c,[2,71]),e(c,[2,73]),e(c,[2,74],{68:[1,141]}),e(c,[2,77]),e(c,[2,78],{13:[1,142]}),e(c,[2,80],{13:[1,144],68:[1,143]}),{21:Z,73:$,74:ee,77:145,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},e(S,[2,89]),{14:[1,146]},e(ae,[2,52]),e(c,[2,31]),{39:[2,35]},{39:[1,147]},e(c,[2,75]),e(c,[2,79]),e(c,[2,81]),e(c,[2,82],{68:[1,148]}),e(ze,[2,87],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(Se,[2,8]),e(W,[2,39]),e(c,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(u,a){if(a.recoverable)this.trace(u);else{var h=new Error(u);throw h.hash=a,h}},parse:function(u){var a=this,h=[0],n=[],f=[null],t=[],U=this.table,s="",le=0,Ke=0,tt=2,Ye=1,st=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(I.yy[ve]=this.yy[ve]);b.setInput(u,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var xe=b.yylloc;t.push(xe);var it=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function nt(){var L;return L=n.pop()||b.lex()||Ye,typeof L!="number"&&(L instanceof Array&&(n=L,L=n.pop()),L=a.symbols_[L]||L),L}for(var T,R,y,Oe,P={},ce,N,je,oe;;){if(R=h[h.length-1],this.defaultActions[R]?y=this.defaultActions[R]:((T===null||typeof T>"u")&&(T=nt()),y=U[R]&&U[R][T]),typeof y>"u"||!y.length||!y[0]){var Ie="";oe=[];for(ce in U[R])this.terminals_[ce]&&ce>tt&&oe.push("'"+this.terminals_[ce]+"'");b.showPosition?Ie="Parse error on line "+(le+1)+`: +`+b.showPosition()+` +Expecting `+oe.join(", ")+", got '"+(this.terminals_[T]||T)+"'":Ie="Parse error on line "+(le+1)+": Unexpected "+(T==Ye?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(Ie,{text:b.match,token:this.terminals_[T]||T,line:b.yylineno,loc:xe,expected:oe})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+T);switch(y[0]){case 1:h.push(T),f.push(b.yytext),t.push(b.yylloc),h.push(y[1]),T=null,Ke=b.yyleng,s=b.yytext,le=b.yylineno,xe=b.yylloc;break;case 2:if(N=this.productions_[y[1]][1],P.$=f[f.length-N],P._$={first_line:t[t.length-(N||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(N||1)].first_column,last_column:t[t.length-1].last_column},it&&(P._$.range=[t[t.length-(N||1)].range[0],t[t.length-1].range[1]]),Oe=this.performAction.apply(P,[s,Ke,le,I.yy,y[1],f,t].concat(st)),typeof Oe<"u")return Oe;N&&(h=h.slice(0,-1*N*2),f=f.slice(0,-1*N),t=t.slice(0,-1*N)),h.push(this.productions_[y[1]][0]),f.push(P.$),t.push(P._$),je=U[h[h.length-2]][h[h.length-1]],h.push(je);break;case 3:return!0}}return!0}},et=function(){var x={EOF:1,parseError:function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},setInput:function(u,a){return this.yy=a||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var a=u.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},unput:function(u){var a=u.length,h=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===n.length?this.yylloc.first_column:0)+n[n.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(u){this.unput(this.match.slice(u))},pastInput:function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var u=this.pastInput(),a=new Array(u.length+1).join("-");return u+this.upcomingInput()+` +`+a+"^"},test_match:function(u,a){var h,n,f;if(this.options.backtrack_lexer&&(f={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(f.yylloc.range=this.yylloc.range.slice(0))),n=u[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],h=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var t in f)this[t]=f[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,a,h,n;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),t=0;ta[0].length)){if(a=h,n=t,this.options.backtrack_lexer){if(u=this.test_match(h,f[t]),u!==!1)return u;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(u=this.test_match(a,f[n]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return a||this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},pushState:function(a){this.begin(a)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(a,h,n,f){switch(n){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return x}();Ne.lexer=et;function Le(){this.yy={}}return Le.prototype=Ne,Ne.Parser=Le,new Le}();Ve.parser=Ve;const zt=Ve,Qe=["#","+","~","-",""];class Xe{constructor(i,r){this.memberType=r,this.visibility="",this.classifier="";const l=pt(i,F());this.parseMember(l)}getDisplayDetails(){let i=this.visibility+Re(this.id);this.memberType==="method"&&(i+=`(${Re(this.parameters.trim())})`,this.returnType&&(i+=" : "+Re(this.returnType))),i=i.trim();const r=this.parseClassifier();return{displayText:i,cssStyle:r}}parseMember(i){let r="";if(this.memberType==="method"){const l=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,o=i.match(l);if(o){const A=o[1]?o[1].trim():"";if(Qe.includes(A)&&(this.visibility=A),this.id=o[2].trim(),this.parameters=o[3]?o[3].trim():"",r=o[4]?o[4].trim():"",this.returnType=o[5]?o[5].trim():"",r===""){const g=this.returnType.substring(this.returnType.length-1);g.match(/[$*]/)&&(r=g,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const l=i.length,o=i.substring(0,1),A=i.substring(l-1);Qe.includes(o)&&(this.visibility=o),A.match(/[$*]/)&&(r=A),this.id=i.substring(this.visibility===""?0:1,r===""?l:l-1)}this.classifier=r}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const pe="classId-";let Pe=[],p={},he=[],He=0,O={},we=0,K=[];const V=e=>v.sanitizeText(e,F()),w=function(e){const i=v.sanitizeText(e,F());let r="",l=i;if(i.indexOf("~")>0){const o=i.split("~");l=V(o[0]),r=V(o[1])}return{className:l,type:r}},ft=function(e,i){const r=v.sanitizeText(e,F());i&&(i=V(i));const{className:l}=w(r);p[l].label=i},Ae=function(e){const i=v.sanitizeText(e,F()),{className:r,type:l}=w(i);if(Object.hasOwn(p,r))return;const o=v.sanitizeText(r,F());p[o]={id:o,type:l,label:o,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:pe+o+"-"+He},He++},qe=function(e){const i=v.sanitizeText(e,F());if(i in p)return p[i].domId;throw new Error("Class not found: "+i)},dt=function(){Pe=[],p={},he=[],K=[],K.push(Ze),O={},we=0,ht()},Et=function(e){return p[e]},Ct=function(){return p},mt=function(){return Pe},bt=function(){return he},gt=function(e){At.debug("Adding relation: "+JSON.stringify(e)),Ae(e.id1),Ae(e.id2),e.id1=w(e.id1).className,e.id2=w(e.id2).className,e.relationTitle1=v.sanitizeText(e.relationTitle1.trim(),F()),e.relationTitle2=v.sanitizeText(e.relationTitle2.trim(),F()),Pe.push(e)},kt=function(e,i){const r=w(e).className;p[r].annotations.push(i)},Je=function(e,i){Ae(e);const r=w(e).className,l=p[r];if(typeof i=="string"){const o=i.trim();o.startsWith("<<")&&o.endsWith(">>")?l.annotations.push(V(o.substring(2,o.length-2))):o.indexOf(")")>0?l.methods.push(new Xe(o,"method")):o&&l.members.push(new Xe(o,"attribute"))}},Tt=function(e,i){Array.isArray(i)&&(i.reverse(),i.forEach(r=>Je(e,r)))},Ft=function(e,i){const r={id:`note${he.length}`,class:i,text:e};he.push(r)},yt=function(e){return e.startsWith(":")&&(e=e.substring(1)),V(e.trim())},Me=function(e,i){e.split(",").forEach(function(r){let l=r;r[0].match(/\d/)&&(l=pe+l),p[l]!==void 0&&p[l].cssClasses.push(i)})},Dt=function(e,i){e.split(",").forEach(function(r){i!==void 0&&(p[r].tooltip=V(i))})},Bt=function(e,i){return i?O[i].classes[e].tooltip:p[e].tooltip},_t=function(e,i,r){const l=F();e.split(",").forEach(function(o){let A=o;o[0].match(/\d/)&&(A=pe+A),p[A]!==void 0&&(p[A].link=We.formatUrl(i,l),l.securityLevel==="sandbox"?p[A].linkTarget="_top":typeof r=="string"?p[A].linkTarget=V(r):p[A].linkTarget="_blank")}),Me(e,"clickable")},St=function(e,i,r){e.split(",").forEach(function(l){Nt(l,i,r),p[l].haveCallback=!0}),Me(e,"clickable")},Nt=function(e,i,r){const l=v.sanitizeText(e,F());if(F().securityLevel!=="loose"||i===void 0)return;const A=l;if(p[A]!==void 0){const g=qe(A);let D=[];if(typeof r=="string"){D=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let B=0;B")),o.classed("hover",!0)}).on("mouseout",function(){i.transition().duration(500).style("opacity",0),z(this).classed("hover",!1)})};K.push(Ze);let $e="TB";const Ot=()=>$e,It=e=>{$e=e},Rt=function(e){O[e]===void 0&&(O[e]={id:e,classes:{},children:{},domId:pe+e+"-"+we},we++)},Vt=function(e){return O[e]},wt=function(){return O},Pt=function(e,i){if(O[e]!==void 0)for(const r of i){const{className:l}=w(r);p[l].parent=e,O[e].classes[l]=p[l]}},Mt=function(e,i){const r=p[e];if(!(!i||!r))for(const l of i)l.includes(",")?r.styles.push(...l.split(",")):r.styles.push(l)},Kt={setAccTitle:ut,getAccTitle:rt,getAccDescription:at,setAccDescription:lt,getConfig:()=>F().class,addClass:Ae,bindFunctions:Lt,clear:dt,getClass:Et,getClasses:Ct,getNotes:bt,addAnnotation:kt,addNote:Ft,getRelations:mt,addRelation:gt,getDirection:Ot,setDirection:It,addMember:Je,addMembers:Tt,cleanupLabel:yt,lineType:vt,relationType:xt,setClickEvent:St,setCssClass:Me,setLink:_t,getTooltip:Bt,setTooltip:Dt,lookUpDomId:qe,setDiagramTitle:ct,getDiagramTitle:ot,setClassLabel:ft,addNamespace:Rt,addClassesToNamespace:Pt,getNamespace:Vt,getNamespaces:wt,setCssStyle:Mt},Gt=e=>`g.classGroup text { + fill: ${e.nodeBorder||e.classText}; + stroke: none; + font-family: ${e.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${e.classText}; +} +.edgeLabel .label rect { + fill: ${e.mainBkg}; +} +.label text { + fill: ${e.classText}; +} +.edgeLabel .label span { + background: ${e.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; +} + +g.classGroup line { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${e.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${e.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${e.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; +} +`,Yt=Gt;export{Kt as d,zt as p,Yt as s}; diff --git a/assets/chunks/svgDrawCommon-5e1cfd1d.IQKLCKK_.js b/assets/chunks/svgDrawCommon-5e1cfd1d.IQKLCKK_.js new file mode 100644 index 000000000..5da876cc0 --- /dev/null +++ b/assets/chunks/svgDrawCommon-5e1cfd1d.IQKLCKK_.js @@ -0,0 +1 @@ +import{n as o,m as i}from"../app.BKabOgys.js";const l=(s,t)=>{const e=s.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx!==void 0&&e.attr("rx",t.rx),t.ry!==void 0&&e.attr("ry",t.ry),t.attrs!==void 0)for(const r in t.attrs)e.attr(r,t.attrs[r]);return t.class!==void 0&&e.attr("class",t.class),e},x=(s,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};l(s,e).lower()},d=(s,t)=>{const e=t.text.replace(o," "),r=s.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class!==void 0&&r.attr("class",t.class);const n=r.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(e),r},h=(s,t,e,r)=>{const n=s.append("image");n.attr("x",t),n.attr("y",e);const a=i.sanitizeUrl(r);n.attr("xlink:href",a)},y=(s,t,e,r)=>{const n=s.append("use");n.attr("x",t),n.attr("y",e);const a=i.sanitizeUrl(r);n.attr("xlink:href",`#${a}`)},g=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),m=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,m as b,y as c,l as d,h as e,d as f,g}; diff --git a/assets/chunks/theme.AljJD-Uk.js b/assets/chunks/theme.AljJD-Uk.js new file mode 100644 index 000000000..c4d541a9a --- /dev/null +++ b/assets/chunks/theme.AljJD-Uk.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.Day_Rx-E.js","assets/chunks/framework.C7ysi3tu.js"])))=>i.map(i=>d[i]); +import{d as _,o as a,c as l,r as u,n as M,a as j,t as T,b as $,w as h,e as f,T as he,_ as g,u as Je,i as Ye,f as Xe,g as q,h as y,j as v,k as r,p as B,l as H,m as W,q as ce,s as w,v as O,x as te,y as R,z as fe,A as _e,B as Qe,C as Ze,D as J,F as N,E,G as Te,H as ne,I as k,J as D,K as we,L as se,M as K,N as X,O as xe,P as Ie,Q as ue,R as Ne,S as Me,U as oe,V as et,W as tt,X as nt,Y as Ae,Z as me,$ as st,a0 as ot,a1 as at,a2 as rt,a3 as Ce,a4 as it,a5 as lt,a6 as ct,a7 as ut}from"./framework.C7ysi3tu.js";const dt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(n){return(e,t)=>(a(),l("span",{class:M(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[j(T(e.text),1)])],2))}}),vt={key:0,class:"VPBackdrop"},pt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(n){return(e,t)=>(a(),$(he,{name:"fade"},{default:h(()=>[e.show?(a(),l("div",vt)):f("",!0)]),_:1}))}}),ht=g(pt,[["__scopeId","data-v-26764800"]]),L=Je;function ft(n,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(n,e):(n(),(o=!0)&&setTimeout(()=>o=!1,e))}}function de(n){return/^\//.test(n)?n:`/${n}`}function be(n){const{pathname:e,search:t,hash:o,protocol:s}=new URL(n,"http://a.com");if(Ye(n)||n.startsWith("#")||!s.startsWith("http")||!Xe(e))return n;const{site:i}=L(),c=e.endsWith("/")||e.endsWith(".html")?n:n.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${o}`);return q(c)}function Z({correspondingLink:n=!1}={}){const{site:e,localeIndex:t,page:o,theme:s,hash:i}=L(),c=y(()=>{var d,m;return{label:(d=e.value.locales[t.value])==null?void 0:d.label,link:((m=e.value.locales[t.value])==null?void 0:m.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([d,m])=>c.value.label===m.label?[]:{text:m.label,link:_t(m.link||(d==="root"?"/":`/${d}/`),s.value.i18nRouting!==!1&&n,o.value.relativePath.slice(c.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:c}}function _t(n,e,t,o){return e?n.replace(/\/$/,"")+de(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):n}const mt=n=>(B("data-v-9b423b44"),n=n(),H(),n),bt={class:"NotFound"},kt={class:"code"},$t={class:"title"},gt=mt(()=>v("div",{class:"divider"},null,-1)),yt={class:"quote"},St={class:"action"},Pt=["href","aria-label"],Vt=_({__name:"NotFound",setup(n){const{theme:e}=L(),{currentLang:t}=Z();return(o,s)=>{var i,c,p,d,m;return a(),l("div",bt,[v("p",kt,T(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),v("h1",$t,T(((c=r(e).notFound)==null?void 0:c.title)??"PAGE NOT FOUND"),1),gt,v("blockquote",yt,T(((p=r(e).notFound)==null?void 0:p.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",St,[v("a",{class:"link",href:r(q)(r(t).link),"aria-label":((d=r(e).notFound)==null?void 0:d.linkLabel)??"go to home"},T(((m=r(e).notFound)==null?void 0:m.linkText)??"Take me home"),9,Pt)])])}}}),Lt=g(Vt,[["__scopeId","data-v-9b423b44"]]);function Be(n,e){if(Array.isArray(n))return x(n);if(n==null)return[];e=de(e);const t=Object.keys(n).sort((s,i)=>i.split("/").length-s.split("/").length).find(s=>e.startsWith(de(s))),o=t?n[t]:[];return Array.isArray(o)?x(o):x(o.items,o.base)}function Tt(n){const e=[];let t=0;for(const o in n){const s=n[o];if(s.items){t=e.push(s);continue}e[t]||e.push({items:[]}),e[t].items.push(s)}return e}function wt(n){const e=[];function t(o){for(const s of o)s.text&&s.link&&e.push({text:s.text,link:s.link,docFooterText:s.docFooterText}),s.items&&t(s.items)}return t(n),e}function ve(n,e){return Array.isArray(e)?e.some(t=>ve(n,t)):W(n,e.link)?!0:e.items?ve(n,e.items):!1}function x(n,e){return[...n].map(t=>{const o={...t},s=o.base||e;return s&&o.link&&(o.link=s+o.link),o.items&&(o.items=x(o.items,s)),o})}function U(){const{frontmatter:n,page:e,theme:t}=L(),o=ce("(min-width: 960px)"),s=w(!1),i=y(()=>{const C=t.value.sidebar,I=e.value.relativePath;return C?Be(C,I):[]}),c=w(i.value);O(i,(C,I)=>{JSON.stringify(C)!==JSON.stringify(I)&&(c.value=i.value)});const p=y(()=>n.value.sidebar!==!1&&c.value.length>0&&n.value.layout!=="home"),d=y(()=>m?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),m=y(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),S=y(()=>p.value&&o.value),b=y(()=>p.value?Tt(c.value):[]);function P(){s.value=!0}function V(){s.value=!1}function A(){s.value?V():P()}return{isOpen:s,sidebar:c,sidebarGroups:b,hasSidebar:p,hasAside:m,leftAside:d,isSidebarEnabled:S,open:P,close:V,toggle:A}}function It(n,e){let t;te(()=>{t=n.value?document.activeElement:void 0}),R(()=>{window.addEventListener("keyup",o)}),fe(()=>{window.removeEventListener("keyup",o)});function o(s){s.key==="Escape"&&n.value&&(e(),t==null||t.focus())}}function Nt(n){const{page:e,hash:t}=L(),o=w(!1),s=y(()=>n.value.collapsed!=null),i=y(()=>!!n.value.link),c=w(!1),p=()=>{c.value=W(e.value.relativePath,n.value.link)};O([e,n,t],p),R(p);const d=y(()=>c.value?!0:n.value.items?ve(e.value.relativePath,n.value.items):!1),m=y(()=>!!(n.value.items&&n.value.items.length));te(()=>{o.value=!!(s.value&&n.value.collapsed)}),_e(()=>{(c.value||d.value)&&(o.value=!1)});function S(){s.value&&(o.value=!o.value)}return{collapsed:o,collapsible:s,isLink:i,isActiveLink:c,hasActiveLink:d,hasChildren:m,toggle:S}}function Mt(){const{hasSidebar:n}=U(),e=ce("(min-width: 960px)"),t=ce("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:n.value?t.value:e.value)}}const pe=[];function He(n){return typeof n.outline=="object"&&!Array.isArray(n.outline)&&n.outline.label||n.outlineTitle||"On this page"}function ke(n){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:At(t),link:"#"+t.id,level:o}});return Ct(e,n)}function At(n){let e="";for(const t of n.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Ct(n,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,s]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;n=n.filter(c=>c.level>=o&&c.level<=s),pe.length=0;for(const{element:c,link:p}of n)pe.push({element:c,link:p});const i=[];e:for(let c=0;c=0;d--){const m=n[d];if(m.level{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Qe(()=>{c(location.hash)}),fe(()=>{window.removeEventListener("scroll",o)});function i(){if(!t.value)return;const p=window.scrollY,d=window.innerHeight,m=document.body.offsetHeight,S=Math.abs(p+d-m)<1,b=pe.map(({element:V,link:A})=>({link:A,top:Ht(V)})).filter(({top:V})=>!Number.isNaN(V)).sort((V,A)=>V.top-A.top);if(!b.length){c(null);return}if(p<1){c(null);return}if(S){c(b[b.length-1].link);return}let P=null;for(const{link:V,top:A}of b){if(A>p+Ze()+4)break;P=V}c(P)}function c(p){s&&s.classList.remove("active"),p==null?s=null:s=n.value.querySelector(`a[href="${decodeURIComponent(p)}"]`);const d=s;d?(d.classList.add("active"),e.value.style.top=d.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Ht(n){let e=0;for(;n!==document.body;){if(n===null)return NaN;e+=n.offsetTop,n=n.offsetParent}return e}const Et=["href","title"],Dt=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(n){function e({target:t}){const o=t.href.split("#")[1],s=document.getElementById(decodeURIComponent(o));s==null||s.focus({preventScroll:!0})}return(t,o)=>{const s=J("VPDocOutlineItem",!0);return a(),l("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),l(N,null,E(t.headers,({children:i,link:c,title:p})=>(a(),l("li",null,[v("a",{class:"outline-link",href:c,onClick:e,title:p},T(p),9,Et),i!=null&&i.length?(a(),$(s,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Ee=g(Dt,[["__scopeId","data-v-7a6562db"]]),Ft={class:"content"},Ot={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},jt=_({__name:"VPDocAsideOutline",setup(n){const{frontmatter:e,theme:t}=L(),o=Te([]);ne(()=>{o.value=ke(e.value.outline??t.value.outline)});const s=w(),i=w();return Bt(s,i),(c,p)=>(a(),l("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:s},[v("div",Ft,[v("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),v("div",Ot,T(r(He)(r(t))),1),k(Ee,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),Ut=g(jt,[["__scopeId","data-v-36a71a4a"]]),Gt={class:"VPDocAsideCarbonAds"},zt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(n){const e=()=>null;return(t,o)=>(a(),l("div",Gt,[k(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Kt=n=>(B("data-v-09413541"),n=n(),H(),n),Rt={class:"VPDocAside"},qt=Kt(()=>v("div",{class:"spacer"},null,-1)),Wt=_({__name:"VPDocAside",setup(n){const{theme:e}=L();return(t,o)=>(a(),l("div",Rt,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),k(Ut),u(t.$slots,"aside-outline-after",{},void 0,!0),qt,u(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),$(zt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Jt=g(Wt,[["__scopeId","data-v-09413541"]]);function Yt(){const{theme:n,page:e}=L();return y(()=>{const{text:t="Edit this page",pattern:o=""}=n.value.editLink||{};let s;return typeof o=="function"?s=o(e.value):s=o.replace(/:path/g,e.value.filePath),{url:s,text:t}})}function Xt(){const{page:n,theme:e,frontmatter:t}=L();return y(()=>{var m,S,b,P,V,A,C,I;const o=Be(e.value.sidebar,n.value.relativePath),s=wt(o),i=Qt(s,G=>G.link.replace(/[?#].*$/,"")),c=i.findIndex(G=>W(n.value.relativePath,G.link)),p=((m=e.value.docFooter)==null?void 0:m.prev)===!1&&!t.value.prev||t.value.prev===!1,d=((S=e.value.docFooter)==null?void 0:S.next)===!1&&!t.value.next||t.value.next===!1;return{prev:p?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=i[c-1])==null?void 0:b.docFooterText)??((P=i[c-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((V=i[c-1])==null?void 0:V.link)},next:d?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[c+1])==null?void 0:A.docFooterText)??((C=i[c+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((I=i[c+1])==null?void 0:I.link)}}})}function Qt(n,e){const t=new Set;return n.filter(o=>{const s=e(o);return t.has(s)?!1:t.add(s)})}const F=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.tag??(e.href?"a":"span")),o=y(()=>e.href&&we.test(e.href)||e.target==="_blank");return(s,i)=>(a(),$(D(t.value),{class:M(["VPLink",{link:s.href,"vp-external-link-icon":o.value,"no-icon":s.noIcon}]),href:s.href?r(be)(s.href):void 0,target:s.target??(o.value?"_blank":void 0),rel:s.rel??(o.value?"noreferrer":void 0)},{default:h(()=>[u(s.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Zt={class:"VPLastUpdated"},xt=["datetime"],en=_({__name:"VPDocFooterLastUpdated",setup(n){const{theme:e,page:t,lang:o}=L(),s=y(()=>new Date(t.value.lastUpdated)),i=y(()=>s.value.toISOString()),c=w("");return R(()=>{te(()=>{var p,d,m;c.value=new Intl.DateTimeFormat((d=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&d.forceLocale?o.value:void 0,((m=e.value.lastUpdated)==null?void 0:m.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(s.value)})}),(p,d)=>{var m;return a(),l("p",Zt,[j(T(((m=r(e).lastUpdated)==null?void 0:m.text)||r(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:i.value},T(c.value),9,xt)])}}}),tn=g(en,[["__scopeId","data-v-e238aaf8"]]),De=n=>(B("data-v-7888df96"),n=n(),H(),n),nn={key:0,class:"VPDocFooter"},sn={key:0,class:"edit-info"},on={key:0,class:"edit-link"},an=De(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),rn={key:1,class:"last-updated"},ln={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},cn=De(()=>v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),un={class:"pager"},dn=["innerHTML"],vn=["innerHTML"],pn={class:"pager"},hn=["innerHTML"],fn=["innerHTML"],_n=_({__name:"VPDocFooter",setup(n){const{theme:e,page:t,frontmatter:o}=L(),s=Yt(),i=Xt(),c=y(()=>e.value.editLink&&o.value.editLink!==!1),p=y(()=>t.value.lastUpdated),d=y(()=>c.value||p.value||i.value.prev||i.value.next);return(m,S)=>{var b,P,V,A;return d.value?(a(),l("footer",nn,[u(m.$slots,"doc-footer-before",{},void 0,!0),c.value||p.value?(a(),l("div",sn,[c.value?(a(),l("div",on,[k(F,{class:"edit-link-button",href:r(s).url,"no-icon":!0},{default:h(()=>[an,j(" "+T(r(s).text),1)]),_:1},8,["href"])])):f("",!0),p.value?(a(),l("div",rn,[k(tn)])):f("",!0)])):f("",!0),(b=r(i).prev)!=null&&b.link||(P=r(i).next)!=null&&P.link?(a(),l("nav",ln,[cn,v("div",un,[(V=r(i).prev)!=null&&V.link?(a(),$(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:h(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,dn),v("span",{class:"title",innerHTML:r(i).prev.text},null,8,vn)]}),_:1},8,["href"])):f("",!0)]),v("div",pn,[(A=r(i).next)!=null&&A.link?(a(),$(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:h(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,hn),v("span",{class:"title",innerHTML:r(i).next.text},null,8,fn)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),mn=g(_n,[["__scopeId","data-v-7888df96"]]),bn=n=>(B("data-v-09c406b3"),n=n(),H(),n),kn={class:"container"},$n=bn(()=>v("div",{class:"aside-curtain"},null,-1)),gn={class:"aside-container"},yn={class:"aside-content"},Sn={class:"content"},Pn={class:"content-container"},Vn={class:"main"},Ln=_({__name:"VPDoc",setup(n){const{theme:e}=L(),t=se(),{hasSidebar:o,hasAside:s,leftAside:i}=U(),c=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,d)=>{const m=J("Content");return a(),l("div",{class:M(["VPDoc",{"has-sidebar":r(o),"has-aside":r(s)}])},[u(p.$slots,"doc-top",{},void 0,!0),v("div",kn,[r(s)?(a(),l("div",{key:0,class:M(["aside",{"left-aside":r(i)}])},[$n,v("div",gn,[v("div",yn,[k(Jt,null,{"aside-top":h(()=>[u(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[u(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[u(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[u(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[u(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[u(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),v("div",Sn,[v("div",Pn,[u(p.$slots,"doc-before",{},void 0,!0),v("main",Vn,[k(m,{class:M(["vp-doc",[c.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(mn,null,{"doc-footer-before":h(()=>[u(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(p.$slots,"doc-after",{},void 0,!0)])])]),u(p.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Tn=g(Ln,[["__scopeId","data-v-09c406b3"]]),wn=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.href&&we.test(e.href)),o=y(()=>e.tag||e.href?"a":"button");return(s,i)=>(a(),$(D(o.value),{class:M(["VPButton",[s.size,s.theme]]),href:s.href?r(be)(s.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:h(()=>[j(T(s.text),1)]),_:1},8,["class","href","target","rel"]))}}),In=g(wn,[["__scopeId","data-v-d9d88581"]]),Nn=["src","alt"],Mn=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(n){return(e,t)=>{const o=J("VPImage",!0);return e.image?(a(),l(N,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",K({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(q)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Nn)):(a(),l(N,{key:1},[k(o,K({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(o,K({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),ee=g(Mn,[["__scopeId","data-v-dfc03da3"]]),An=n=>(B("data-v-2531153c"),n=n(),H(),n),Cn={class:"container"},Bn={class:"main"},Hn={key:0,class:"name"},En=["innerHTML"],Dn=["innerHTML"],Fn=["innerHTML"],On={key:0,class:"actions"},jn={key:0,class:"image"},Un={class:"image-container"},Gn=An(()=>v("div",{class:"image-bg"},null,-1)),zn=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(n){const e=X("hero-image-slot-exists");return(t,o)=>(a(),l("div",{class:M(["VPHero",{"has-image":t.image||r(e)}])},[v("div",Cn,[v("div",Bn,[u(t.$slots,"home-hero-info-before",{},void 0,!0),u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",Hn,[v("span",{innerHTML:t.name,class:"clip"},null,8,En)])):f("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,Dn)):f("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Fn)):f("",!0)],!0),u(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),l("div",On,[(a(!0),l(N,null,E(t.actions,s=>(a(),l("div",{key:s.link,class:"action"},[k(In,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link,target:s.target,rel:s.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),l("div",jn,[v("div",Un,[Gn,u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(ee,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Kn=g(zn,[["__scopeId","data-v-2531153c"]]),Rn=_({__name:"VPHomeHero",setup(n){const{frontmatter:e}=L();return(t,o)=>r(e).hero?(a(),$(Kn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":h(()=>[u(t.$slots,"home-hero-info-before")]),"home-hero-info":h(()=>[u(t.$slots,"home-hero-info")]),"home-hero-info-after":h(()=>[u(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":h(()=>[u(t.$slots,"home-hero-actions-after")]),"home-hero-image":h(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),qn=n=>(B("data-v-f8bc50ff"),n=n(),H(),n),Wn={class:"box"},Jn={key:0,class:"icon"},Yn=["innerHTML"],Xn=["innerHTML"],Qn=["innerHTML"],Zn={key:4,class:"link-text"},xn={class:"link-text-value"},es=qn(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),ts=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(n){return(e,t)=>(a(),$(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:h(()=>[v("article",Wn,[typeof e.icon=="object"&&e.icon.wrap?(a(),l("div",Jn,[k(ee,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(ee,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Yn)):f("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Xn),e.details?(a(),l("p",{key:3,class:"details",innerHTML:e.details},null,8,Qn)):f("",!0),e.linkText?(a(),l("div",Zn,[v("p",xn,[j(T(e.linkText)+" ",1),es])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),ns=g(ts,[["__scopeId","data-v-f8bc50ff"]]),ss={key:0,class:"VPFeatures"},os={class:"container"},as={class:"items"},rs=_({__name:"VPFeatures",props:{features:{}},setup(n){const e=n,t=y(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,s)=>o.features?(a(),l("div",ss,[v("div",os,[v("div",as,[(a(!0),l(N,null,E(o.features,i=>(a(),l("div",{key:i.title,class:M(["item",[t.value]])},[k(ns,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),is=g(rs,[["__scopeId","data-v-a6c0d066"]]),ls=_({__name:"VPHomeFeatures",setup(n){const{frontmatter:e}=L();return(t,o)=>r(e).features?(a(),$(is,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),cs=_({__name:"VPHomeContent",setup(n){const{width:e}=xe({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),l("div",{class:"vp-doc container",style:Ie(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[u(t.$slots,"default",{},void 0,!0)],4))}}),us=g(cs,[["__scopeId","data-v-e18d3d62"]]),ds={class:"VPHome"},vs=_({__name:"VPHome",setup(n){const{frontmatter:e}=L();return(t,o)=>{const s=J("Content");return a(),l("div",ds,[u(t.$slots,"home-hero-before",{},void 0,!0),k(Rn,null,{"home-hero-info-before":h(()=>[u(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[u(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[u(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[u(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(t.$slots,"home-hero-after",{},void 0,!0),u(t.$slots,"home-features-before",{},void 0,!0),k(ls),u(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),$(us,{key:0},{default:h(()=>[k(s)]),_:1})):(a(),$(s,{key:1}))])}}}),ps=g(vs,[["__scopeId","data-v-f4904b84"]]),hs={},fs={class:"VPPage"};function _s(n,e){const t=J("Content");return a(),l("div",fs,[u(n.$slots,"page-top"),k(t),u(n.$slots,"page-bottom")])}const ms=g(hs,[["render",_s]]),bs=_({__name:"VPContent",setup(n){const{page:e,frontmatter:t}=L(),{hasSidebar:o}=U();return(s,i)=>(a(),l("div",{class:M(["VPContent",{"has-sidebar":r(o),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?u(s.$slots,"not-found",{key:0},()=>[k(Lt)],!0):r(t).layout==="page"?(a(),$(ms,{key:1},{"page-top":h(()=>[u(s.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[u(s.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),$(ps,{key:2},{"home-hero-before":h(()=>[u(s.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":h(()=>[u(s.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[u(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[u(s.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[u(s.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[u(s.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[u(s.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[u(s.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[u(s.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),$(D(r(t).layout),{key:3})):(a(),$(Tn,{key:4},{"doc-top":h(()=>[u(s.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[u(s.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":h(()=>[u(s.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[u(s.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[u(s.$slots,"doc-after",{},void 0,!0)]),"aside-top":h(()=>[u(s.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":h(()=>[u(s.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[u(s.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[u(s.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[u(s.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":h(()=>[u(s.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),ks=g(bs,[["__scopeId","data-v-44d21e84"]]),$s={class:"container"},gs=["innerHTML"],ys=["innerHTML"],Ss=_({__name:"VPFooter",setup(n){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=U();return(s,i)=>r(e).footer&&r(t).footer!==!1?(a(),l("footer",{key:0,class:M(["VPFooter",{"has-sidebar":r(o)}])},[v("div",$s,[r(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,gs)):f("",!0),r(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,ys)):f("",!0)])],2)):f("",!0)}}),Ps=g(Ss,[["__scopeId","data-v-c1270dc8"]]);function Vs(){const{theme:n,frontmatter:e}=L(),t=Te([]),o=y(()=>t.value.length>0);return ne(()=>{t.value=ke(e.value.outline??n.value.outline)}),{headers:t,hasLocalNav:o}}const Ls=n=>(B("data-v-f2dab35c"),n=n(),H(),n),Ts={class:"menu-text"},ws=Ls(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),Is={class:"header"},Ns={class:"outline"},Ms=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(n){const e=n,{theme:t}=L(),o=w(!1),s=w(0),i=w(),c=w();function p(b){var P;(P=i.value)!=null&&P.contains(b.target)||(o.value=!1)}O(o,b=>{if(b){document.addEventListener("click",p);return}document.removeEventListener("click",p)}),ue("Escape",()=>{o.value=!1}),ne(()=>{o.value=!1});function d(){o.value=!o.value,s.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function m(b){b.target.classList.contains("outline-link")&&(c.value&&(c.value.style.transition="none"),Ne(()=>{o.value=!1}))}function S(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Ie({"--vp-vh":s.value+"px"}),ref_key:"main",ref:i},[b.headers.length>0?(a(),l("button",{key:0,onClick:d,class:M({open:o.value})},[v("span",Ts,T(r(He)(r(t))),1),ws],2)):(a(),l("button",{key:1,onClick:S},T(r(t).returnToTopLabel||"Return to top"),1)),k(he,{name:"flyout"},{default:h(()=>[o.value?(a(),l("div",{key:0,ref_key:"items",ref:c,class:"items",onClick:m},[v("div",Is,[v("a",{class:"top-link",href:"#",onClick:S},T(r(t).returnToTopLabel||"Return to top"),1)]),v("div",Ns,[k(Ee,{headers:b.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),As=g(Ms,[["__scopeId","data-v-f2dab35c"]]),Cs=n=>(B("data-v-8ea3907e"),n=n(),H(),n),Bs={class:"container"},Hs=["aria-expanded"],Es=Cs(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),Ds={class:"menu-text"},Fs=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(n){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=U(),{headers:s}=Vs(),{y:i}=Me(),c=w(0);R(()=>{c.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ne(()=>{s.value=ke(t.value.outline??e.value.outline)});const p=y(()=>s.value.length===0),d=y(()=>p.value&&!o.value),m=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:p.value,fixed:d.value}));return(S,b)=>r(t).layout!=="home"&&(!d.value||r(i)>=c.value)?(a(),l("div",{key:0,class:M(m.value)},[v("div",Bs,[r(o)?(a(),l("button",{key:0,class:"menu","aria-expanded":S.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>S.$emit("open-menu"))},[Es,v("span",Ds,T(r(e).sidebarMenuLabel||"Menu"),1)],8,Hs)):f("",!0),k(As,{headers:r(s),navHeight:c.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Os=g(Fs,[["__scopeId","data-v-8ea3907e"]]);function js(){const n=w(!1);function e(){n.value=!0,window.addEventListener("resize",s)}function t(){n.value=!1,window.removeEventListener("resize",s)}function o(){n.value?t():e()}function s(){window.outerWidth>=768&&t()}const i=se();return O(()=>i.path,t),{isScreenOpen:n,openScreen:e,closeScreen:t,toggleScreen:o}}const Us={},Gs={class:"VPSwitch",type:"button",role:"switch"},zs={class:"check"},Ks={key:0,class:"icon"};function Rs(n,e){return a(),l("button",Gs,[v("span",zs,[n.$slots.default?(a(),l("span",Ks,[u(n.$slots,"default",{},void 0,!0)])):f("",!0)])])}const qs=g(Us,[["render",Rs],["__scopeId","data-v-3fe5b470"]]),Fe=n=>(B("data-v-fafce623"),n=n(),H(),n),Ws=Fe(()=>v("span",{class:"vpi-sun sun"},null,-1)),Js=Fe(()=>v("span",{class:"vpi-moon moon"},null,-1)),Ys=_({__name:"VPSwitchAppearance",setup(n){const{isDark:e,theme:t}=L(),o=X("toggle-appearance",()=>{e.value=!e.value}),s=w("");return _e(()=>{s.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,c)=>(a(),$(qs,{title:s.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(o)},{default:h(()=>[Ws,Js]),_:1},8,["title","aria-checked","onClick"]))}}),$e=g(Ys,[["__scopeId","data-v-fafce623"]]),Xs={key:0,class:"VPNavBarAppearance"},Qs=_({__name:"VPNavBarAppearance",setup(n){const{site:e}=L();return(t,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),l("div",Xs,[k($e)])):f("",!0)}}),Zs=g(Qs,[["__scopeId","data-v-9a793422"]]),ge=w();let Oe=!1,le=0;function xs(n){const e=w(!1);if(oe){!Oe&&eo(),le++;const t=O(ge,o=>{var s,i,c;o===n.el.value||(s=n.el.value)!=null&&s.contains(o)?(e.value=!0,(i=n.onFocus)==null||i.call(n)):(e.value=!1,(c=n.onBlur)==null||c.call(n))});fe(()=>{t(),le--,le||to()})}return et(e)}function eo(){document.addEventListener("focusin",je),Oe=!0,ge.value=document.activeElement}function to(){document.removeEventListener("focusin",je)}function je(){ge.value=document.activeElement}const no={class:"VPMenuLink"},so=_({__name:"VPMenuLink",props:{item:{}},setup(n){const{page:e}=L();return(t,o)=>(a(),l("div",no,[k(F,{class:M({active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:h(()=>[j(T(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ae=g(so,[["__scopeId","data-v-daaddea6"]]),oo={class:"VPMenuGroup"},ao={key:0,class:"title"},ro=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),l("div",oo,[e.text?(a(),l("p",ao,T(e.text),1)):f("",!0),(a(!0),l(N,null,E(e.items,o=>(a(),l(N,null,["link"in o?(a(),$(ae,{key:0,item:o},null,8,["item"])):f("",!0)],64))),256))]))}}),io=g(ro,[["__scopeId","data-v-360f94e5"]]),lo={class:"VPMenu"},co={key:0,class:"items"},uo=_({__name:"VPMenu",props:{items:{}},setup(n){return(e,t)=>(a(),l("div",lo,[e.items?(a(),l("div",co,[(a(!0),l(N,null,E(e.items,o=>(a(),l(N,{key:JSON.stringify(o)},["link"in o?(a(),$(ae,{key:0,item:o},null,8,["item"])):"component"in o?(a(),$(D(o.component),K({key:1,ref_for:!0},o.props),null,16)):(a(),$(io,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0),u(e.$slots,"default",{},void 0,!0)]))}}),vo=g(uo,[["__scopeId","data-v-5b51bb41"]]),po=n=>(B("data-v-2651c3d9"),n=n(),H(),n),ho=["aria-expanded","aria-label"],fo={key:0,class:"text"},_o=["innerHTML"],mo=po(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),bo={key:1,class:"vpi-more-horizontal icon"},ko={class:"menu"},$o=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(n){const e=w(!1),t=w();xs({el:t,onBlur:o});function o(){e.value=!1}return(s,i)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=c=>e.value=!0),onMouseleave:i[2]||(i[2]=c=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":s.label,onClick:i[0]||(i[0]=c=>e.value=!e.value)},[s.button||s.icon?(a(),l("span",fo,[s.icon?(a(),l("span",{key:0,class:M([s.icon,"option-icon"])},null,2)):f("",!0),s.button?(a(),l("span",{key:1,innerHTML:s.button},null,8,_o)):f("",!0),mo])):(a(),l("span",bo))],8,ho),v("div",ko,[k(vo,{items:s.items},{default:h(()=>[u(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ye=g($o,[["__scopeId","data-v-2651c3d9"]]),go=["href","aria-label","innerHTML"],yo=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(n){const e=n,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(o,s)=>(a(),l("a",{class:"VPSocialLink no-icon",href:o.link,"aria-label":o.ariaLabel??(typeof o.icon=="string"?o.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,go))}}),So=g(yo,[["__scopeId","data-v-39c00feb"]]),Po={class:"VPSocialLinks"},Vo=_({__name:"VPSocialLinks",props:{links:{}},setup(n){return(e,t)=>(a(),l("div",Po,[(a(!0),l(N,null,E(e.links,({link:o,icon:s,ariaLabel:i})=>(a(),$(So,{key:o,icon:s,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),Se=g(Vo,[["__scopeId","data-v-1ebb6001"]]),Lo={key:0,class:"group translations"},To={class:"trans-title"},wo={key:1,class:"group"},Io={class:"item appearance"},No={class:"label"},Mo={class:"appearance-action"},Ao={key:2,class:"group"},Co={class:"item social-links"},Bo=_({__name:"VPNavBarExtra",setup(n){const{site:e,theme:t}=L(),{localeLinks:o,currentLang:s}=Z({correspondingLink:!0}),i=y(()=>o.value.length&&s.value.label||e.value.appearance||t.value.socialLinks);return(c,p)=>i.value?(a(),$(ye,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:h(()=>[r(o).length&&r(s).label?(a(),l("div",Lo,[v("p",To,T(r(s).label),1),(a(!0),l(N,null,E(r(o),d=>(a(),$(ae,{key:d.link,item:d},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),l("div",wo,[v("div",Io,[v("p",No,T(r(t).darkModeSwitchLabel||"Appearance"),1),v("div",Mo,[k($e)])])])):f("",!0),r(t).socialLinks?(a(),l("div",Ao,[v("div",Co,[k(Se,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),Ho=g(Bo,[["__scopeId","data-v-6c367428"]]),Eo=n=>(B("data-v-d578c2d6"),n=n(),H(),n),Do=["aria-expanded"],Fo=Eo(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),Oo=[Fo],jo=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(n){return(e,t)=>(a(),l("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},Oo,10,Do))}}),Uo=g(jo,[["__scopeId","data-v-d578c2d6"]]),Go=["innerHTML"],zo=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(n){const{page:e}=L();return(t,o)=>(a(),$(F,{class:M({VPNavBarMenuLink:!0,active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:h(()=>[v("span",{innerHTML:t.item.text},null,8,Go)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Ko=g(zo,[["__scopeId","data-v-7a1d1bf3"]]),Ro=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(n){const e=n,{page:t}=L(),o=i=>"component"in i?!1:"link"in i?W(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(o),s=y(()=>o(e.item));return(i,c)=>(a(),$(ye,{class:M({VPNavBarMenuGroup:!0,active:r(W)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||s.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),qo=n=>(B("data-v-bdca9179"),n=n(),H(),n),Wo={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Jo=qo(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Yo=_({__name:"VPNavBarMenu",setup(n){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),l("nav",Wo,[Jo,(a(!0),l(N,null,E(r(e).nav,s=>(a(),l(N,{key:JSON.stringify(s)},["link"in s?(a(),$(Ko,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(D(s.component),K({key:1,ref_for:!0},s.props),null,16)):(a(),$(Ro,{key:2,item:s},null,8,["item"]))],64))),128))])):f("",!0)}}),Xo=g(Yo,[["__scopeId","data-v-bdca9179"]]);function Qo(n){const{localeIndex:e,theme:t}=L();function o(s){var A,C,I;const i=s.split("."),c=(A=t.value.search)==null?void 0:A.options,p=c&&typeof c=="object",d=p&&((I=(C=c.locales)==null?void 0:C[e.value])==null?void 0:I.translations)||null,m=p&&c.translations||null;let S=d,b=m,P=n;const V=i.pop();for(const G of i){let z=null;const Y=P==null?void 0:P[G];Y&&(z=P=Y);const re=b==null?void 0:b[G];re&&(z=b=re);const ie=S==null?void 0:S[G];ie&&(z=S=ie),Y||(P=z),re||(b=z),ie||(S=z)}return(S==null?void 0:S[V])??(b==null?void 0:b[V])??(P==null?void 0:P[V])??""}return o}const Zo=["aria-label"],xo={class:"DocSearch-Button-Container"},ea=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),ta={class:"DocSearch-Button-Placeholder"},na=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Pe=_({__name:"VPNavBarSearchButton",setup(n){const t=Qo({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,s)=>(a(),l("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[v("span",xo,[ea,v("span",ta,T(r(t)("button.buttonText")),1)]),na],8,Zo))}}),sa={class:"VPNavBarSearch"},oa={id:"local-search"},aa={key:1,id:"docsearch"},ra=_({__name:"VPNavBarSearch",setup(n){const e=tt(()=>nt(()=>import("./VPLocalSearchBox.Day_Rx-E.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=L(),s=w(!1),i=w(!1);R(()=>{});function c(){s.value||(s.value=!0,setTimeout(p,16))}function p(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||p()},16)}function d(b){const P=b.target,V=P.tagName;return P.isContentEditable||V==="INPUT"||V==="SELECT"||V==="TEXTAREA"}const m=w(!1);ue("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),m.value=!0)}),ue("/",b=>{d(b)||(b.preventDefault(),m.value=!0)});const S="local";return(b,P)=>{var V;return a(),l("div",sa,[r(S)==="local"?(a(),l(N,{key:0},[m.value?(a(),$(r(e),{key:0,onClose:P[0]||(P[0]=A=>m.value=!1)})):f("",!0),v("div",oa,[k(Pe,{onClick:P[1]||(P[1]=A=>m.value=!0)})])],64)):r(S)==="algolia"?(a(),l(N,{key:1},[s.value?(a(),$(r(t),{key:0,algolia:((V=r(o).search)==null?void 0:V.options)??r(o).algolia,onVnodeBeforeMount:P[2]||(P[2]=A=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),l("div",aa,[k(Pe,{onClick:c})]))],64)):f("",!0)])}}}),ia=_({__name:"VPNavBarSocialLinks",setup(n){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),$(Se,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),la=g(ia,[["__scopeId","data-v-51286a3f"]]),ca=["href","rel","target"],ua={key:1},da={key:2},va=_({__name:"VPNavBarTitle",setup(n){const{site:e,theme:t}=L(),{hasSidebar:o}=U(),{currentLang:s}=Z(),i=y(()=>{var d;return typeof t.value.logoLink=="string"?t.value.logoLink:(d=t.value.logoLink)==null?void 0:d.link}),c=y(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.rel}),p=y(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.target});return(d,m)=>(a(),l("div",{class:M(["VPNavBarTitle",{"has-sidebar":r(o)}])},[v("a",{class:"title",href:i.value??r(be)(r(s).link),rel:c.value,target:p.value},[u(d.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),$(ee,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),l("span",ua,T(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),l("span",da,T(r(e).title),1)):f("",!0),u(d.$slots,"nav-bar-title-after",{},void 0,!0)],8,ca)],2))}}),pa=g(va,[["__scopeId","data-v-8c830bd5"]]),ha={class:"items"},fa={class:"title"},_a=_({__name:"VPNavBarTranslations",setup(n){const{theme:e}=L(),{localeLinks:t,currentLang:o}=Z({correspondingLink:!0});return(s,i)=>r(t).length&&r(o).label?(a(),$(ye,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:h(()=>[v("div",ha,[v("p",fa,T(r(o).label),1),(a(!0),l(N,null,E(r(t),c=>(a(),$(ae,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),ma=g(_a,[["__scopeId","data-v-631fc341"]]),ba=n=>(B("data-v-f447069d"),n=n(),H(),n),ka={class:"wrapper"},$a={class:"container"},ga={class:"title"},ya={class:"content"},Sa={class:"content-body"},Pa=ba(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),Va=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(n){const e=n,{y:t}=Me(),{hasSidebar:o}=U(),{frontmatter:s}=L(),i=w({});return _e(()=>{i.value={"has-sidebar":o.value,home:s.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(c,p)=>(a(),l("div",{class:M(["VPNavBar",i.value])},[v("div",ka,[v("div",$a,[v("div",ga,[k(pa,null,{"nav-bar-title-before":h(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",ya,[v("div",Sa,[u(c.$slots,"nav-bar-content-before",{},void 0,!0),k(ra,{class:"search"}),k(Xo,{class:"menu"}),k(ma,{class:"translations"}),k(Zs,{class:"appearance"}),k(la,{class:"social-links"}),k(Ho,{class:"extra"}),u(c.$slots,"nav-bar-content-after",{},void 0,!0),k(Uo,{class:"hamburger",active:c.isScreenOpen,onClick:p[0]||(p[0]=d=>c.$emit("toggle-screen"))},null,8,["active"])])])])]),Pa],2))}}),La=g(Va,[["__scopeId","data-v-f447069d"]]),Ta={key:0,class:"VPNavScreenAppearance"},wa={class:"text"},Ia=_({__name:"VPNavScreenAppearance",setup(n){const{site:e,theme:t}=L();return(o,s)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),l("div",Ta,[v("p",wa,T(r(t).darkModeSwitchLabel||"Appearance"),1),k($e)])):f("",!0)}}),Na=g(Ia,[["__scopeId","data-v-6fbe18a5"]]),Ma=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(n){const e=X("close-screen");return(t,o)=>(a(),$(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Aa=g(Ma,[["__scopeId","data-v-ff3aeed4"]]),Ca=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(n){const e=X("close-screen");return(t,o)=>(a(),$(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:h(()=>[j(T(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ue=g(Ca,[["__scopeId","data-v-8fc1654e"]]),Ba={class:"VPNavScreenMenuGroupSection"},Ha={key:0,class:"title"},Ea=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),l("div",Ba,[e.text?(a(),l("p",Ha,T(e.text),1)):f("",!0),(a(!0),l(N,null,E(e.items,o=>(a(),$(Ue,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Da=g(Ea,[["__scopeId","data-v-55e9d02b"]]),Fa=n=>(B("data-v-6d11bdd7"),n=n(),H(),n),Oa=["aria-controls","aria-expanded"],ja=["innerHTML"],Ua=Fa(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),Ga=["id"],za={key:0,class:"item"},Ka={key:1,class:"item"},Ra={key:2,class:"group"},qa=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(n){const e=n,t=w(!1),o=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){t.value=!t.value}return(i,c)=>(a(),l("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:s},[v("span",{class:"button-text",innerHTML:i.text},null,8,ja),Ua],8,Oa),v("div",{id:o.value,class:"items"},[(a(!0),l(N,null,E(i.items,p=>(a(),l(N,{key:JSON.stringify(p)},["link"in p?(a(),l("div",za,[k(Ue,{item:p},null,8,["item"])])):"component"in p?(a(),l("div",Ka,[(a(),$(D(p.component),K({ref_for:!0},p.props,{"screen-menu":""}),null,16))])):(a(),l("div",Ra,[k(Da,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,Ga)],2))}}),Wa=g(qa,[["__scopeId","data-v-6d11bdd7"]]),Ja={key:0,class:"VPNavScreenMenu"},Ya=_({__name:"VPNavScreenMenu",setup(n){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),l("nav",Ja,[(a(!0),l(N,null,E(r(e).nav,s=>(a(),l(N,{key:JSON.stringify(s)},["link"in s?(a(),$(Aa,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(D(s.component),K({key:1,ref_for:!0},s.props,{"screen-menu":""}),null,16)):(a(),$(Wa,{key:2,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Xa=_({__name:"VPNavScreenSocialLinks",setup(n){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),$(Se,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Ge=n=>(B("data-v-9cac305c"),n=n(),H(),n),Qa=Ge(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),Za=Ge(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),xa={class:"list"},er=_({__name:"VPNavScreenTranslations",setup(n){const{localeLinks:e,currentLang:t}=Z({correspondingLink:!0}),o=w(!1);function s(){o.value=!o.value}return(i,c)=>r(e).length&&r(t).label?(a(),l("div",{key:0,class:M(["VPNavScreenTranslations",{open:o.value}])},[v("button",{class:"title",onClick:s},[Qa,j(" "+T(r(t).label)+" ",1),Za]),v("ul",xa,[(a(!0),l(N,null,E(r(e),p=>(a(),l("li",{key:p.link,class:"item"},[k(F,{class:"link",href:p.link},{default:h(()=>[j(T(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),tr=g(er,[["__scopeId","data-v-9cac305c"]]),nr={class:"container"},sr=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(n){const e=w(null),t=Ae(oe?document.body:null);return(o,s)=>(a(),$(he,{name:"fade",onEnter:s[0]||(s[0]=i=>t.value=!0),onAfterLeave:s[1]||(s[1]=i=>t.value=!1)},{default:h(()=>[o.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",nr,[u(o.$slots,"nav-screen-content-before",{},void 0,!0),k(Ya,{class:"menu"}),k(tr,{class:"translations"}),k(Na,{class:"appearance"}),k(Xa,{class:"social-links"}),u(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),or=g(sr,[["__scopeId","data-v-53ea13ef"]]),ar={key:0,class:"VPNav"},rr=_({__name:"VPNav",setup(n){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=js(),{frontmatter:s}=L(),i=y(()=>s.value.navbar!==!1);return me("close-screen",t),te(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(c,p)=>i.value?(a(),l("header",ar,[k(La,{"is-screen-open":r(e),onToggleScreen:r(o)},{"nav-bar-title-before":h(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[u(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[u(c.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(or,{open:r(e)},{"nav-screen-content-before":h(()=>[u(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[u(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),ir=g(rr,[["__scopeId","data-v-be8402a5"]]),ze=n=>(B("data-v-55ac492d"),n=n(),H(),n),lr=["role","tabindex"],cr=ze(()=>v("div",{class:"indicator"},null,-1)),ur=ze(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),dr=[ur],vr={key:1,class:"items"},pr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(n){const e=n,{collapsed:t,collapsible:o,isLink:s,isActiveLink:i,hasActiveLink:c,hasChildren:p,toggle:d}=Nt(y(()=>e.item)),m=y(()=>p.value?"section":"div"),S=y(()=>s.value?"a":"div"),b=y(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>s.value?void 0:"button"),V=y(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":s.value},{"is-active":i.value},{"has-active":c.value}]);function A(I){"key"in I&&I.key!=="Enter"||!e.item.link&&d()}function C(){e.item.link&&d()}return(I,G)=>{const z=J("VPSidebarItem",!0);return a(),$(D(m.value),{class:M(["VPSidebarItem",V.value])},{default:h(()=>[I.item.text?(a(),l("div",K({key:0,class:"item",role:P.value},st(I.item.items?{click:A,keydown:A}:{},!0),{tabindex:I.item.items&&0}),[cr,I.item.link?(a(),$(F,{key:0,tag:S.value,class:"link",href:I.item.link,rel:I.item.rel,target:I.item.target},{default:h(()=>[(a(),$(D(b.value),{class:"text",innerHTML:I.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(D(b.value),{key:1,class:"text",innerHTML:I.item.text},null,8,["innerHTML"])),I.item.collapsed!=null&&I.item.items&&I.item.items.length?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:ot(C,["enter"]),tabindex:"0"},dr,32)):f("",!0)],16,lr)):f("",!0),I.item.items&&I.item.items.length?(a(),l("div",vr,[I.depth<5?(a(!0),l(N,{key:0},E(I.item.items,Y=>(a(),$(z,{key:Y.text,item:Y,depth:I.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),hr=g(pr,[["__scopeId","data-v-55ac492d"]]),fr=_({__name:"VPSidebarGroup",props:{items:{}},setup(n){const e=w(!0);let t=null;return R(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),at(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,s)=>(a(!0),l(N,null,E(o.items,i=>(a(),l("div",{key:i.text,class:M(["group",{"no-transition":e.value}])},[k(hr,{item:i,depth:0},null,8,["item"])],2))),128))}}),_r=g(fr,[["__scopeId","data-v-4b84181b"]]),Ke=n=>(B("data-v-3cac900b"),n=n(),H(),n),mr=Ke(()=>v("div",{class:"curtain"},null,-1)),br={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},kr=Ke(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),$r=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(n){const{sidebarGroups:e,hasSidebar:t}=U(),o=n,s=w(null),i=Ae(oe?document.body:null);O([o,s],()=>{var p;o.open?(i.value=!0,(p=s.value)==null||p.focus()):i.value=!1},{immediate:!0,flush:"post"});const c=w(0);return O(e,()=>{c.value+=1},{deep:!0}),(p,d)=>r(t)?(a(),l("aside",{key:0,class:M(["VPSidebar",{open:p.open}]),ref_key:"navEl",ref:s,onClick:d[0]||(d[0]=rt(()=>{},["stop"]))},[mr,v("nav",br,[kr,u(p.$slots,"sidebar-nav-before",{},void 0,!0),(a(),$(_r,{items:r(e),key:c.value},null,8,["items"])),u(p.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),gr=g($r,[["__scopeId","data-v-3cac900b"]]),yr=_({__name:"VPSkipLink",setup(n){const e=se(),t=w();O(()=>e.path,()=>t.value.focus());function o({target:s}){const i=document.getElementById(decodeURIComponent(s.hash).slice(1));if(i){const c=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",c)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",c),i.focus(),window.scrollTo(0,0)}}return(s,i)=>(a(),l(N,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),Sr=g(yr,[["__scopeId","data-v-f808ed63"]]),Pr=_({__name:"Layout",setup(n){const{isOpen:e,open:t,close:o}=U(),s=se();O(()=>s.path,o),It(e,o);const{frontmatter:i}=L(),c=Ce(),p=y(()=>!!c["home-hero-image"]);return me("hero-image-slot-exists",p),(d,m)=>{const S=J("Content");return r(i).layout!==!1?(a(),l("div",{key:0,class:M(["Layout",r(i).pageClass])},[u(d.$slots,"layout-top",{},void 0,!0),k(Sr),k(ht,{class:"backdrop",show:r(e),onClick:r(o)},null,8,["show","onClick"]),k(ir,null,{"nav-bar-title-before":h(()=>[u(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[u(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[u(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[u(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":h(()=>[u(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[u(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(Os,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),k(gr,{open:r(e)},{"sidebar-nav-before":h(()=>[u(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":h(()=>[u(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(ks,null,{"page-top":h(()=>[u(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[u(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":h(()=>[u(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":h(()=>[u(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":h(()=>[u(d.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":h(()=>[u(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":h(()=>[u(d.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":h(()=>[u(d.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":h(()=>[u(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[u(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[u(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[u(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":h(()=>[u(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[u(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[u(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":h(()=>[u(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[u(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":h(()=>[u(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[u(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[u(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[u(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[u(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[u(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(Ps),u(d.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(S,{key:1}))}}}),Vr=g(Pr,[["__scopeId","data-v-e569fd42"]]),Ve={Layout:Vr,enhanceApp:({app:n})=>{n.component("Badge",dt)}},Lr=n=>{if(typeof document>"u")return{stabilizeScrollPosition:s=>async(...i)=>s(...i)};const e=document.documentElement;return{stabilizeScrollPosition:o=>async(...s)=>{const i=o(...s),c=n.value;if(!c)return i;const p=c.offsetTop-e.scrollTop;return await Ne(),e.scrollTop=c.offsetTop-p,i}}},Re="vitepress:tabSharedState",Q=typeof localStorage<"u"?localStorage:null,qe="vitepress:tabsSharedState",Tr=()=>{const n=Q==null?void 0:Q.getItem(qe);if(n)try{return JSON.parse(n)}catch{}return{}},wr=n=>{Q&&Q.setItem(qe,JSON.stringify(n))},Ir=n=>{const e=it({});O(()=>e.content,(t,o)=>{t&&o&&wr(t)},{deep:!0}),n.provide(Re,e)},Nr=(n,e)=>{const t=X(Re);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");R(()=>{t.content||(t.content=Tr())});const o=w(),s=y({get(){var d;const c=e.value,p=n.value;if(c){const m=(d=t.content)==null?void 0:d[c];if(m&&p.includes(m))return m}else{const m=o.value;if(m)return m}return p[0]},set(c){const p=e.value;p?t.content&&(t.content[p]=c):o.value=c}});return{selected:s,select:c=>{s.value=c}}};let Le=0;const Mr=()=>(Le++,""+Le);function Ar(){const n=Ce();return y(()=>{var o;const t=(o=n.default)==null?void 0:o.call(n);return t?t.filter(s=>typeof s.type=="object"&&"__name"in s.type&&s.type.__name==="PluginTabsTab"&&s.props).map(s=>{var i;return(i=s.props)==null?void 0:i.label}):[]})}const We="vitepress:tabSingleState",Cr=n=>{me(We,n)},Br=()=>{const n=X(We);if(!n)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return n},Hr={class:"plugin-tabs"},Er=["id","aria-selected","aria-controls","tabindex","onClick"],Dr=_({__name:"PluginTabs",props:{sharedStateKey:{}},setup(n){const e=n,t=Ar(),{selected:o,select:s}=Nr(t,lt(e,"sharedStateKey")),i=w(),{stabilizeScrollPosition:c}=Lr(i),p=c(s),d=w([]),m=b=>{var A;const P=t.value.indexOf(o.value);let V;b.key==="ArrowLeft"?V=P>=1?P-1:t.value.length-1:b.key==="ArrowRight"&&(V=P(a(),l("div",Hr,[v("div",{ref_key:"tablist",ref:i,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:m},[(a(!0),l(N,null,E(r(t),V=>(a(),l("button",{id:`tab-${V}-${r(S)}`,ref_for:!0,ref_key:"buttonRefs",ref:d,key:V,role:"tab",class:"plugin-tabs--tab","aria-selected":V===r(o),"aria-controls":`panel-${V}-${r(S)}`,tabindex:V===r(o)?0:-1,onClick:()=>r(p)(V)},T(V),9,Er))),128))],544),u(b.$slots,"default")]))}}),Fr=["id","aria-labelledby"],Or=_({__name:"PluginTabsTab",props:{label:{}},setup(n){const{uid:e,selected:t}=Br();return(o,s)=>r(t)===o.label?(a(),l("div",{key:0,id:`panel-${o.label}-${r(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${o.label}-${r(e)}`},[u(o.$slots,"default",{},void 0,!0)],8,Fr)):f("",!0)}}),jr=g(Or,[["__scopeId","data-v-4b364022"]]),Ur=n=>{Ir(n),n.component("PluginTabs",Dr),n.component("PluginTabsTab",jr)},Gr={class:"chat-box"},zr={key:0,class:"chat-message-left"},Kr={class:"chat-avatar"},Rr=["src"],qr={class:"chat-info-left"},Wr={class:"chat-title"},Jr={class:"name"},Yr={class:"bubble-left"},Xr=["innerHTML"],Qr={key:1,style:{"white-space":"pre-wrap"}},Zr={key:1,class:"chat-message-right"},xr={class:"chat-info-right"},ei={class:"chat-title"},ti={class:"name"},ni={class:"bubble-right"},si=["innerHTML"],oi={key:1,style:{"white-space":"pre-wrap"}},ai={class:"chat-avatar"},ri=["src"],ii=_({__name:"ChatBox",props:{title:{},messages:{},noShadow:{type:Boolean},lType:{},rType:{}},setup(n){ct(d=>({"3861e4ab":p.value,cc4e36f8:i.value,cf2870f2:c.value}));const e=n,t=d=>{switch(d){case"tip":return"var(--vp-c-tip-soft)";case"warning":return"var(--vp-c-warning-soft)";case"danger":return"var(--vp-c-danger-soft)";case"info":default:return"var(--vp-c-default-soft)"}},o=d=>d.avatar?d.avatar==="dice"?q("/images/avatar/dice.svg"):q(`/images/avatar/${d.avatar}.jpg`):d.send?q("/images/avatar/user1.jpg"):q("/images/avatar/dice.svg"),s=d=>d.username&&d.username!==""?d.username:d.send?"木落":"海豹核心",i=y(()=>t(e.rType??"info")),c=y(()=>t(e.lType??"tip")),p=y(()=>e.noShadow?.99:.95);return(d,m)=>(a(),l("div",Gr,[(a(!0),l(N,null,E(e.messages,S=>(a(),l(N,{key:S.username+S.content},[S.send?(a(),l("div",Zr,[v("div",xr,[v("span",ei,[v("span",ti,T(s(S)),1)]),v("div",ni,[S.html?(a(),l("span",{key:0,innerHTML:S.content},null,8,si)):(a(),l("span",oi,T(S.content),1))])]),v("div",ai,[v("img",{src:o(S),alt:"头像",width:"40",height:"40"},null,8,ri)])])):(a(),l("div",zr,[v("div",Kr,[v("img",{src:o(S),alt:"头像",width:"40",height:"40"},null,8,Rr)]),v("div",qr,[v("span",Wr,[v("span",Jr,T(s(S)),1)]),v("div",Yr,[S.html?(a(),l("span",{key:0,innerHTML:S.content},null,8,Xr)):(a(),l("span",Qr,T(S.content),1))])])]))],64))),128))]))}}),li=g(ii,[["__scopeId","data-v-5dc73542"]]),ui={extends:Ve,Layout:()=>ut(Ve.Layout,null,{}),enhanceApp({app:n,router:e,siteData:t}){Ur(n),n.component("ChatBox",li)}};export{ui as R,Qo as c,L as u}; diff --git a/assets/chunks/timeline-definition-bf702344.CGThNUVg.js b/assets/chunks/timeline-definition-bf702344.CGThNUVg.js new file mode 100644 index 000000000..866c45518 --- /dev/null +++ b/assets/chunks/timeline-definition-bf702344.CGThNUVg.js @@ -0,0 +1,61 @@ +import{b4 as ft,A as gt,c as mt,l as E,h as G,u as xt,b5 as bt,b6 as _t,b7 as kt}from"../app.BKabOgys.js";import{a as D}from"./arc.BxUBBXCP.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./path.CbwjOpE9.js";var K=function(){var n=function(g,i,r,c){for(r=r||{},c=g.length;c--;r[g[c]]=i);return r},t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],a=[1,10],s=[1,11],h=[1,12],l=[1,13],p=[1,16],y=[1,17],f={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(i,r,c,d,u,o,$){var x=o.length-1;switch(u){case 1:return o[x-1];case 2:this.$=[];break;case 3:o[x-1].push(o[x]),this.$=o[x-1];break;case 4:case 5:this.$=o[x];break;case 6:case 7:this.$=[];break;case 8:d.getCommonDb().setDiagramTitle(o[x].substr(6)),this.$=o[x].substr(6);break;case 9:this.$=o[x].trim(),d.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[x].trim(),d.getCommonDb().setAccDescription(this.$);break;case 12:d.addSection(o[x].substr(8)),this.$=o[x].substr(8);break;case 15:d.addTask(o[x],0,""),this.$=o[x];break;case 16:d.addEvent(o[x].substr(2)),this.$=o[x];break}},table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:function(i,r){if(r.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=r,c}},parse:function(i){var r=this,c=[0],d=[],u=[null],o=[],$=this.table,x="",T=0,W=0,C=2,A=1,B=o.slice.call(arguments,1),k=Object.create(this.lexer),w={yy:{}};for(var v in this.yy)Object.prototype.hasOwnProperty.call(this.yy,v)&&(w.yy[v]=this.yy[v]);k.setInput(i,w.yy),w.yy.lexer=k,w.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var I=k.yylloc;o.push(I);var P=k.options&&k.options.ranges;typeof w.yy.parseError=="function"?this.parseError=w.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(){var M;return M=d.pop()||k.lex()||A,typeof M!="number"&&(M instanceof Array&&(d=M,M=d.pop()),M=r.symbols_[M]||M),M}for(var _,L,S,Z,R={},O,N,Y,j;;){if(L=c[c.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=z()),S=$[L]&&$[L][_]),typeof S>"u"||!S.length||!S[0]){var J="";j=[];for(O in $[L])this.terminals_[O]&&O>C&&j.push("'"+this.terminals_[O]+"'");k.showPosition?J="Parse error on line "+(T+1)+`: +`+k.showPosition()+` +Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":J="Parse error on line "+(T+1)+": Unexpected "+(_==A?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(J,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:I,expected:j})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(S[0]){case 1:c.push(_),u.push(k.yytext),o.push(k.yylloc),c.push(S[1]),_=null,W=k.yyleng,x=k.yytext,T=k.yylineno,I=k.yylloc;break;case 2:if(N=this.productions_[S[1]][1],R.$=u[u.length-N],R._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},P&&(R._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),Z=this.performAction.apply(R,[x,W,T,w.yy,S[1],u,o].concat(B)),typeof Z<"u")return Z;N&&(c=c.slice(0,-1*N*2),u=u.slice(0,-1*N),o=o.slice(0,-1*N)),c.push(this.productions_[S[1]][0]),u.push(R.$),o.push(R._$),Y=$[c[c.length-2]][c[c.length-1]],c.push(Y);break;case 3:return!0}}return!0}},b=function(){var g={EOF:1,parseError:function(r,c){if(this.yy.parser)this.yy.parser.parseError(r,c);else throw new Error(r)},setInput:function(i,r){return this.yy=r||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var r=i.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var r=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),r=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+r+"^"},test_match:function(i,r){var c,d,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),d=i[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],c=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var o in u)this[o]=u[o];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,r,c,d;this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),o=0;or[0].length)){if(r=c,d=o,this.options.backtrack_lexer){if(i=this.test_match(c,u[o]),i!==!1)return i;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(i=this.test_match(r,u[d]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){var r=this.conditionStack.length-1;return r>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(r){return r=this.conditionStack.length-1-Math.abs(r||0),r>=0?this.conditionStack[r]:"INITIAL"},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(r,c,d,u){switch(d){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return g}();f.lexer=b;function m(){this.yy={}}return m.prototype=f,f.Parser=m,new m}();K.parser=K;const vt=K;let F="",st=0;const Q=[],q=[],V=[],it=()=>ft,rt=function(){Q.length=0,q.length=0,F="",V.length=0,gt()},at=function(n){F=n,Q.push(n)},lt=function(){return Q},ot=function(){let n=tt();const t=100;let e=0;for(;!n&&ee.id===st-1).events.push(n)},dt=function(n){const t={section:F,type:F,description:n,task:n,classes:[]};q.push(t)},tt=function(){const n=function(e){return V[e].processed};let t=!0;for(const[e,a]of V.entries())n(e),t=t&&a.processed;return t},wt={clear:rt,getCommonDb:it,addSection:at,getSections:lt,getTasks:ot,addTask:ct,addTaskOrg:dt,addEvent:ht},St=Object.freeze(Object.defineProperty({__proto__:null,addEvent:ht,addSection:at,addTask:ct,addTaskOrg:dt,clear:rt,default:wt,getCommonDb:it,getSections:lt,getTasks:ot},Symbol.toStringTag,{value:"Module"})),Et=12,U=function(n,t){const e=n.append("rect");return e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),e.attr("rx",t.rx),e.attr("ry",t.ry),t.class!==void 0&&e.attr("class",t.class),e},Tt=function(n,t){const a=n.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),s=n.append("g");s.append("circle").attr("cx",t.cx-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),s.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function h(y){const f=D().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",f).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}function l(y){const f=D().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",f).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}function p(y){y.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return t.score>3?h(s):t.score<3?l(s):p(s),a},It=function(n,t){const e=n.append("circle");return e.attr("cx",t.cx),e.attr("cy",t.cy),e.attr("class","actor-"+t.pos),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("r",t.r),e.class!==void 0&&e.attr("class",e.class),t.title!==void 0&&e.append("title").text(t.title),e},ut=function(n,t){const e=t.text.replace(//gi," "),a=n.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class!==void 0&&a.attr("class",t.class);const s=a.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),a},$t=function(n,t){function e(s,h,l,p,y){return s+","+h+" "+(s+l)+","+h+" "+(s+l)+","+(h+p-y)+" "+(s+l-y*1.2)+","+(h+p)+" "+s+","+(h+p)}const a=n.append("polygon");a.attr("points",e(t.x,t.y,50,20,7)),a.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,ut(n,t)},Nt=function(n,t,e){const a=n.append("g"),s=X();s.x=t.x,s.y=t.y,s.fill=t.fill,s.width=e.width,s.height=e.height,s.class="journey-section section-type-"+t.num,s.rx=3,s.ry=3,U(a,s),pt(e)(t.text,a,s.x,s.y,s.width,s.height,{class:"journey-section section-type-"+t.num},e,t.colour)};let et=-1;const Mt=function(n,t,e){const a=t.x+e.width/2,s=n.append("g");et++;const h=300+5*30;s.append("line").attr("id","task"+et).attr("x1",a).attr("y1",t.y).attr("x2",a).attr("y2",h).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Tt(s,{cx:a,cy:300+(5-t.score)*30,score:t.score});const l=X();l.x=t.x,l.y=t.y,l.fill=t.fill,l.width=e.width,l.height=e.height,l.class="task task-type-"+t.num,l.rx=3,l.ry=3,U(s,l),t.x+14,pt(e)(t.task,s,l.x,l.y,l.width,l.height,{class:"task"},e,t.colour)},Lt=function(n,t){U(n,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},At=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},X=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},pt=function(){function n(s,h,l,p,y,f,b,m){const g=h.append("text").attr("x",l+y/2).attr("y",p+f/2+5).style("font-color",m).style("text-anchor","middle").text(s);a(g,b)}function t(s,h,l,p,y,f,b,m,g){const{taskFontSize:i,taskFontFamily:r}=m,c=s.split(//gi);for(let d=0;d)/).reverse(),s,h=[],l=1.1,p=e.attr("y"),y=parseFloat(e.attr("dy")),f=e.text(null).append("tspan").attr("x",0).attr("y",p).attr("dy",y+"em");for(let b=0;bt||s==="
")&&(h.pop(),f.text(h.join(" ").trim()),s==="
"?h=[""]:h=[s],f=e.append("tspan").attr("x",0).attr("y",p).attr("dy",l+"em").text(s))})}const Ht=function(n,t,e,a){const s=e%Et-1,h=n.append("g");t.section=s,h.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+s));const l=h.append("g"),p=h.append("g"),f=p.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,t.width).node().getBBox(),b=a.fontSize&&a.fontSize.replace?a.fontSize.replace("px",""):a.fontSize;return t.height=f.height+b*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,p.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),zt(l,t,s),t},Ct=function(n,t,e){const a=n.append("g"),h=a.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,t.width).node().getBBox(),l=e.fontSize&&e.fontSize.replace?e.fontSize.replace("px",""):e.fontSize;return a.remove(),h.height+l*1.1*.5+t.padding},zt=function(n,t,e){n.append("path").attr("id","node-"+t.id).attr("class","node-bkg node-"+t.type).attr("d",`M0 ${t.height-5} v${-t.height+2*5} q0,-5 5,-5 h${t.width-2*5} q5,0 5,5 v${t.height-5} H0 Z`),n.append("line").attr("class","node-line-"+e).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},H={drawRect:U,drawCircle:It,drawSection:Nt,drawText:ut,drawLabel:$t,drawTask:Mt,drawBackgroundRect:Lt,getTextObj:At,getNoteRect:X,initGraphics:Pt,drawNode:Ht,getVirtualNodeHeight:Ct},Rt=function(n,t,e,a){var s,h;const l=mt(),p=l.leftMargin??50;E.debug("timeline",a.db);const y=l.securityLevel;let f;y==="sandbox"&&(f=G("#i"+t));const m=(y==="sandbox"?G(f.nodes()[0].contentDocument.body):G("body")).select("#"+t);m.append("g");const g=a.db.getTasks(),i=a.db.getCommonDb().getDiagramTitle();E.debug("task",g),H.initGraphics(m);const r=a.db.getSections();E.debug("sections",r);let c=0,d=0,u=0,o=0,$=50+p,x=50;o=50;let T=0,W=!0;r.forEach(function(w){const v={number:T,descr:w,section:T,width:150,padding:20,maxHeight:c},I=H.getVirtualNodeHeight(m,v,l);E.debug("sectionHeight before draw",I),c=Math.max(c,I+20)});let C=0,A=0;E.debug("tasks.length",g.length);for(const[w,v]of g.entries()){const I={number:w,descr:v,section:v.section,width:150,padding:20,maxHeight:d},P=H.getVirtualNodeHeight(m,I,l);E.debug("taskHeight before draw",P),d=Math.max(d,P+20),C=Math.max(C,v.events.length);let z=0;for(let _=0;_0?r.forEach(w=>{const v=g.filter(_=>_.section===w),I={number:T,descr:w,section:T,width:200*Math.max(v.length,1)-50,padding:20,maxHeight:c};E.debug("sectionNode",I);const P=m.append("g"),z=H.drawNode(P,I,T,l);E.debug("sectionNode output",z),P.attr("transform",`translate(${$}, ${o})`),x+=c+50,v.length>0&&nt(m,v,T,$,x,d,l,C,A,c,!1),$+=200*Math.max(v.length,1),x=o,T++}):(W=!1,nt(m,g,T,$,x,d,l,C,A,c,!0));const B=m.node().getBBox();E.debug("bounds",B),i&&m.append("text").text(i).attr("x",B.width/2-p).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),u=W?c+d+150:d+100,m.append("g").attr("class","lineWrapper").append("line").attr("x1",p).attr("y1",u).attr("x2",B.width+3*p).attr("y2",u).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),xt(void 0,m,((s=l.timeline)==null?void 0:s.padding)??50,((h=l.timeline)==null?void 0:h.useMaxWidth)??!1)},nt=function(n,t,e,a,s,h,l,p,y,f,b){var m;for(const g of t){const i={descr:g.task,section:e,number:e,width:150,padding:20,maxHeight:h};E.debug("taskNode",i);const r=n.append("g").attr("class","taskWrapper"),d=H.drawNode(r,i,e,l).height;if(E.debug("taskHeight after draw",d),r.attr("transform",`translate(${a}, ${s})`),h=Math.max(h,d),g.events){const u=n.append("g").attr("class","lineWrapper");let o=h;s+=100,o=o+Ft(n,g.events,e,a,s,l),s-=100,u.append("line").attr("x1",a+190/2).attr("y1",s+h).attr("x2",a+190/2).attr("y2",s+h+(b?h:f)+y+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}a=a+200,b&&!((m=l.timeline)!=null&&m.disableMulticolor)&&e++}s=s-10},Ft=function(n,t,e,a,s,h){let l=0;const p=s;s=s+100;for(const y of t){const f={descr:y,section:e,number:e,width:150,padding:20,maxHeight:50};E.debug("eventNode",f);const b=n.append("g").attr("class","eventWrapper"),g=H.drawNode(b,f,e,h).height;l=l+g,b.attr("transform",`translate(${a}, ${s})`),s=s+10+g}return s=p,l},Vt={setConf:()=>{},draw:Rt},Wt=n=>{let t="";for(let e=0;e` + .edge { + stroke-width: 3; + } + ${Wt(n)} + .section-root rect, .section-root path, .section-root circle { + fill: ${n.git0}; + } + .section-root text { + fill: ${n.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`,Ot=Bt,Jt={db:St,renderer:Vt,parser:vt,styles:Ot};export{Jt as diagram}; diff --git a/assets/chunks/virtual_mermaid-config.DDnGl6nM.js b/assets/chunks/virtual_mermaid-config.DDnGl6nM.js new file mode 100644 index 000000000..effcb9650 --- /dev/null +++ b/assets/chunks/virtual_mermaid-config.DDnGl6nM.js @@ -0,0 +1 @@ +const e={securityLevel:"loose",startOnLoad:!1};export{e as default}; diff --git a/assets/chunks/xychartDiagram-f11f50a6.BhHzclVa.js b/assets/chunks/xychartDiagram-f11f50a6.BhHzclVa.js new file mode 100644 index 000000000..aba76aeae --- /dev/null +++ b/assets/chunks/xychartDiagram-f11f50a6.BhHzclVa.js @@ -0,0 +1,7 @@ +import{aY as zt,aZ as ot,aK as wt,aJ as Ft,s as Nt,g as Xt,x as Yt,y as St,a as Ht,b as $t,A as Ut,l as Ct,aH as qt,i as jt,d as Gt}from"../app.BKabOgys.js";import{a as Qt}from"./createText-ca0c5216.lHq48BDc.js";import{i as Kt}from"./init.Gi6I4Gst.js";import{o as Zt}from"./ordinal.BYWQX77i.js";import{l as ft}from"./linear.C2Kb3ud7.js";import{l as pt}from"./line._HMy3R8R.js";import"./framework.C7ysi3tu.js";import"./theme.AljJD-Uk.js";import"./array.BKyUJesY.js";import"./path.CbwjOpE9.js";function Jt(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(k.yylloc={});var tt=k.yylloc;a.push(tt);var Wt=k.options&&k.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var I;return I=g.pop()||k.lex()||xt,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=l.symbols_[I]||I),I}for(var D,W,v,it,O={},q,M,dt,j;;){if(W=u[u.length-1],this.defaultActions[W]?v=this.defaultActions[W]:((D===null||typeof D>"u")&&(D=Ot()),v=F[W]&&F[W][D]),typeof v>"u"||!v.length||!v[0]){var et="";j=[];for(q in F[W])this.terminals_[q]&&q>Vt&&j.push("'"+this.terminals_[q]+"'");k.showPosition?et="Parse error on line "+(U+1)+`: +`+k.showPosition()+` +Expecting `+j.join(", ")+", got '"+(this.terminals_[D]||D)+"'":et="Parse error on line "+(U+1)+": Unexpected "+(D==xt?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(et,{text:k.match,token:this.terminals_[D]||D,line:k.yylineno,loc:tt,expected:j})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+D);switch(v[0]){case 1:u.push(D),b.push(k.yytext),a.push(k.yylloc),u.push(v[1]),D=null,gt=k.yyleng,x=k.yytext,U=k.yylineno,tt=k.yylloc;break;case 2:if(M=this.productions_[v[1]][1],O.$=b[b.length-M],O._$={first_line:a[a.length-(M||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(M||1)].first_column,last_column:a[a.length-1].last_column},Wt&&(O._$.range=[a[a.length-(M||1)].range[0],a[a.length-1].range[1]]),it=this.performAction.apply(O,[x,gt,U,B.yy,v[1],b,a].concat(Bt)),typeof it<"u")return it;M&&(u=u.slice(0,-1*M*2),b=b.slice(0,-1*M),a=a.slice(0,-1*M)),u.push(this.productions_[v[1]][0]),b.push(O.$),a.push(O._$),dt=F[u[u.length-2]][u[u.length-1]],u.push(dt);break;case 3:return!0}}return!0}},It=function(){var V={EOF:1,parseError:function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},setInput:function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var l=r.length,u=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===g.length?this.yylloc.first_column:0)+g[g.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+l+"^"},test_match:function(r,l){var u,g,b;if(this.options.backtrack_lexer&&(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(b.yylloc.range=this.yylloc.range.slice(0))),g=r[0].match(/(?:\r\n?|\n).*/g),g&&(this.yylineno+=g.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g?g[g.length-1].length-g[g.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],u=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),u)return u;if(this._backtrack){for(var a in b)this[a]=b[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,l,u,g;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),a=0;al[0].length)){if(l=u,g=a,this.options.backtrack_lexer){if(r=this.test_match(u,b[a]),r!==!1)return r;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(r=this.test_match(l,b[g]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var l=this.next();return l||this.lex()},begin:function(l){this.conditionStack.push(l)},popState:function(){var l=this.conditionStack.length-1;return l>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},pushState:function(l){this.begin(l)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(l,u,g,b){switch(g){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return V}();K.lexer=It;function Z(){this.yy={}}return Z.prototype=K,K.Parser=Z,new Z}();nt.parser=nt;const ti=nt;function mt(e){return e.type==="bar"}function _t(e){return e.type==="band"}function N(e){return e.type==="linear"}class kt{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((o,c)=>Math.max(c.length,o),0)*i,height:i};const s={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const o of t){const c=Qt(n,1,o),f=c?c.width:o.length*i,d=c?c.height:i;s.width=Math.max(s.width,f),s.height=Math.max(s.height,d)}return n.remove(),s}}const yt=.7,bt=.2;class Rt{constructor(t,i,s,n){this.axisConfig=t,this.title=i,this.textDimensionCalculator=s,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){yt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(yt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=bt*t.width;this.outerPadding=Math.min(s.width/2,n);const o=s.height+this.axisConfig.labelPadding*2;this.labelTextHeight=s.height,o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=bt*t.height;this.outerPadding=Math.min(s.height/2,n);const o=s.width+this.axisConfig.labelPadding*2;o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${i},${this.getScaleValue(s)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(s)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i} L ${this.getScaleValue(s)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(s)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class ii extends Rt{constructor(t,i,s,n,o){super(t,n,o,i),this.categories=s,this.scale=st().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=st().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Ct.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)||this.getRange()[0]}}class ei extends Rt{constructor(t,i,s,n,o){super(t,n,o,i),this.domain=s,this.scale=ft().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=ft().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}}function At(e,t,i,s){const n=new kt(s);return _t(e)?new ii(t,i,e.categories,e.title,n):new ei(t,i,[e.min,e.max],e.title,n)}class si{constructor(t,i,s,n){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=s,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),s=Math.max(i.width,t.width),n=i.height+2*this.chartConfig.titlePadding;return i.width<=s&&i.height<=n&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=s,this.boundingRect.height=n,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}}function ni(e,t,i,s){const n=new kt(s);return new si(n,e,t,i)}class ai{constructor(t,i,s,n,o){this.plotData=t,this.xAxis=i,this.yAxis=s,this.orientation=n,this.plotIndex=o}getDrawableElement(){const t=this.plotData.data.map(s=>[this.xAxis.getScaleValue(s[0]),this.yAxis.getScaleValue(s[1])]);let i;return this.orientation==="horizontal"?i=pt().y(s=>s[0]).x(s=>s[1])(t):i=pt().x(s=>s[0]).y(s=>s[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class oi{constructor(t,i,s,n,o,c){this.barData=t,this.boundingRect=i,this.xAxis=s,this.yAxis=n,this.orientation=o,this.plotIndex=c}getDrawableElement(){const t=this.barData.data.map(o=>[this.xAxis.getScaleValue(o[0]),this.yAxis.getScaleValue(o[1])]),s=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),n=s/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:this.boundingRect.x,y:o[0]-n,height:s,width:o[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:o[0]-n,y:o[1],width:s,height:this.boundingRect.y+this.boundingRect.height-o[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class ri{constructor(t,i,s){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,s]of this.chartData.plots.entries())switch(s.type){case"line":{const n=new ai(s,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break;case"bar":{const n=new oi(s,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break}return t}}function hi(e,t,i){return new ri(e,t,i)}class li{constructor(t,i,s,n){this.chartConfig=t,this.chartData=i,this.componentStore={title:ni(t,i,s,n),plot:hi(t,i,s),xAxis:At(i.xAxis,t.xAxis,{titleColor:s.xAxisTitleColor,labelColor:s.xAxisLabelColor,tickColor:s.xAxisTickColor,axisLineColor:s.xAxisLineColor},n),yAxis:At(i.yAxis,t.yAxis,{titleColor:s.yAxisTitleColor,labelColor:s.yAxisLabelColor,tickColor:s.yAxisTickColor,axisLineColor:s.yAxisLineColor},n)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),c=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),f=this.componentStore.plot.calculateSpace({width:o,height:c});t-=f.width,i-=f.height,f=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),n=f.height,i-=f.height,this.componentStore.xAxis.setAxisPosition("bottom"),f=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=f.height,this.componentStore.yAxis.setAxisPosition("left"),f=this.componentStore.yAxis.calculateSpace({width:t,height:i}),s=f.width,t-=f.width,t>0&&(o+=t,t=0),i>0&&(c+=i,i=0),this.componentStore.plot.calculateSpace({width:o,height:c}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.xAxis.setRange([s,s+o]),this.componentStore.xAxis.setBoundingBoxXY({x:s,y:n+c}),this.componentStore.yAxis.setRange([n,n+c]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(d=>mt(d))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=0,c=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),f=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),d=this.componentStore.plot.calculateSpace({width:c,height:f});t-=d.width,i-=d.height,d=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=d.height,i-=d.height,this.componentStore.xAxis.setAxisPosition("left"),d=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=d.width,n=d.width,this.componentStore.yAxis.setAxisPosition("top"),d=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=d.height,o=s+d.height,t>0&&(c+=t,t=0),i>0&&(f+=i,i=0),this.componentStore.plot.calculateSpace({width:c,height:f}),this.componentStore.plot.setBoundingBoxXY({x:n,y:o}),this.componentStore.yAxis.setRange([n,n+c]),this.componentStore.yAxis.setBoundingBoxXY({x:n,y:s}),this.componentStore.xAxis.setRange([o,o+f]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:o}),this.chartData.plots.some(R=>mt(R))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}}class ci{static build(t,i,s,n){return new li(t,i,s,n).getDrawableElement()}}let X=0,Tt,Y=Pt(),H=Dt(),y=Lt(),at=H.plotColorPalette.split(",").map(e=>e.trim()),G=!1,rt=!1;function Dt(){const e=zt(),t=ot();return wt(e.xyChart,t.themeVariables.xyChart)}function Pt(){const e=ot();return wt(Ft.xyChart,e.xyChart)}function Lt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function ht(e){const t=ot();return Gt(e.trim(),t)}function ui(e){Tt=e}function gi(e){e==="horizontal"?Y.chartOrientation="horizontal":Y.chartOrientation="vertical"}function xi(e){y.xAxis.title=ht(e.text)}function Et(e,t){y.xAxis={type:"linear",title:y.xAxis.title,min:e,max:t},G=!0}function di(e){y.xAxis={type:"band",title:y.xAxis.title,categories:e.map(t=>ht(t.text))},G=!0}function fi(e){y.yAxis.title=ht(e.text)}function pi(e,t){y.yAxis={type:"linear",title:y.yAxis.title,min:e,max:t},rt=!0}function mi(e){const t=Math.min(...e),i=Math.max(...e),s=N(y.yAxis)?y.yAxis.min:1/0,n=N(y.yAxis)?y.yAxis.max:-1/0;y.yAxis={type:"linear",title:y.yAxis.title,min:Math.min(s,t),max:Math.max(n,i)}}function vt(e){let t=[];if(e.length===0)return t;if(!G){const i=N(y.xAxis)?y.xAxis.min:1/0,s=N(y.xAxis)?y.xAxis.max:-1/0;Et(Math.min(i,1),Math.max(s,e.length))}if(rt||mi(e),_t(y.xAxis)&&(t=y.xAxis.categories.map((i,s)=>[i,e[s]])),N(y.xAxis)){const i=y.xAxis.min,s=y.xAxis.max,n=(s-i+1)/e.length,o=[];for(let c=i;c<=s;c+=n)o.push(`${c}`);t=o.map((c,f)=>[c,e[f]])}return t}function Mt(e){return at[e===0?0:e%at.length]}function yi(e,t){const i=vt(t);y.plots.push({type:"line",strokeFill:Mt(X),strokeWidth:2,data:i}),X++}function bi(e,t){const i=vt(t);y.plots.push({type:"bar",fill:Mt(X),data:i}),X++}function Ai(){if(y.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return y.title=St(),ci.build(Y,y,H,Tt)}function wi(){return H}function Si(){return Y}const Ci=function(){Ut(),X=0,Y=Pt(),y=Lt(),H=Dt(),at=H.plotColorPalette.split(",").map(e=>e.trim()),G=!1,rt=!1},_i={getDrawableElem:Ai,clear:Ci,setAccTitle:Nt,getAccTitle:Xt,setDiagramTitle:Yt,getDiagramTitle:St,getAccDescription:Ht,setAccDescription:$t,setOrientation:gi,setXAxisTitle:xi,setXAxisRangeData:Et,setXAxisBand:di,setYAxisTitle:fi,setYAxisRangeData:pi,setLineData:yi,setBarData:bi,setTmpSVGG:ui,getChartThemeConfig:wi,getChartConfig:Si},ki=(e,t,i,s)=>{const n=s.db,o=n.getChartThemeConfig(),c=n.getChartConfig();function f(p){return p==="top"?"text-before-edge":"middle"}function d(p){return p==="left"?"start":p==="right"?"end":"middle"}function R(p){return`translate(${p.x}, ${p.y}) rotate(${p.rotation||0})`}Ct.debug(`Rendering xychart chart +`+e);const _=qt(t),A=_.append("g").attr("class","main"),m=A.append("rect").attr("width",c.width).attr("height",c.height).attr("class","background");jt(_,c.height,c.width,!0),_.attr("viewBox",`0 0 ${c.width} ${c.height}`),m.attr("fill",o.backgroundColor),n.setTmpSVGG(_.append("g").attr("class","mermaid-tmp-group"));const T=n.getDrawableElem(),S={};function P(p){let C=A,h="";for(const[L]of p.entries()){let z=A;L>0&&S[h]&&(z=S[h]),h+=p[L],C=S[h],C||(C=S[h]=z.append("g").attr("class",p[L]))}return C}for(const p of T){if(p.data.length===0)continue;const C=P(p.groupTexts);switch(p.type){case"rect":C.selectAll("rect").data(p.data).enter().append("rect").attr("x",h=>h.x).attr("y",h=>h.y).attr("width",h=>h.width).attr("height",h=>h.height).attr("fill",h=>h.fill).attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth);break;case"text":C.selectAll("text").data(p.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",h=>h.fill).attr("font-size",h=>h.fontSize).attr("dominant-baseline",h=>f(h.verticalPos)).attr("text-anchor",h=>d(h.horizontalPos)).attr("transform",h=>R(h)).text(h=>h.text);break;case"path":C.selectAll("path").data(p.data).enter().append("path").attr("d",h=>h.path).attr("fill",h=>h.fill?h.fill:"none").attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth);break}}},Ri={draw:ki},Wi={parser:ti,db:_i,renderer:Ri};export{Wi as diagram}; diff --git a/assets/config_README.md.SXHxJUJe.js b/assets/config_README.md.SXHxJUJe.js new file mode 100644 index 000000000..2c69dac0d --- /dev/null +++ b/assets/config_README.md.SXHxJUJe.js @@ -0,0 +1 @@ +import{_ as l,c as t,o as a,a8 as e}from"./chunks/framework.C7ysi3tu.js";const p=JSON.parse('{"title":"配置","description":"","frontmatter":{"title":"配置","index":false},"headers":[],"relativePath":"config/README.md","filePath":"config/README.md","lastUpdated":1718342287000}'),i={name:"config/README.md"},r=e('',1),c=[r];function s(o,_,h,n,f,m){return a(),t("div",null,c)}const u=l(i,[["render",s]]);export{p as __pageData,u as default}; diff --git a/assets/config_README.md.SXHxJUJe.lean.js b/assets/config_README.md.SXHxJUJe.lean.js new file mode 100644 index 000000000..52c56b784 --- /dev/null +++ b/assets/config_README.md.SXHxJUJe.lean.js @@ -0,0 +1 @@ +import{_ as l,c as t,o as a,a8 as e}from"./chunks/framework.C7ysi3tu.js";const p=JSON.parse('{"title":"配置","description":"","frontmatter":{"title":"配置","index":false},"headers":[],"relativePath":"config/README.md","filePath":"config/README.md","lastUpdated":1718342287000}'),i={name:"config/README.md"},r=e("",1),c=[r];function s(o,_,h,n,f,m){return a(),t("div",null,c)}const u=l(i,[["render",s]]);export{p as __pageData,u as default}; diff --git a/assets/config_backup.md.DVnHVrTH.js b/assets/config_backup.md.DVnHVrTH.js new file mode 100644 index 000000000..5630df3ad --- /dev/null +++ b/assets/config_backup.md.DVnHVrTH.js @@ -0,0 +1 @@ +import{_ as r,D as l,c as s,j as a,a as e,I as o,a8 as n,o as c}from"./chunks/framework.C7ysi3tu.js";const C=JSON.parse('{"title":"备份","description":"","frontmatter":{"lang":"zh-cn","title":"备份"},"headers":[],"relativePath":"config/backup.md","filePath":"config/backup.md","lastUpdated":1719473374000}'),i={name:"config/backup.md"},_=n('

备份

本节内容

本节将介绍关于备份、自动备份、自动清理旧备份的相关设置。

在本节中的一些部分,你将使用到 cron 表达式。这是一种表达一个或一系列时间点的语法。你可以参考以下内容以学习 cron 表达式。

请注意,海豹核心使用不含秒数、由 5 个部分组成的 cron 格式,这也是 Linux 系统中使用的格式;而不是包含秒数、由 6 个部分组成的格式。

关于备份

经常备份是避免数据损失的最佳手段。海豹核心默认提供每 12 小时一次的自动备份。海豹核心产生的所有备份都位于 backups/ 目录下。

',4),p=a("code",null,"bak_年月日_时分秒[_auto]_rXX_XXXXXXXX.zip",-1),d=a("code",null,"bak-年月日_时分秒[_auto]_随机数.zip",-1),h=a("p",null,[e("文件名中含有 "),a("code",null,"auto"),e(" 字样的是自动生成的备份。")],-1),u=a("p",null,"你也可以对备份行为进行设置。相关设置均位于 WebUI 的「综合设置 - 备份」页面。",-1),b=a("p",null,"在此页面上,你将看到:自动备份设置、自动清理设置、当前备份文件列表。在更改任何设置后,你需要点击右上角的「保存设置」使之生效。",-1),f=a("h2",{id:"手动备份",tabindex:"-1"},[e("手动备份 "),a("a",{class:"header-anchor",href:"#手动备份","aria-label":'Permalink to "手动备份"'},"​")],-1),m=a("p",null,"点击页面右上角的「立即备份」按钮,可以立即生成一份备份。",-1),k=a("h2",{id:"自动备份",tabindex:"-1"},[e("自动备份 "),a("a",{class:"header-anchor",href:"#自动备份","aria-label":'Permalink to "自动备份"'},"​")],-1),x=a("p",null,"勾选「开启」启用自动备份。",-1),g=a("p",null,"在「备份间隔」项可以通过 cron 表达式规定自动备份的时机。",-1),P=n('

自动清理

在「清理模式」中选择「保留一定数量」或「保留一定时间内」启用自动清理。

配置清理范围

在「保留一定数量」模式下,自动清理时将保留最新的指定数量的备份文件,更老的文件将被删除。

在「保留一定时间内」模式下,自动清理时将保留创建时间在指定时间范围内的备份文件,更老的文件将被删除。

配置清理时机

勾选「触发方式」中的「自动备份后」和/或「定时」以设置自动清理时机。两种触发方式可以同时使用。

如果勾选了「自动备份后」,在每次自动备份完成后将执行一次自动清理。

如果勾选了「定时」,按输入的 cron 表达式指定自动清理的时机。

备份列表

在「已备份文件」中按时间从新到旧列出了当前存在的备份文件。

你可通过「进入批量删除页面」进行手动批量删除。

点击每一个备份文件右边的「下载」以下载对应文件,点击垃圾桶图标按钮以删除单个备份文件。

',13);function T(q,X,v,S,V,N){const t=l("Badge");return c(),s("div",null,[_,a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.5.0"}),e(" 起,备份文件的命名遵循以下格式:"),p,e("。")]),a("p",null,[e("如果你使用的是 "),o(t,{type:"tip",text:"v1.4.5"}),e(" 或之前版本,文件名格式是:"),d,e("。")]),h,u,b,f,m,a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.5.0"}),e(" 起,你可以在手动备份时调整备份范围。")]),k,x,g,a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.5.0"}),e(" 起,在「备份范围」项,你可选择每次自动备份的范围。")]),P])}const I=r(i,[["render",T]]);export{C as __pageData,I as default}; diff --git a/assets/config_backup.md.DVnHVrTH.lean.js b/assets/config_backup.md.DVnHVrTH.lean.js new file mode 100644 index 000000000..e27e252d0 --- /dev/null +++ b/assets/config_backup.md.DVnHVrTH.lean.js @@ -0,0 +1 @@ +import{_ as r,D as l,c as s,j as a,a as e,I as o,a8 as n,o as c}from"./chunks/framework.C7ysi3tu.js";const C=JSON.parse('{"title":"备份","description":"","frontmatter":{"lang":"zh-cn","title":"备份"},"headers":[],"relativePath":"config/backup.md","filePath":"config/backup.md","lastUpdated":1719473374000}'),i={name:"config/backup.md"},_=n("",4),p=a("code",null,"bak_年月日_时分秒[_auto]_rXX_XXXXXXXX.zip",-1),d=a("code",null,"bak-年月日_时分秒[_auto]_随机数.zip",-1),h=a("p",null,[e("文件名中含有 "),a("code",null,"auto"),e(" 字样的是自动生成的备份。")],-1),u=a("p",null,"你也可以对备份行为进行设置。相关设置均位于 WebUI 的「综合设置 - 备份」页面。",-1),b=a("p",null,"在此页面上,你将看到:自动备份设置、自动清理设置、当前备份文件列表。在更改任何设置后,你需要点击右上角的「保存设置」使之生效。",-1),f=a("h2",{id:"手动备份",tabindex:"-1"},[e("手动备份 "),a("a",{class:"header-anchor",href:"#手动备份","aria-label":'Permalink to "手动备份"'},"​")],-1),m=a("p",null,"点击页面右上角的「立即备份」按钮,可以立即生成一份备份。",-1),k=a("h2",{id:"自动备份",tabindex:"-1"},[e("自动备份 "),a("a",{class:"header-anchor",href:"#自动备份","aria-label":'Permalink to "自动备份"'},"​")],-1),x=a("p",null,"勾选「开启」启用自动备份。",-1),g=a("p",null,"在「备份间隔」项可以通过 cron 表达式规定自动备份的时机。",-1),P=n("",13);function T(q,X,v,S,V,N){const t=l("Badge");return c(),s("div",null,[_,a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.5.0"}),e(" 起,备份文件的命名遵循以下格式:"),p,e("。")]),a("p",null,[e("如果你使用的是 "),o(t,{type:"tip",text:"v1.4.5"}),e(" 或之前版本,文件名格式是:"),d,e("。")]),h,u,b,f,m,a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.5.0"}),e(" 起,你可以在手动备份时调整备份范围。")]),k,x,g,a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.5.0"}),e(" 起,在「备份范围」项,你可选择每次自动备份的范围。")]),P])}const I=r(i,[["render",T]]);export{C as __pageData,I as default}; diff --git a/assets/config_ban.md.W8hpQvdM.js b/assets/config_ban.md.W8hpQvdM.js new file mode 100644 index 000000000..5d5869503 --- /dev/null +++ b/assets/config_ban.md.W8hpQvdM.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as i}from"./chunks/framework.C7ysi3tu.js";const l="/sealdice-manual-next/assets/ban-ui.Dhue1cR0.png",n="/sealdice-manual-next/assets/ban-add-in-ui.DHyGW49r.png",o="/sealdice-manual-next/assets/ban-config.SLkrj0Hg.png",g=JSON.parse('{"title":"黑白名单","description":"","frontmatter":{"lang":"zh-cn","title":"黑白名单"},"headers":[],"relativePath":"config/ban.md","filePath":"config/ban.md","lastUpdated":1712309998000}'),r={name:"config/ban.md"},s=i('

黑白名单

本节内容

本节将介绍黑白名单的设置,请善用侧边栏和搜索,按需阅读文档。

如何设置黑白名单?

黑白名单是骰子拉黑/豁免的用户/群的列表。来源可能是骰主在后台设置的,也可能是因为触发了某些自动规则添加的。

黑白名单

点击海豹 UI 界面的「综合设置 - 黑白名单」选项,你就可以进入黑白名单管理页面。

添加黑白名单

UI 手动添加

点击「添加」按钮,可在后台手动添加黑(白)名单。

UI 手动添加黑白名单

指令添加

使用 - 核心指令

自动添加

触发某些自动规则时,可能会自动添加用户进黑名单,如:

黑白名单设置

点开「设置选项」,可以对黑白名单进行一些设置。

黑白名单设置

黑名单惩罚:

  • 拒绝回复:骰子不回复黑名单用户;
  • 拒绝邀请:骰子自动拒绝黑名单用户的邀请;
  • 退出事发群:比如禁言骰子触发了黑名单事件,会退出禁言的事发群;
  • 使用时立即退出群:有黑名单用户在其他群尝试使用骰子时,骰子会立即退群。

连带责任:当有用户触发黑名单事件时,对应的群组和邀请人会按 设置的比例 增加怒气值。

',21),c=[s];function h(d,p,u,_,m,b){return t(),e("div",null,c)}const q=a(r,[["render",h]]);export{g as __pageData,q as default}; diff --git a/assets/config_ban.md.W8hpQvdM.lean.js b/assets/config_ban.md.W8hpQvdM.lean.js new file mode 100644 index 000000000..c3bbfc591 --- /dev/null +++ b/assets/config_ban.md.W8hpQvdM.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as i}from"./chunks/framework.C7ysi3tu.js";const l="/sealdice-manual-next/assets/ban-ui.Dhue1cR0.png",n="/sealdice-manual-next/assets/ban-add-in-ui.DHyGW49r.png",o="/sealdice-manual-next/assets/ban-config.SLkrj0Hg.png",g=JSON.parse('{"title":"黑白名单","description":"","frontmatter":{"lang":"zh-cn","title":"黑白名单"},"headers":[],"relativePath":"config/ban.md","filePath":"config/ban.md","lastUpdated":1712309998000}'),r={name:"config/ban.md"},s=i("",21),c=[s];function h(d,p,u,_,m,b){return t(),e("div",null,c)}const q=a(r,[["render",h]]);export{g as __pageData,q as default}; diff --git a/assets/config_basic.md.CARkkz0F.js b/assets/config_basic.md.CARkkz0F.js new file mode 100644 index 000000000..db9de5d65 --- /dev/null +++ b/assets/config_basic.md.CARkkz0F.js @@ -0,0 +1 @@ +import{_ as r,D as s,c as i,j as a,a as e,I as o,a8 as l,o as c}from"./chunks/framework.C7ysi3tu.js";const T=JSON.parse('{"title":"基础设置","description":"","frontmatter":{"lang":"zh-cn","title":"基础设置"},"headers":[],"relativePath":"config/basic.md","filePath":"config/basic.md","lastUpdated":1720989434000}'),n={name:"config/basic.md"},h=l('

基础设置

本节内容

本节将介绍基础设置内的内容。

Master 管理

在这里你可以管理你的骰娘的 Master 列表。

Master 解锁码

获取 Master 解锁码。Master 解锁码的用法参见 骰主指令。每次获取有效期 20 分钟。

Master 列表

在这里你可以添加、删除或更改 Master。请使用统一 ID,可使用 .userid 指令查看你的账号 ID。

你也可添加群组 ID,在指定的群中所有人均视为有 Master 权限

消息通知列表

会对以下消息进行通知:加群邀请、好友邀请、进入群组、被踢出群、被禁言、自动激活、指令退群。

此处应使用统一 ID。在你开启「邮箱通知」后,给通知列表中的 QQ 号发送通知时会自动转换成对应邮箱。

邮箱通知

为处理某些平台通知频繁引起的问题,开启此功能后只会通过邮件进行通知。请慎重决定是否开启,避免出现 为什么我的骰娘不发通知了? 的情况。

发件邮箱

填写你希望的发件邮箱,你指定的邮箱需支持通过 SMTP 协议发信,特别提醒:QQ 号被冻结后对应账号的邮箱也无法使用。

邮箱密钥

填写邮箱密钥。

对于一些邮箱,密钥并不是登陆密码;例如:QQ 邮箱的 SMTP 功能需使用单独生成的授权码。

SMTP 地址

填写你邮箱服务提供商的 SMTP 地址。例如:QQ 邮箱为 smtp.qq.com

私骰模式

因 QQ 的实现变更,此功能暂无实际作用。

允许自由开关

允许任何人执行 bot on/off 和 ext on/off,否则只有邀请者、管理员和 Master 进行操作。

启用戳一戳

仅 QQ 平台,关闭后不回应戳一戳。

由于最新版 NTQQ 暂不支持戳一戳,所以 内置客户端/Lagrange/NapCat/LLOneBot 等基于 NTQQ 的连接方案均无法回应戳一戳,同时建议使用上述客户端连接 QQ 的用户关闭此开关,以免产生不必要的报错和麻烦。

限制 .text 指令

默认开启。开启后只有 Master 和信任用户可使用 .text 指令。如果你不了解这个指令,一定要开启。

忽略 .bot 裸指令

默认关闭。开启后在群聊中只有 AT 骰子才会响应 .bot 指令。

存活确认

定期向通知列表发送消息,以便于骰主知晓存活状态。

存活消息间隔写法:@every 1h30m10s 表示 1 小时 30 分 10 秒。更多请参阅 cron 文档

注意:重启骰子后重新计时。

日志记录提示

开启后,每记录 N 条文本后,主动发送一条提醒信息,避免忘记 .log off

刷屏警告

默认关闭。开启后会对使用指令过快的用户和群组进行警告,警告后继续使用指令会增加怒气值,只对 QQ 平台有效。

刷屏警告工作原理为令牌桶算法,具体请看 wiki

注意

如果您感觉难以理解,为了稳定性还是不要更改比较好!

对速率限制的所有更改 重启后生效

速率设置支持以下格式:

@every 3s 每 3 秒一个;

3 每秒 3 个。

访问控制

对于 UI 界面地址由 {Host:Port} 两部分组成。

Host 可分为两种,0.0.0.0 主要用于服务器,代表可以在公网中用你的手机和电脑访问;127.0.0.1 主要用于自己的电脑/手机,只能在当前设备上管理海豹。

Port 为海豹核心运行的端口,默认为 3211,想开多个海豹必须修改端口号!

注意:重启骰子后生效!

当你的海豹核心运行在公网时可设置密码,避免他人访问。

登录后会自动记住一段时间。如果忘记密码请看 我忘了 WebUI 密码

QQ 频道设置

开启后将回应频道消息。基于 NTQQ 的连接方案暂不支持 QQ 频道。

加好友验证

仅当 QQ 账号选用「回答问题并由我确认」方式时有效。

如果留空,则海豹核心将通过所有好友请求。

你设定的答案不应含有空格。如果设置了多个问题,将所有答案用空格连接起来。例如:

问题 1:以 dis 开头的退群指令是什么

问题 2:你是否已阅读使用说明

则在 WebUI 应填写为:dismiss 是

',59),d={id:"自动退出不活跃群组",tabindex:"-1"},p=a("a",{class:"header-anchor",href:"#自动退出不活跃群组","aria-label":'Permalink to "自动退出不活跃群组 "'},"​",-1),b=a("p",null,"你可以设定一个时间线,单位是 天。",-1),u=a("p",null,"每天凌晨 4 时,海豹核心会检查在每个 QQ 群组中最后一次发送消息的时间。如果未发送消息的天数超过了你的设定,海豹核心会自动从该群组中退出。",-1),m=a("p",null,"退出前,海豹会向通知列表发送一条通知。",-1),f=a("p",null,"将时间线设置为 0 即可关闭自动退群功能。",-1),q=a("p",null,"自动退群将会按批次执行。你可以在 WebUI 中设置每个批次的数量和批次间隔时间。每两批之间将会间隔你所指定的分钟数。每批次内退出两个群将间隔 10 秒。",-1);function _(k,x,P,Q,g,v){const t=s("Badge");return c(),i("div",null,[h,a("h2",d,[e("自动退出不活跃群组 "),o(t,{type:"tip",text:"v1.4.2"}),e(),p]),a("p",null,[e("这是 "),o(t,{type:"tip",text:"v1.4.2"}),e(" 版本新增的功能。")]),b,u,m,f,a("p",null,[e("在 "),o(t,{type:"tip",text:"v1.4.4"}),e(" 版本做了优化调整。")]),q])}const I=r(n,[["render",_]]);export{T as __pageData,I as default}; diff --git a/assets/config_basic.md.CARkkz0F.lean.js b/assets/config_basic.md.CARkkz0F.lean.js new file mode 100644 index 000000000..838b2d157 --- /dev/null +++ b/assets/config_basic.md.CARkkz0F.lean.js @@ -0,0 +1 @@ +import{_ as r,D as s,c as i,j as a,a as e,I as o,a8 as l,o as c}from"./chunks/framework.C7ysi3tu.js";const T=JSON.parse('{"title":"基础设置","description":"","frontmatter":{"lang":"zh-cn","title":"基础设置"},"headers":[],"relativePath":"config/basic.md","filePath":"config/basic.md","lastUpdated":1720989434000}'),n={name:"config/basic.md"},h=l("",59),d={id:"自动退出不活跃群组",tabindex:"-1"},p=a("a",{class:"header-anchor",href:"#自动退出不活跃群组","aria-label":'Permalink to "自动退出不活跃群组 "'},"​",-1),b=a("p",null,"你可以设定一个时间线,单位是 天。",-1),u=a("p",null,"每天凌晨 4 时,海豹核心会检查在每个 QQ 群组中最后一次发送消息的时间。如果未发送消息的天数超过了你的设定,海豹核心会自动从该群组中退出。",-1),m=a("p",null,"退出前,海豹会向通知列表发送一条通知。",-1),f=a("p",null,"将时间线设置为 0 即可关闭自动退群功能。",-1),q=a("p",null,"自动退群将会按批次执行。你可以在 WebUI 中设置每个批次的数量和批次间隔时间。每两批之间将会间隔你所指定的分钟数。每批次内退出两个群将间隔 10 秒。",-1);function _(k,x,P,Q,g,v){const t=s("Badge");return c(),i("div",null,[h,a("h2",d,[e("自动退出不活跃群组 "),o(t,{type:"tip",text:"v1.4.2"}),e(),p]),a("p",null,[e("这是 "),o(t,{type:"tip",text:"v1.4.2"}),e(" 版本新增的功能。")]),b,u,m,f,a("p",null,[e("在 "),o(t,{type:"tip",text:"v1.4.4"}),e(" 版本做了优化调整。")]),q])}const I=r(n,[["render",_]]);export{T as __pageData,I as default}; diff --git a/assets/config_censor.md.Boq6bXFn.js b/assets/config_censor.md.Boq6bXFn.js new file mode 100644 index 000000000..4b225c1e6 --- /dev/null +++ b/assets/config_censor.md.Boq6bXFn.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const l="/sealdice-manual-next/assets/censor-ui.DLNYMxtg.png",s="/sealdice-manual-next/assets/censor-config1.Bip8x8md.png",i="/sealdice-manual-next/assets/censor-config2.DGoTrdv-.png",c="/sealdice-manual-next/assets/censor-words.Dn7Hjhhz.png",r="/sealdice-manual-next/assets/censor-log.BUJg4eNS.png",x=JSON.parse('{"title":"拦截","description":"","frontmatter":{"lang":"zh-cn","title":"拦截"},"headers":[],"relativePath":"config/censor.md","filePath":"config/censor.md","lastUpdated":1714442589000}'),n={name:"config/censor.md"},p=o('

拦截

本节内容

本节将介绍拦截功能和相关设置,请善用侧边栏和搜索,按需阅读文档。

什么是拦截功能?

  • 我不希望我的骰子被用来跑粉红团,如何避免?

  • 发生了超过普通人类认知的离谱事情,如何设置骰子收到了某些词语时自动拦截掉这些用户?

  • ……

「拦截管理」提供检查骰子收到的消息内容中是否有敏感词汇,命中时进行相应处理的能力。

点击海豹 UI 界面的「扩展功能 - 拦截管理」选项,你就可以进入拦截管理页面。

拦截管理

如果显示未启用的话,点击左上角开关来启用拦截。

配置拦截

拦截设置主要分为两部分:「匹配选项」,即设置拦截什么样的消息;「响应设置」,即命中敏感词后要如何处理。下面我们将一一介绍。

匹配选项

匹配选项

匹配选项中最重要的设置就是 「拦截范围」,这个选项决定了什么范围的内容会进行拦截检查。

  • 发出的消息:拦截骰子发出的消息文本(包括指令回复和自定义回复,总之所有骰子发的内容)进行检查
  • 收到的指令:拦截骰子收到的命令文本进行检查,如收到「.rd 进行一次骰点」时,会检查其中的「进行一次骰点」,不受 bot off 影响
  • 收到的所有消息:拦截骰子收到的所有消息进行检查,包括不以 . 等开头的消息,不受 bot off 影响

其余选项可以参看对应的提示,悬浮在问号上即可看见对应帮助。

响应设置

海豹核心的敏感词主要分为四个等级:提醒 注意 警告 危险,程度依次升高。你可以对不同等级的处理方式做不同的设置。

当消息命中敏感词的时候,将取命中词汇中的 最高等级 作为处理等级。当同一个用户触发同一等级的次数超过对应设置时,将进行对应等级配置的操作,同时清空用户该等级的计数,重新计算。

匹配设置

  • 发送警告:会向触发用户发送警告信息;
  • 通知 Master:会通知骰主;
  • 拉黑用户/群/邀请人,增加怒气值:拉黑和怒气值机制,见 黑白名单

敏感词管理

将标签页切换到「敏感词管理」,可以看到如下的两个列表:「词库列表」和「敏感词列表」。

页面中也提供了相应的帮助信息,可以点开查看。

敏感词管理

敏感词库通常为 txttoml 格式的文件,通过「导入」按钮可以导入多个词库,词库同时生效,其中重复的词取设置的最高等级。导入后点击「重载拦截」按钮以生效变更。

提示:为什么没有默认的敏感词库?

「当你在凝视深渊的时候,深渊也正在凝视着你。」

敏感词库本身属于敏感信息,故海豹官方不提供默认的敏感词库。

下方的敏感词列表会展示当前加载的敏感词,如果设置中勾选了「匹配拼音」,也会将实际去匹配的拼音展示出来。

查看拦截日志

在「拦截日志」标签页,你可以看到在何时、何地、哪个用户触发了什么等级的敏感词,具体的内容是什么。

拦截日志

如何让用户/群豁免检查?

给用户/群配置白名单,即可豁免检查。设置白名单见 黑白名单

如何编写敏感词库?

在「敏感词管理」标签页,提供了词库模板的下载。

具体的编写帮助见 进阶 - 编写敏感词库

',35),d=[p];function h(m,u,_,b,f,g){return t(),e("div",null,d)}const k=a(n,[["render",h]]);export{x as __pageData,k as default}; diff --git a/assets/config_censor.md.Boq6bXFn.lean.js b/assets/config_censor.md.Boq6bXFn.lean.js new file mode 100644 index 000000000..3a786bffa --- /dev/null +++ b/assets/config_censor.md.Boq6bXFn.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const l="/sealdice-manual-next/assets/censor-ui.DLNYMxtg.png",s="/sealdice-manual-next/assets/censor-config1.Bip8x8md.png",i="/sealdice-manual-next/assets/censor-config2.DGoTrdv-.png",c="/sealdice-manual-next/assets/censor-words.Dn7Hjhhz.png",r="/sealdice-manual-next/assets/censor-log.BUJg4eNS.png",x=JSON.parse('{"title":"拦截","description":"","frontmatter":{"lang":"zh-cn","title":"拦截"},"headers":[],"relativePath":"config/censor.md","filePath":"config/censor.md","lastUpdated":1714442589000}'),n={name:"config/censor.md"},p=o("",35),d=[p];function h(m,u,_,b,f,g){return t(),e("div",null,d)}const k=a(n,[["render",h]]);export{x as __pageData,k as default}; diff --git a/assets/config_custom_text.md.O7hSd7Sq.js b/assets/config_custom_text.md.O7hSd7Sq.js new file mode 100644 index 000000000..d82cc796e --- /dev/null +++ b/assets/config_custom_text.md.O7hSd7Sq.js @@ -0,0 +1 @@ +import{_ as t,D as c,c as d,j as e,I as s,a8 as a,o as l}from"./chunks/framework.C7ysi3tu.js";const i="/sealdice-manual-next/assets/custom-text-main.B9CfQdSx.png",p="/sealdice-manual-next/assets/custom-text-great-success.CACLVCIO.png",n="/sealdice-manual-next/assets/custom-text-add-option.0FNaSzlW.png",r="/sealdice-manual-next/assets/custom-text-delete-option.Crh9iJ_Z.png",h="/sealdice-manual-next/assets/custom-text-waiting-save.77cjoXk7.png",_="/sealdice-manual-next/assets/custom-text-reset.BrJxXN0J.png",u="/sealdice-manual-next/assets/custom-text-filter.DRwGwfAH.png",m="/sealdice-manual-next/assets/custom-text-pic-example.mEfPZlG7.png",b="/sealdice-manual-next/assets/custom-text-pic-show.BzD0TJEe.png",g="/sealdice-manual-next/assets/custom-text-with-var.cb258LWG.png",A=JSON.parse('{"title":"自定义文案","description":"","frontmatter":{"lang":"zh-cn","title":"自定义文案"},"headers":[],"relativePath":"config/custom_text.md","filePath":"config/custom_text.md","lastUpdated":1720774611000}'),x={name:"config/custom_text.md"},k=a('

自定义文案

本节内容

本节将介绍自定义文案的设置,请善用侧边栏和搜索,按需阅读文档。

什么是自定义文案?

  • 骰子的回复内容太过单调,要怎样让它丰富起来呢?

  • 骰子的回复内容太过繁琐,要怎样让它简洁起来呢?

  • 我的骰子有自己的人设,怎么修改那些固定的回复词,让 TA 符合人设呢?

  • ……

如果你想要修改骰子向用户回复的提示词,那么你就需要修改自定义文案。

海豹骰子的回复内容几乎可以进行完全的自定义,绝大部分指令的文案都可以进行修改。修改的文案内容还支持插入图片和 CQ 码。

如何修改文案?

在海豹 UI 界面的「自定义文案」选项中,你可以看见文案被按照几个大类放置在一起。

自定义文案设置页

左侧是分类,可以看见,文案目前被分为以下几个大类:

  • CoC:内置的 CoC 支持相关的文案;
  • DND:内置的 DND 支持相关的文案;
  • 其它:一些杂项文案设置;
  • 功能:内置 功能 的相关文案,如 .jrrp 的文案;
  • 日志:跑团日志 功能相关的文案;
  • 核心:海豹核心功能的文案。

在每一个分类中,都可以在右侧看见当前分类的「文案列表」与上方的「筛选」,接下来将依次介绍它们。

文案列表

在「文案列表」中,每一个文案都以类似下图的格式展示,我们以「大成功」的文案来举例:

大成功文案

可以看见,对于「大成功」文案,它归属于 判定-常规 这个小类中,结果有两行文案,这意味着骰子会 随机抽取 其中的一行文案来使用。例如:

',16),q={class:"info custom-block"},f=e("p",{class:"custom-block-title"},"示例",-1),v=a('

如果想要添加一行,那么点击左侧「加号」按钮:

增加文案选项

如果你觉得某一行不满意,点左侧「删除」按钮。当然,至少需要保留一个选项。

删除文案选项

修改好之后,不要忘记保存!

等待保存

注意:尽早保存!

对文案的修改建议及时保存,同时注意 保存前不要切换左侧的分类,否则未保存的修改将丢失!

最后,如果你想回到初始设置,点击右上角的「刷子」图标。

重置为初始设置

随后会弹出确认框,点击确定后,一切就是刚开始的样子了。

筛选文案

我们可以看见,为了方便在本组中查找到对应的条目,在文案列表的上方都有着对应的「筛选」功能。

文案筛选

  • 搜索:搜索文案的小类和具体文案名。
  • 指定类别:
    • 全部:显示全部文案;
    • 默认文案:显示当前大类下未修改过的文案;
    • 修改过:已修改过的文案;
    • 指定分组:选中后会多出一个「分组」下拉框,用于筛选出指定小类下的文案条目;
    • 旧版文案:海豹的更新有时会调整和删除部分文案条目,但旧的数据不会删除。海豹从旧版升级后,可以通过此项筛选出那些不用的条目。

文案的导入/导出

  • 我不想自己一条条修改文案,如何快速导入?

  • 我想给我的小伙伴分享我的文案,他们要如何导入进去?

如果需要导入/导出文案内容,可以点击右上角的「导入/导出」按钮进入页面复制粘贴,就能快速分享相关设置了。

注意:确认内容完整再导入

粘贴文案内容时,注意检查自己导入的内容是不是完整复制进来的。

请不要在新版本导入旧版本的文案,这种做法会绕过文案版本的迁移变更,导致缺少条目,并且很难处理。

自定义文案组合

在「自定义文案」中你可以经常看见一个文案调用其他文案的情况,下面将简单介绍他们之间的关系。

COC

以下为 COC 扩展的文案介绍。

.ra/rc 检定

检定 中的 {$t结果文本} 即调用 检定_单项结果文本

检定_多轮 中的 {$t结果文本} 即调用 n 次 检定_单项结果文本

检定_单项结果文本 中的 {$t判定结果} 即调用 判定-常规 对应的回复词,当你的检定为多轮检定时,将调用 判定-简短

对于 判定_必须_困难_失败 此类必须判定的回复词,使用于指定检定难度的情况,如 .ra 困难侦察

检定_暗中_群内 即进行暗骰时发在群里的回复词。

检定_暗中_私聊_前缀 即进行暗骰时发送到私聊的回复词的前缀,实际发送内容为前缀 + 射击检定

.st 属性设置

属性设置_增减 中的 {$t变更列表} 即调用 属性设置_增减_单项,当你的增减表达式错误时,则调用 属性设置_增减_错误的值

.sc 理智检定

理智检定 中的 {$t结果文本} 即调用 理智检定_单项结果文本{$t附加语} 即调用 理智检定_附加语_大失败 等对应的回复词;{$t提示_角色疯狂} 即调用 提示_临时疯狂,当理智归零时则调用 提示_永久疯狂

.en 技能成长

技能成长中{$t结果文本} 即调用 技能成长_结果_成功,当成长失败且没有失败成长值时则调用 技能成长_结果_失败,当成长失败且有失败成长值时则调用 技能成长_结果_失败变更

技能成长_批量 中的 {$t总结果文本} 即调用 n 次 技能成长_批量_单条技能成长_批量_分隔符 为每一单条中间的分隔符。

技能成长_批量_单条 中的 {$t结果文本} 即调用 技能成长_结果_成功_无后缀,当成长失败且没有失败成长值时则调用 技能成长_结果_失败_无后缀,当成长失败且有失败成长值时则调用 技能成长_结果_失败变更_无后缀

对于 技能成长_属性未录入 等回复语,你可以参考上面的内容自行对比理解。

注意:无前缀/无后缀

此处内容较为复杂,你可以看出很多回复语都有普通无前缀/无后缀两条区分,这主要是为了批量成长时便于引用无前缀/无后缀的回复,使前缀/后缀不会反复出现在批量成长中。

核心

.r 骰点

暗骰_群内 为暗骰时发送到群内的回复语,暗骰_私聊_前缀 为私聊发指令者的回复语的前缀,实际内容为 暗骰_私聊_前缀 + 骰点

骰点{$t原因句子} 即调用 骰点_原因{$t结果文本} 即调用 骰点_单项结果文本

进行多轮骰点时 骰点_多轮 将替换 骰点 进行回复,{$t结果文本} 即调用 n 条 骰点_单项结果文本

.alias 快捷指令

快捷指令_列表 中的 {$t列表内容} 即调用 快捷指令_列表_单行,当有多条指令时以 快捷指令_列表_分隔符 为分隔符,若没有快捷指令则调用 快捷指令_列表_空

快捷指令触发_前缀 中的 {$t指令来源}群/个人{$t目标指令} 即快捷指令指向的原指令。

文案插入图片和 CQ 码

将图片放在骰子的适当目录(建议放在 data/images),再按照相应图片的路径插入这样一段文本即可。以图片 data/images/sealdice.png 为例:

插入文本为 [图:data/images/sealdice.png]

例如修改骰子进群的文案:

文案图片示例

全文案为:

text
<{核心:骰子名字}> 已经就绪。可通过.help 查看指令列表\\n[图:data/images/sealdice.png]

效果如下:

文案回复图片效果

文案变量标签

你可能注意到,有些词条下面有这样的内容,如下图的 $t群组骰子面数

有变量标签的文案

文案下方的标签代表了被默认文案所使用的特殊变量,你可以使用 {变量名} 来插入他们,例如 {$t群组骰子面数}

除此之外,有些变量可以在所有文案中使用,具体列表可以见 进阶 - 内置脚本语言

在一个文案中使用另一个文案

所有的自定义文案都可以嵌套使用,例如:

text
这里是{核心:骰子名字},我是一个示例

默认会被解析为:

text
这里是海豹,我是一个示例

危险:禁止递归嵌套!

千万不要递归嵌套,会发生很糟糕的事情!

文案常见问题

骰子进群和成为好友的问候语是哪个?

核心:骰子进群

核心:骰子成为好友

更复杂的文案设置

  • 我希望能根据骰点结果显示不同的文案,要怎么实现?

  • 我希望骰子能有多套回复词,要如何设置?

  • ……

更复杂的文案设置涉及到逻辑的编写,见 进阶 - 编写复杂文案

',74);function C(P,$,w,T,D,N){const o=c("ChatBox");return l(),d("div",null,[k,e("div",q,[f,s(o,{messages:[{content:".ra 力量",send:!0},{content:"<木落>的力量检定结果为:D100=3/30=([1d100=3]) 大成功!"},{content:".ra 力量",send:!0},{content:"<木落>的力量检定结果为:D100=2/30=([1d100=3]) 运气不错,大成功!"}]})]),v])}const B=t(x,[["render",C]]);export{A as __pageData,B as default}; diff --git a/assets/config_custom_text.md.O7hSd7Sq.lean.js b/assets/config_custom_text.md.O7hSd7Sq.lean.js new file mode 100644 index 000000000..52c96d7ce --- /dev/null +++ b/assets/config_custom_text.md.O7hSd7Sq.lean.js @@ -0,0 +1 @@ +import{_ as t,D as c,c as d,j as e,I as s,a8 as a,o as l}from"./chunks/framework.C7ysi3tu.js";const i="/sealdice-manual-next/assets/custom-text-main.B9CfQdSx.png",p="/sealdice-manual-next/assets/custom-text-great-success.CACLVCIO.png",n="/sealdice-manual-next/assets/custom-text-add-option.0FNaSzlW.png",r="/sealdice-manual-next/assets/custom-text-delete-option.Crh9iJ_Z.png",h="/sealdice-manual-next/assets/custom-text-waiting-save.77cjoXk7.png",_="/sealdice-manual-next/assets/custom-text-reset.BrJxXN0J.png",u="/sealdice-manual-next/assets/custom-text-filter.DRwGwfAH.png",m="/sealdice-manual-next/assets/custom-text-pic-example.mEfPZlG7.png",b="/sealdice-manual-next/assets/custom-text-pic-show.BzD0TJEe.png",g="/sealdice-manual-next/assets/custom-text-with-var.cb258LWG.png",A=JSON.parse('{"title":"自定义文案","description":"","frontmatter":{"lang":"zh-cn","title":"自定义文案"},"headers":[],"relativePath":"config/custom_text.md","filePath":"config/custom_text.md","lastUpdated":1720774611000}'),x={name:"config/custom_text.md"},k=a("",16),q={class:"info custom-block"},f=e("p",{class:"custom-block-title"},"示例",-1),v=a("",74);function C(P,$,w,T,D,N){const o=c("ChatBox");return l(),d("div",null,[k,e("div",q,[f,s(o,{messages:[{content:".ra 力量",send:!0},{content:"<木落>的力量检定结果为:D100=3/30=([1d100=3]) 大成功!"},{content:".ra 力量",send:!0},{content:"<木落>的力量检定结果为:D100=2/30=([1d100=3]) 运气不错,大成功!"}]})]),v])}const B=t(x,[["render",C]]);export{A as __pageData,B as default}; diff --git a/assets/config_deck.md.B8kEiGt6.js b/assets/config_deck.md.B8kEiGt6.js new file mode 100644 index 000000000..6853164ed --- /dev/null +++ b/assets/config_deck.md.B8kEiGt6.js @@ -0,0 +1,2 @@ +import{_ as a,c as e,o as t,a8 as s}from"./chunks/framework.C7ysi3tu.js";const c="/sealdice-manual-next/assets/deck-ui.DKzN0h-f.png",o="/sealdice-manual-next/assets/deck-new-features.vhmgDyTa.png",i="/sealdice-manual-next/assets/deck-diff.C0GgnssI.png",f=JSON.parse('{"title":"牌堆","description":"","frontmatter":{"lang":"zh-cn","title":"牌堆"},"headers":[],"relativePath":"config/deck.md","filePath":"config/deck.md","lastUpdated":1714442589000}'),l={name:"config/deck.md"},d=s('

牌堆

本节内容

本节将介绍牌堆功能,请善用侧边栏和搜索,按需阅读文档。

牌堆是什么?

「牌堆」是一组有名字的文本,你可以把它想象成一组扑克牌,通过 .draw 命令来随机抽取其中的内容发送。为了便于骰子读取增加相应的说明内容,牌堆以某种结构化的格式保存成文件。

提示:牌堆

牌堆以 json yamltoml 格式组织起来,但其本质只是一段文本,只是编写需要遵循对应的结构方便读取。

获取牌堆

你可以在 牌堆仓库 或官方群的群文件中找到其他骰主分享的牌堆。

提示:无法访问仓库?

仓库位于 GitHub,访问时请确认你的网络状况。

怎么上传牌堆到骰子?怎么管理牌堆?

点击海豹 UI 界面的「扩展功能 - 牌堆管理」选项,你就可以进入牌堆的管理页面。

牌堆管理

可以看见有一个「上传牌堆」按钮,点击它选择本地的牌堆文件上传后即可读取牌堆。

在上图中已经有一个名为「常规抽取与放回抽取示例」牌堆被读取到了,它的版本号是 1.1,格式是 json,其他信息也相应展示。

你可以通过「删除」按钮来删掉对应的牌堆。

提示:重载牌堆

新增/删除牌堆通常会自动重载,但如果出现牌堆未更新等情况时,可以手动点击「重载牌堆」按钮进行刷新。

怎么使用牌堆?

在上面的「常规抽取与放回抽取示例」中,我们可以看见有名为 常规抽取 放回抽取 的两个牌组。可以使用 .draw 命令来抽取它们。

text
.draw 常规抽取
+.draw 放回抽取

更多牌堆命令,见 使用 - 扩展:牌堆 自定义回复

牌堆更新与云牌堆

在加载某些牌堆之后,你可能会发现一些牌堆拥有特殊的功能:

带有更新和云内容的牌堆示例

牌堆更新

一些牌堆作者为牌堆提供了更新链接,方便你快速获取最新的牌堆内容。

点击「更新」按钮后会取获取最新的牌堆,随后弹出获取到的新牌堆与当前牌堆的对比:

牌堆对比

对比弹窗的右上角可以控制显示的样式,如勾选「折叠无变更」可以收起过长的内容。

确认牌堆的更新内容之后,点击「确认更新」即可升级到最新的牌堆。

牌堆云端内容

一些牌堆作者为牌堆提供了云端内容,这意味着这个牌堆在抽取时,可能会去拉取远程内容作为牌堆项。

所有含有云端内容的牌堆,海豹 UI 都会给出「提供云端内容」的提示。

注意:云端内容

牌堆作者可以实时调整云端内容,可能存在风险,请自行考虑是否使用这样的牌堆。

如何编写牌堆?

进阶 - 编写牌堆

',34),p=[d];function n(r,h,u,m,_,b){return t(),e("div",null,p)}const g=a(l,[["render",n]]);export{f as __pageData,g as default}; diff --git a/assets/config_deck.md.B8kEiGt6.lean.js b/assets/config_deck.md.B8kEiGt6.lean.js new file mode 100644 index 000000000..b6f0d575c --- /dev/null +++ b/assets/config_deck.md.B8kEiGt6.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as s}from"./chunks/framework.C7ysi3tu.js";const c="/sealdice-manual-next/assets/deck-ui.DKzN0h-f.png",o="/sealdice-manual-next/assets/deck-new-features.vhmgDyTa.png",i="/sealdice-manual-next/assets/deck-diff.C0GgnssI.png",f=JSON.parse('{"title":"牌堆","description":"","frontmatter":{"lang":"zh-cn","title":"牌堆"},"headers":[],"relativePath":"config/deck.md","filePath":"config/deck.md","lastUpdated":1714442589000}'),l={name:"config/deck.md"},d=s("",34),p=[d];function n(r,h,u,m,_,b){return t(),e("div",null,p)}const g=a(l,[["render",n]]);export{f as __pageData,g as default}; diff --git a/assets/config_helpdoc.md.Cu9YNCyL.js b/assets/config_helpdoc.md.Cu9YNCyL.js new file mode 100644 index 000000000..c6b550354 --- /dev/null +++ b/assets/config_helpdoc.md.Cu9YNCyL.js @@ -0,0 +1 @@ +import{_ as p,D as c,c as l,j as a,a as e,I as o,a8 as s,o as i}from"./chunks/framework.C7ysi3tu.js";const r="/sealdice-manual-next/assets/helpdoc-ui.BSAvcQ-L.png",d="/sealdice-manual-next/assets/helpdoc-upload.vCwM61uF.png",n="/sealdice-manual-next/assets/helpdoc-edit-group.0i3M9SvD.png",h="/sealdice-manual-next/assets/helpdoc-delete.YxqErX-u.png",_="/sealdice-manual-next/assets/helpdoc-itemlist.lVEcsDO6.png",D=JSON.parse('{"title":"帮助文档","description":"","frontmatter":{"lang":"zh-cn","title":"帮助文档"},"headers":[],"relativePath":"config/helpdoc.md","filePath":"config/helpdoc.md","lastUpdated":1712309998000}'),m={name:"config/helpdoc.md"},u=s('

帮助文档

本节内容

本节将介绍帮助文档功能,请善用侧边栏和搜索,按需阅读文档。

什么是帮助文档?

「帮助文档」是提供给骰子使用的查询资料,一般用于各种规则的资料查询,也可用于编写骰子的使用帮助。

获取帮助文档

你可以在 帮助文档仓库 或官方群的群文件中找到其他骰主分享的帮助文档。

提示:无法访问仓库?

仓库位于 GitHub,访问时请确认你的网络状况。

海豹目前可以健康食用的 helpdoc 格式为 json 以及 xlsx,其中更多使用后者来编写资料查询文档。

海豹官方安装包中也默认提供了 CoC 和 D&D 的资料查询文档,无需额外下载即可使用相关内容搜索。

如何使用帮助文档?

当你在帮助文档中写下 词条A 后,通过 .help 词条A 即可返回对应词条内容。

对于资料查询,更建议使用 .find 来搜索词条内容。

使用 - 核心指令

如何管理帮助文档?

点击海豹 UI 界面的「扩展功能 - 帮助文档」选项,你就可以进入帮助文档的管理页面。

帮助文档管理

我们可以看到默认置入的 CoC 与 D&D 的资料文档已经在列表中展示出来了。

帮助文档列表以文件树的形式展示。文件夹内部的文档在一级文件夹下平铺展示,最外层的 一级文件夹名将作为其中所有文档的分组名,用于精确控制查询范围的分组。

',18),b=s('

详见 使用 - 核心指令

修改帮助文档后,需要点击「重载帮助文档」来刷新。

提示:重载帮助文档

帮助文档的文本量较大,重载过程需要一定时间(通常为几分钟,与文档数量、机器性能有关)。在重载期间,搜索功能会暂时不可用,所以建议在骰子使用的低峰期进行重载。

上传帮助文档

点击「上传」按钮,即可弹出帮助文档的上传框:

帮助文档的上传

「分组」即是一级文件夹,可以选择已有的分组,也可手动填写新的分组名来创建文件夹。

选择分组和相应文档后,点击「上传」即可将文档上传至骰子。

提示:默认分组

分组选择中存在一个「默认」分组,代表位于文档根目录的帮助文档位置,和一级文件夹同级。

非常不建议你将文档放在这个文件夹中进行管理。 对指定分组的搜索需要有意义的分组名。

',9),f={id:"为分组添加别名",tabindex:"-1"},x=a("a",{class:"header-anchor",href:"#为分组添加别名","aria-label":'Permalink to "为分组添加别名 "'},"​",-1),g=s('

帮助文档分组别名

点击页面上的「设置」按钮,将列出现有的所有分组和它们的别名,你可按需要进行编辑。

删除帮助文档

如需删除某些帮助文档,勾选对应文档前的选框后点击「删除所选」,即可批量删除帮助文档。

尝试删除帮助文档

查看帮助文档词条

切换标签页到「词条」,即可浏览当前已经加载的帮助文档词条。

帮助文档词条

通过筛选可以快速查找到相应的词条内容。

如何编写帮助文档?

进阶 - 编写帮助文档

',11);function k(q,v,T,P,S,A){const t=c("Badge");return i(),l("div",null,[u,a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.4.2"}),e(" 版本起,支持通过指令在每个群组中设置默认搜索分组。")]),b,a("h3",f,[e("为分组添加别名 "),o(t,{type:"tip",text:"v1.4.2"}),e(),x]),a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.4.2"}),e(" 版本起,你可以为每个分组添加若干别名。")]),g])}const V=p(m,[["render",k]]);export{D as __pageData,V as default}; diff --git a/assets/config_helpdoc.md.Cu9YNCyL.lean.js b/assets/config_helpdoc.md.Cu9YNCyL.lean.js new file mode 100644 index 000000000..e817019d1 --- /dev/null +++ b/assets/config_helpdoc.md.Cu9YNCyL.lean.js @@ -0,0 +1 @@ +import{_ as p,D as c,c as l,j as a,a as e,I as o,a8 as s,o as i}from"./chunks/framework.C7ysi3tu.js";const r="/sealdice-manual-next/assets/helpdoc-ui.BSAvcQ-L.png",d="/sealdice-manual-next/assets/helpdoc-upload.vCwM61uF.png",n="/sealdice-manual-next/assets/helpdoc-edit-group.0i3M9SvD.png",h="/sealdice-manual-next/assets/helpdoc-delete.YxqErX-u.png",_="/sealdice-manual-next/assets/helpdoc-itemlist.lVEcsDO6.png",D=JSON.parse('{"title":"帮助文档","description":"","frontmatter":{"lang":"zh-cn","title":"帮助文档"},"headers":[],"relativePath":"config/helpdoc.md","filePath":"config/helpdoc.md","lastUpdated":1712309998000}'),m={name:"config/helpdoc.md"},u=s("",18),b=s("",9),f={id:"为分组添加别名",tabindex:"-1"},x=a("a",{class:"header-anchor",href:"#为分组添加别名","aria-label":'Permalink to "为分组添加别名 "'},"​",-1),g=s("",11);function k(q,v,T,P,S,A){const t=c("Badge");return i(),l("div",null,[u,a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.4.2"}),e(" 版本起,支持通过指令在每个群组中设置默认搜索分组。")]),b,a("h3",f,[e("为分组添加别名 "),o(t,{type:"tip",text:"v1.4.2"}),e(),x]),a("p",null,[e("从 "),o(t,{type:"tip",text:"v1.4.2"}),e(" 版本起,你可以为每个分组添加若干别名。")]),g])}const V=p(m,[["render",k]]);export{D as __pageData,V as default}; diff --git a/assets/config_jsscript.md.Ck-gU78P.js b/assets/config_jsscript.md.Ck-gU78P.js new file mode 100644 index 000000000..14505fc0f --- /dev/null +++ b/assets/config_jsscript.md.Ck-gU78P.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as e,a8 as r}from"./chunks/framework.C7ysi3tu.js";const s="/sealdice-manual-next/assets/jsscript-ui.QtQ8fMZh.png",i="/sealdice-manual-next/assets/jsscript-list.BWWdfHUL.png",c="/sealdice-manual-next/assets/jsscrpit-console.CRzrpQ_X.png",f=JSON.parse('{"title":"JavaScript 插件","description":"","frontmatter":{"lang":"zh-cn","title":"JavaScript 插件"},"headers":[],"relativePath":"config/jsscript.md","filePath":"config/jsscript.md","lastUpdated":1715601883000}'),p={name:"config/jsscript.md"},o=r('

JavaScript 插件

本节内容

本节将介绍 JavaScript 插件功能,请善用侧边栏和搜索,按需阅读文档。

JavaScript 插件是什么

为了给有能力的用户提供更大的自定义空间,海豹核心支持使用 JavaScript 语言编写扩展插件。

JavaScript

JavaScript(JS)是一门基于原型和头等函数的多范式高级解释型编程语言,它支持面向对象程序设计、指令式编程和函数式编程。它提供方法来操控文本、数组、日期以及正则表达式等。

—— WIKI

获取 JS 插件

你可以在 JS 插件仓库 或官方群的群文件中找到其他骰主分享的 JS 插件。

提示:无法访问仓库?

仓库位于 GitHub,访问时请确认你的网络状况。

如何安装和管理 JS 插件?

点击海豹 UI 界面的「扩展功能-JS 扩展」选项,你就可以进入 JS 插件的管理页面。

JS 扩展

如果左上角的开关未打开,可以点击启用 JS 插件的支持。可以看见,在管理界面中有多个标签页,下面将一一介绍。

插件列表

在「插件列表」页,可以查看当前的 JS 插件列表并进行管理。

JS 插件列表

在每一个插件名前都有一个开关,用来单独控制这个插件是否开启。

点击「上传插件」,选择获取的插件文件,即可上传到海豹核心。在插件的右侧有「删除」按钮来删除不想要的插件。

在对插件进行调整后,需要点击「重载 JS」来使修改生效。

插件的更新

一些插件作者为扩展提供了更新链接,方便你快速获取最新的插件。

点击「更新」按钮后会取获取最新的插件数据,随后弹出获取到的新数据与当前插件数据的对比:

对比弹窗的右上角可以控制显示的样式,如勾选「折叠无变更」可以收起过长的内容。

确认插件的更新内容之后,点击「确认更新」即可升级到最新。

控制台

为了方便插件作者编写插件,海豹核心提供了「控制台」,方便直接测试代码。

JS 插件控制台

在代码框中编写代码,点击「执行代码」即可运行,运行结果将显示在下方。

插件设置

进阶 - 编写 JS 插件 - 注册插件配置项

如何使用 JS 插件?

不同的 JS 插件的使用方法不同,不过一般都是提供了一些 . 开头的命令,可以查看相应扩展的说明来获取使用帮助。

如何编写 JS 插件?

进阶 - 编写 JS 插件

',33),l=[o];function n(h,d,m,S,_,u){return e(),t("div",null,l)}const b=a(p,[["render",n]]);export{f as __pageData,b as default}; diff --git a/assets/config_jsscript.md.Ck-gU78P.lean.js b/assets/config_jsscript.md.Ck-gU78P.lean.js new file mode 100644 index 000000000..0932f6f28 --- /dev/null +++ b/assets/config_jsscript.md.Ck-gU78P.lean.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as e,a8 as r}from"./chunks/framework.C7ysi3tu.js";const s="/sealdice-manual-next/assets/jsscript-ui.QtQ8fMZh.png",i="/sealdice-manual-next/assets/jsscript-list.BWWdfHUL.png",c="/sealdice-manual-next/assets/jsscrpit-console.CRzrpQ_X.png",f=JSON.parse('{"title":"JavaScript 插件","description":"","frontmatter":{"lang":"zh-cn","title":"JavaScript 插件"},"headers":[],"relativePath":"config/jsscript.md","filePath":"config/jsscript.md","lastUpdated":1715601883000}'),p={name:"config/jsscript.md"},o=r("",33),l=[o];function n(h,d,m,S,_,u){return e(),t("div",null,l)}const b=a(p,[["render",n]]);export{f as __pageData,b as default}; diff --git a/assets/config_reply.md.CtqrA7oh.js b/assets/config_reply.md.CtqrA7oh.js new file mode 100644 index 000000000..7bef5066f --- /dev/null +++ b/assets/config_reply.md.CtqrA7oh.js @@ -0,0 +1 @@ +import{_ as r,D as i,c as d,j as e,I as a,a as t,w as o,a8 as c,o as _}from"./chunks/framework.C7ysi3tu.js";const u="/sealdice-manual-next/assets/reply-ui.Bzrt8V8e.png",h="/sealdice-manual-next/assets/reply-config.BhGYKmT-.png",b="/sealdice-manual-next/assets/reply-file.C6hW1cv0.png",m="/sealdice-manual-next/assets/reply-file-disable.DQsCnOPj.png",g="/sealdice-manual-next/assets/reply-add.GiF4xI17.png",G=JSON.parse('{"title":"自定义回复","description":"","frontmatter":{"lang":"zh-cn","title":"自定义回复"},"headers":[],"relativePath":"config/reply.md","filePath":"config/reply.md","lastUpdated":1719473374000}'),k={name:"config/reply.md"},f=c('

自定义回复

本节内容

本节将介绍自定义回复功能,请善用侧边栏和搜索,按需阅读文档。

什么是自定义回复?

  • 我希望让骰子能回复用户发送的早安、午安、晚安,应该怎么做?
  • 我不会 JavaScript,有没有更简单的方式给骰子编写功能呢?
  • ……

如果希望骰子能对某些关键词做出响应,最简单的方式就是使用「自定义回复」功能。

',5),q={class:"info custom-block"},v=e("p",{class:"custom-block-title"},"示例",-1),T=c('

「自定义回复」是海豹核心提供的一种功能扩展方式。它能够在收到的消息符合一定条件时,做出灵活的回应。

自定义回复的形式自由,触发机制多样(关键字、正则表达式等),并且能配合海豹核心的变量系统与牌堆功能使用。无论你只是想增加简单的回复,还是需要复杂的判断和响应,都可以尝试使用自定义回复。

在哪编写自定义回复?

点击海豹 UI 界面的「扩展功能 - 自定义回复」选项,你就可以进入「自定义回复」的设置页面。

自定义回复页

默认情况下,自定义回复功能是被关闭的,你可以点击 页面左上角的开关 打开这一功能,在同意许可协议后,你就可以看到自定义回复的设置页面,下面我们将一一介绍其中的功能。

自定义回复设置页

在页面的上半部分,你可以看见一些帮助信息,阅读它们也能为编写自定义回复带来帮助。

当前回复文件

自定义回复文件

「自定义回复」支持多个设置文件,你可以在下拉框选择进行切换。默认状态下,会有一个名为 reply.yaml 的初始自定义回复文件,可以直接在该文件中进行自定义回复的编写。

你可以分别控制回复文件的启用与否。启用了的回复文件会显示「已启用」,如果显示「未启用」,可以点击它启用该文件。

未启用的自定义回复文件

对于每一个自定义回复文件,都可以进行「删除」和「下载」操作,方便你管理和分享它们。

在编写过程中,可以勾选「开启回复调试日志」项,来为你编写回复提供更多有用信息。

危险:谨慎删除!

点击「删除」时,会弹出二次确认框。一旦点击确认,删除的文件将无法找回,务必在删除时小心确认。

可以选择点击「已启用」按钮禁用它来代替删除。

新建/导入自定义回复文件

在当前文件的右侧有几个按钮,它们是快速创建新自定义回复的不同方式:

  • 新建:创建一个新的自定义回复文件。在你想要将不同的回复区分开,方便管理的时候,可以新建一个文件;
  • 上传:直接上传 .yaml 格式的自定义回复文件,通常来说这是其他人分享给你的。

获取自定义回复文件

你可以在 自定义回复仓库 或官方群的群文件中找到其他骰主分享的文件,使用「上传」功能导入它们。

提示:无法访问仓库?

仓库位于 GitHub,访问时请确认你的网络状况。

',22),x={id:"公共条件",tabindex:"-1"},P=e("a",{class:"header-anchor",href:"#公共条件","aria-label":'Permalink to "公共条件 "'},"​",-1),y=c('

公共条件属于当前自定义回复文件,而不属于任何一个回复项。每一项公共条件是一个逻辑判断,它的含义与 单个回复项的条件 相同。

在判定一个自定义回复是否能执行时,会首先判断文件的公共条件是否全部满足;如果全部满足,才会依次判断每个回复项的条件;否则,将跳过本文件内的所有回复项。

设置回复项

在自定义回复页的左下角有一个「添加一项」按钮,点击可以向当前文件中添加一条回复项。

添加回复项

每一个自定义回复项都包括两个部分:「条件」「结果」,分别对应着该回复项的触发条件和骰子的回复动作。

在回复项的左上角可以控制该项的启用与否,右上角可以删除这一条回复项。当回复项较多的时候,可以点击「收缩」来将不重要的项折叠起来。

提示:随时保存修改

记得随时保存自己的修改,防止改动内容丢失。

回复项的条件

在回复项的左上角是该项的匹配模式,可以理解为当什么情况下会触发这一条回复项。目前提供了三种匹配模式:

  • 文本匹配:即设置什么样的内容会触发这条回复项;
  • 文本长度:即当回复内容的长度满足什么条件时会触发这条回复项;
  • 表达式为真:此处不介绍,见 更复杂的回复

回复项的条件支持多个,点击「增加」即可为该回复项增加一个条件。当回复项有多个条件时,必须同时满足所有条件 才会触发该回复项。

提示:如何实现多个内容中任意一个均可触发回复项?

  • 我希望 v我50vme50 任意一个都能触发同样的回复,我该不会需要编写两条相同的回复项吧?

当然不用!你可以使用文本匹配中的「任意相符」方式来实现,或者直接使用「正则匹配」方式。见 文本匹配

文本匹配

文本匹配支持多种方式,在内容中填写要匹配的内容,即可按设置的方式匹配触发回复项。

  • 精准匹配:当骰子收到和内容 完全一致 的消息时,触发该回复项;
  • 任意相符:收到符合任意一个内容的消息时,都能触发该回复项,如 aa|bb,则 aa 或 bb 均可触发;
  • 包含文本:消息包含此内容时触发;
  • 不含文本:消息不包含此内容时触发;
  • 模糊匹配:消息与内容相似时触发该回复项;(普通用户无需纠结什么叫相似)
  • 正则匹配:消息匹配正则表达式时触发,此处不介绍,见 更复杂的回复
  • 前缀匹配:消息以内容为开头时触发;
  • 后缀匹配:消息以此内容为结尾时触发。
',16),S={class:"info custom-block"},C=e("p",{class:"custom-block-title"},"「任意相符」示例",-1),V=e("p",null,[t("设置:任意相符,文本 "),e("code",null,"a|b"),t(",回复 "),e("code",null,"c"),t("。")],-1),A=c('

提示:常用方式

「精准匹配」与「任意相符」是最常用的模式。当然,对于了解正则表达式的用户,「正则匹配」也是经常被使用的。

文本长度

指定字数,当消息长度「大于等于」或「小于等于」给定的字数时触发对应回复项。

注意:注意汉字的长度

在文本长度匹配中,一个汉字算作两个字符。如 你好 两字可以触发大于等于 4 的文本长度匹配。

回复项的结果

每一个回复项可以有一个或者多个「回复结果」,多个回复结果将 从上到下依次执行。点击「增加」可以新增一条结果,也可以通过「删除结果」按钮去掉对应结果。

每一个回复结果可以有多条回复文本,结果会在这些文本中 随机抽取 一条作为结果。

回复可以是直接的回复,也可以指定是「私聊回复」或者「群内回复」。

提示

回复项有几个结果,该回复项就会发送几条消息。

回复结果延迟

可以给回复结果设置延迟,消息将在此延迟后发送,单位是秒,可以是小数。

注意

QQ 消息的随机延迟仍会被加入,如果你希望保证发言顺序,记得考虑这点。

更复杂的回复

  • 自定义回复要怎么抽取牌堆?
  • 我想控制只有私聊才触发回复,要怎样设置?
  • 我希望编写有一定逻辑的自定义回复,我要怎么做?
  • 前缀/后缀/包含等文本匹配方式不够用/出现误判,听说可以用正则匹配解决?要怎样使用呢?
  • ……

更复杂的自定义回复编写,会涉及到海豹提供的其他系统,如牌堆、内置脚本语法、变量机制等。也有可能要求你有其它知识的了解,如正则表达式等。

如果你有复杂回复编写的需要,或想了解更多细节,可以跳转到 进阶 - 编写自定义回复 进行阅读。

',16);function I(B,N,D,E,w,R){const l=i("ChatBox"),n=i("Badge"),s=i("PluginTabsTab"),p=i("PluginTabs");return _(),d("div",null,[f,e("div",q,[v,a(l,{messages:[{content:"v我50",send:!0},{content:"¥50"}]})]),T,e("h3",x,[t("公共条件 "),a(n,{type:"tip",text:"v1.5.0"}),t(),P]),e("p",null,[t("从 "),a(n,{type:"tip",text:"v1.5.0"}),t(" 版本开始,在当前文件信息的下面、本文件所有回复项目上方新增了「公共条件」选项。")]),y,e("div",S,[C,V,a(p,null,{default:o(()=>[a(s,{label:"输入:a"},{default:o(()=>[a(l,{messages:[{content:"a",send:!0},{content:"c"}]})]),_:1}),a(s,{label:"输入:b"},{default:o(()=>[a(l,{messages:[{content:"b",send:!0},{content:"c"}]})]),_:1}),a(s,{label:"输入:ab(不回复)"},{default:o(()=>[a(l,{messages:[{content:"ab",send:!0}]})]),_:1}),a(s,{label:"输入:a|b(不回复)"},{default:o(()=>[a(l,{messages:[{content:"a|b",send:!0}]})]),_:1}),a(s,{label:"输入:其它(不回复)"},{default:o(()=>[a(l,{messages:[{content:"114514",send:!0}]})]),_:1})]),_:1})]),A])}const Q=r(k,[["render",I]]);export{G as __pageData,Q as default}; diff --git a/assets/config_reply.md.CtqrA7oh.lean.js b/assets/config_reply.md.CtqrA7oh.lean.js new file mode 100644 index 000000000..d5318f219 --- /dev/null +++ b/assets/config_reply.md.CtqrA7oh.lean.js @@ -0,0 +1 @@ +import{_ as r,D as i,c as d,j as e,I as a,a as t,w as o,a8 as c,o as _}from"./chunks/framework.C7ysi3tu.js";const u="/sealdice-manual-next/assets/reply-ui.Bzrt8V8e.png",h="/sealdice-manual-next/assets/reply-config.BhGYKmT-.png",b="/sealdice-manual-next/assets/reply-file.C6hW1cv0.png",m="/sealdice-manual-next/assets/reply-file-disable.DQsCnOPj.png",g="/sealdice-manual-next/assets/reply-add.GiF4xI17.png",G=JSON.parse('{"title":"自定义回复","description":"","frontmatter":{"lang":"zh-cn","title":"自定义回复"},"headers":[],"relativePath":"config/reply.md","filePath":"config/reply.md","lastUpdated":1719473374000}'),k={name:"config/reply.md"},f=c("",5),q={class:"info custom-block"},v=e("p",{class:"custom-block-title"},"示例",-1),T=c("",22),x={id:"公共条件",tabindex:"-1"},P=e("a",{class:"header-anchor",href:"#公共条件","aria-label":'Permalink to "公共条件 "'},"​",-1),y=c("",16),S={class:"info custom-block"},C=e("p",{class:"custom-block-title"},"「任意相符」示例",-1),V=e("p",null,[t("设置:任意相符,文本 "),e("code",null,"a|b"),t(",回复 "),e("code",null,"c"),t("。")],-1),A=c("",16);function I(B,N,D,E,w,R){const l=i("ChatBox"),n=i("Badge"),s=i("PluginTabsTab"),p=i("PluginTabs");return _(),d("div",null,[f,e("div",q,[v,a(l,{messages:[{content:"v我50",send:!0},{content:"¥50"}]})]),T,e("h3",x,[t("公共条件 "),a(n,{type:"tip",text:"v1.5.0"}),t(),P]),e("p",null,[t("从 "),a(n,{type:"tip",text:"v1.5.0"}),t(" 版本开始,在当前文件信息的下面、本文件所有回复项目上方新增了「公共条件」选项。")]),y,e("div",S,[C,V,a(p,null,{default:o(()=>[a(s,{label:"输入:a"},{default:o(()=>[a(l,{messages:[{content:"a",send:!0},{content:"c"}]})]),_:1}),a(s,{label:"输入:b"},{default:o(()=>[a(l,{messages:[{content:"b",send:!0},{content:"c"}]})]),_:1}),a(s,{label:"输入:ab(不回复)"},{default:o(()=>[a(l,{messages:[{content:"ab",send:!0}]})]),_:1}),a(s,{label:"输入:a|b(不回复)"},{default:o(()=>[a(l,{messages:[{content:"a|b",send:!0}]})]),_:1}),a(s,{label:"输入:其它(不回复)"},{default:o(()=>[a(l,{messages:[{content:"114514",send:!0}]})]),_:1})]),_:1})]),A])}const Q=r(k,[["render",I]]);export{G as __pageData,Q as default}; diff --git a/assets/config_utilities.md.BqTND8Pc.js b/assets/config_utilities.md.BqTND8Pc.js new file mode 100644 index 000000000..4d710a9df --- /dev/null +++ b/assets/config_utilities.md.BqTND8Pc.js @@ -0,0 +1 @@ +import{_ as s,D as l,c as n,j as t,a as e,I as a,o as i}from"./chunks/framework.C7ysi3tu.js";const $=JSON.parse('{"title":"辅助工具","description":"","frontmatter":{"lang":"zh-cn","title":"辅助工具"},"headers":[],"relativePath":"config/utilities.md","filePath":"config/utilities.md","lastUpdated":1719473374000}'),c={name:"config/utilities.md"},d=t("h1",{id:"辅助工具",tabindex:"-1"},[e("辅助工具 "),t("a",{class:"header-anchor",href:"#辅助工具","aria-label":'Permalink to "辅助工具"'},"​")],-1),p={class:"info custom-block"},_=t("p",{class:"custom-block-title"},"本节内容",-1),r=t("p",null,"本节将介绍 WebUI 中提供的一些辅助工具。",-1),h=t("h2",{id:"指令测试",tabindex:"-1"},[e("指令测试 "),t("a",{class:"header-anchor",href:"#指令测试","aria-label":'Permalink to "指令测试"'},"​")],-1),u=t("p",null,"你可通过指令测试功能测试你的海豹核心对于消息的反应。在指令测试中产生的角色卡等数据都会被保留,但是消息记录会随页面刷新而丢失。",-1),m=t("p",null,[e("在私聊模式下,你的用户 ID 是 "),t("code",null,"UI:1001"),e("。")],-1),f=t("p",null,[e("在群聊模式下,群的 ID 是 "),t("code",null,"UI-Group:2001"),e(",你的用户 ID 是 "),t("code",null,"UI:1002"),e(",你在该虚拟群聊中拥有群主权限。")],-1),x={id:"资源管理",tabindex:"-1"},b=t("a",{class:"header-anchor",href:"#资源管理","aria-label":'Permalink to "资源管理 "'},"​",-1),v=t("p",null,[e("你可在这个页面查看目前在 "),t("code",null,"data/images"),e(" 目录下的图片资源,在每个图片右侧提供三个按钮,供你查看大图、下载原图和删除图片文件。")],-1),I=t("p",null,"你也可以通过这个功能上传本地图片到海豹核心。",-1),g=t("p",null,"在引用图片时,请使用该页面展示的路径。",-1);function U(k,y,B,D,P,N){const o=l("Badge");return i(),n("div",null,[d,t("div",p,[_,r,t("p",null,[e("从 "),a(o,{type:"tip",text:"v1.5.0"}),e(" 起,海豹核心添加了「资源管理」功能,与「指令测试」在 WebUI 共同归于「辅助工具」类目下。")]),t("p",null,[e("如果你使用的是 "),a(o,{type:"tip",text:"v1.4.5"}),e(" 或之前版本,你在 WebUI 只会看到单独的「指令测试」。")])]),h,u,t("p",null,[e("从 "),a(o,{type:"tip",text:"v1.5.0"}),e(" 版本开始,指令测试界面的右上角提供一个切换开关,可以选择「私聊」或「群」模式。")]),t("p",null,[e("如果你使用的是 "),a(o,{type:"tip",text:"v1.4.5"}),e(" 或之前版本,你的指令测试只能模拟私聊。")]),m,f,t("h2",x,[e("资源管理 "),a(o,{type:"tip",text:"v1.5.0"}),e(),b]),t("p",null,[e("从 "),a(o,{type:"tip",text:"v1.5.0"}),e(" 版本开始,海豹核心 WebUI 提供资源管理功能。")]),v,I,g])}const V=s(c,[["render",U]]);export{$ as __pageData,V as default}; diff --git a/assets/config_utilities.md.BqTND8Pc.lean.js b/assets/config_utilities.md.BqTND8Pc.lean.js new file mode 100644 index 000000000..4d710a9df --- /dev/null +++ b/assets/config_utilities.md.BqTND8Pc.lean.js @@ -0,0 +1 @@ +import{_ as s,D as l,c as n,j as t,a as e,I as a,o as i}from"./chunks/framework.C7ysi3tu.js";const $=JSON.parse('{"title":"辅助工具","description":"","frontmatter":{"lang":"zh-cn","title":"辅助工具"},"headers":[],"relativePath":"config/utilities.md","filePath":"config/utilities.md","lastUpdated":1719473374000}'),c={name:"config/utilities.md"},d=t("h1",{id:"辅助工具",tabindex:"-1"},[e("辅助工具 "),t("a",{class:"header-anchor",href:"#辅助工具","aria-label":'Permalink to "辅助工具"'},"​")],-1),p={class:"info custom-block"},_=t("p",{class:"custom-block-title"},"本节内容",-1),r=t("p",null,"本节将介绍 WebUI 中提供的一些辅助工具。",-1),h=t("h2",{id:"指令测试",tabindex:"-1"},[e("指令测试 "),t("a",{class:"header-anchor",href:"#指令测试","aria-label":'Permalink to "指令测试"'},"​")],-1),u=t("p",null,"你可通过指令测试功能测试你的海豹核心对于消息的反应。在指令测试中产生的角色卡等数据都会被保留,但是消息记录会随页面刷新而丢失。",-1),m=t("p",null,[e("在私聊模式下,你的用户 ID 是 "),t("code",null,"UI:1001"),e("。")],-1),f=t("p",null,[e("在群聊模式下,群的 ID 是 "),t("code",null,"UI-Group:2001"),e(",你的用户 ID 是 "),t("code",null,"UI:1002"),e(",你在该虚拟群聊中拥有群主权限。")],-1),x={id:"资源管理",tabindex:"-1"},b=t("a",{class:"header-anchor",href:"#资源管理","aria-label":'Permalink to "资源管理 "'},"​",-1),v=t("p",null,[e("你可在这个页面查看目前在 "),t("code",null,"data/images"),e(" 目录下的图片资源,在每个图片右侧提供三个按钮,供你查看大图、下载原图和删除图片文件。")],-1),I=t("p",null,"你也可以通过这个功能上传本地图片到海豹核心。",-1),g=t("p",null,"在引用图片时,请使用该页面展示的路径。",-1);function U(k,y,B,D,P,N){const o=l("Badge");return i(),n("div",null,[d,t("div",p,[_,r,t("p",null,[e("从 "),a(o,{type:"tip",text:"v1.5.0"}),e(" 起,海豹核心添加了「资源管理」功能,与「指令测试」在 WebUI 共同归于「辅助工具」类目下。")]),t("p",null,[e("如果你使用的是 "),a(o,{type:"tip",text:"v1.4.5"}),e(" 或之前版本,你在 WebUI 只会看到单独的「指令测试」。")])]),h,u,t("p",null,[e("从 "),a(o,{type:"tip",text:"v1.5.0"}),e(" 版本开始,指令测试界面的右上角提供一个切换开关,可以选择「私聊」或「群」模式。")]),t("p",null,[e("如果你使用的是 "),a(o,{type:"tip",text:"v1.4.5"}),e(" 或之前版本,你的指令测试只能模拟私聊。")]),m,f,t("h2",x,[e("资源管理 "),a(o,{type:"tip",text:"v1.5.0"}),e(),b]),t("p",null,[e("从 "),a(o,{type:"tip",text:"v1.5.0"}),e(" 版本开始,海豹核心 WebUI 提供资源管理功能。")]),v,I,g])}const V=s(c,[["render",U]]);export{$ as __pageData,V as default}; diff --git a/assets/custom-text-add-option.0FNaSzlW.png b/assets/custom-text-add-option.0FNaSzlW.png new file mode 100644 index 000000000..58e1a4682 Binary files /dev/null and b/assets/custom-text-add-option.0FNaSzlW.png differ diff --git a/assets/custom-text-delete-option.Crh9iJ_Z.png b/assets/custom-text-delete-option.Crh9iJ_Z.png new file mode 100644 index 000000000..3e2d1fb81 Binary files /dev/null and b/assets/custom-text-delete-option.Crh9iJ_Z.png differ diff --git a/assets/custom-text-filter.DRwGwfAH.png b/assets/custom-text-filter.DRwGwfAH.png new file mode 100644 index 000000000..2a20eb952 Binary files /dev/null and b/assets/custom-text-filter.DRwGwfAH.png differ diff --git a/assets/custom-text-great-success.CACLVCIO.png b/assets/custom-text-great-success.CACLVCIO.png new file mode 100644 index 000000000..643e4c270 Binary files /dev/null and b/assets/custom-text-great-success.CACLVCIO.png differ diff --git a/assets/custom-text-main.B9CfQdSx.png b/assets/custom-text-main.B9CfQdSx.png new file mode 100644 index 000000000..d494a19fe Binary files /dev/null and b/assets/custom-text-main.B9CfQdSx.png differ diff --git a/assets/custom-text-pic-example.mEfPZlG7.png b/assets/custom-text-pic-example.mEfPZlG7.png new file mode 100644 index 000000000..43a7db043 Binary files /dev/null and b/assets/custom-text-pic-example.mEfPZlG7.png differ diff --git a/assets/custom-text-pic-show.BzD0TJEe.png b/assets/custom-text-pic-show.BzD0TJEe.png new file mode 100644 index 000000000..d83912f36 Binary files /dev/null and b/assets/custom-text-pic-show.BzD0TJEe.png differ diff --git a/assets/custom-text-reset.BrJxXN0J.png b/assets/custom-text-reset.BrJxXN0J.png new file mode 100644 index 000000000..50ef30265 Binary files /dev/null and b/assets/custom-text-reset.BrJxXN0J.png differ diff --git a/assets/custom-text-waiting-save.77cjoXk7.png b/assets/custom-text-waiting-save.77cjoXk7.png new file mode 100644 index 000000000..b282f434b Binary files /dev/null and b/assets/custom-text-waiting-save.77cjoXk7.png differ diff --git a/assets/custom-text-with-var.cb258LWG.png b/assets/custom-text-with-var.cb258LWG.png new file mode 100644 index 000000000..d4453610b Binary files /dev/null and b/assets/custom-text-with-var.cb258LWG.png differ diff --git a/assets/deck-diff.C0GgnssI.png b/assets/deck-diff.C0GgnssI.png new file mode 100644 index 000000000..26080ad69 Binary files /dev/null and b/assets/deck-diff.C0GgnssI.png differ diff --git a/assets/deck-new-features.vhmgDyTa.png b/assets/deck-new-features.vhmgDyTa.png new file mode 100644 index 000000000..5ff5dbfa9 Binary files /dev/null and b/assets/deck-new-features.vhmgDyTa.png differ diff --git a/assets/deck-ui.DKzN0h-f.png b/assets/deck-ui.DKzN0h-f.png new file mode 100644 index 000000000..45523cc51 Binary files /dev/null and b/assets/deck-ui.DKzN0h-f.png differ diff --git a/assets/deploy_README.md.LpsqzSxr.js b/assets/deploy_README.md.LpsqzSxr.js new file mode 100644 index 000000000..5ca61e498 --- /dev/null +++ b/assets/deploy_README.md.LpsqzSxr.js @@ -0,0 +1 @@ +import{_ as l,c as a,o as e,a8 as i}from"./chunks/framework.C7ysi3tu.js";const p=JSON.parse('{"title":"部署","description":"","frontmatter":{"title":"部署","index":false},"headers":[],"relativePath":"deploy/README.md","filePath":"deploy/README.md","lastUpdated":1720509767000}'),t={name:"deploy/README.md"},r=i('',1),o=[r];function h(f,m,_,s,d,n){return e(),a("div",null,o)}const u=l(t,[["render",h]]);export{p as __pageData,u as default}; diff --git a/assets/deploy_README.md.LpsqzSxr.lean.js b/assets/deploy_README.md.LpsqzSxr.lean.js new file mode 100644 index 000000000..106a350f0 --- /dev/null +++ b/assets/deploy_README.md.LpsqzSxr.lean.js @@ -0,0 +1 @@ +import{_ as l,c as a,o as e,a8 as i}from"./chunks/framework.C7ysi3tu.js";const p=JSON.parse('{"title":"部署","description":"","frontmatter":{"title":"部署","index":false},"headers":[],"relativePath":"deploy/README.md","filePath":"deploy/README.md","lastUpdated":1720509767000}'),t={name:"deploy/README.md"},r=i("",1),o=[r];function h(f,m,_,s,d,n){return e(),a("div",null,o)}const u=l(t,[["render",h]]);export{p as __pageData,u as default}; diff --git a/assets/deploy_about_file.md.CDJ4RE7g.js b/assets/deploy_about_file.md.CDJ4RE7g.js new file mode 100644 index 000000000..505ac5d82 --- /dev/null +++ b/assets/deploy_about_file.md.CDJ4RE7g.js @@ -0,0 +1,19 @@ +import{_ as a,c as s,o as e,a8 as n}from"./chunks/framework.C7ysi3tu.js";const _=JSON.parse('{"title":"海豹的本地文件","description":"","frontmatter":{"lang":"zh-cn","title":"海豹的本地文件"},"headers":[],"relativePath":"deploy/about_file.md","filePath":"deploy/about_file.md","lastUpdated":1716271996000}'),l={name:"deploy/about_file.md"},p=n(`

海豹的本地文件

本节内容

本节将介绍海豹核心主要的本地文件和它们的作用,以及一些与文件相关的问题。

SealDice 文件目录树

text
├─backups                    // 备份文件目录,里面是备份的压缩包
+├─data                       // 数据目录
+│  ├─censor                  // 敏感词库文件
+|  ├─decks                   // 牌堆文件
+|  ├─default
+│  │  ├─configs              // 自定义骰点回执
+|  |  ├─extantions           // 各个模块的特化文件放在这里,也是插件的数据目录
+|  |  |  ├─coc7
+|  |  |  ├─dnd5e
+|  |  |  └─reply             // 比如你的自定义回复文件
+|  |  ├─extra                // 放置你使用的QQ客户端配置文件
+|  |  |  └─lagrange-qq123456 // 此处 123456 代指你骰子的QQ,是内置客户端的配置文件夹。
+|  |  ├─log-exports          // log end 后导出的 log 文件
+|  |  └─scripts              // 插件脚本
+|  ├─helpdoc                 // 查询文档放置位置
+|  ├─images                  // 放置图片资源的文件夹,海豹为了安全不允许调用非海豹文件夹内的图片
+|  └─names                   // 姓名文件 . name 指令无法使用可以看看
+├─_help_cache                // 全文搜索索引缓存
+└─lagrange                   // 内置客户端的二进制文件

常用文件

  • ./data/dice.yaml 配置核心文件。

  • ./data/main.log 核心日志,可以查看报错消息。

  • ./data/default/serve.yaml 账号协议配置文件。

  • ./data/default/record.log 运行日志文件,可以查看报错信息。

  • ./data/default/data.db 数据库文件,存有人物卡、群组状态等信息。

  • ./data/default/data-logs.db log 数据库文件,存有 log 日志。

  • ./data/default/data-censor.db 敏感词数据库文件,存有拦截日志等信息。

  • ./data/default/configs/text-temple.yaml 自定义文案的本体。

  • ./data/default/extra/lagrange-qq[骰子QQ] 内置客户端的配置文件夹。

安卓端文件路径

请查看安卓端文件路径一节。

数据库检查和修复

请查看数据库检查和修复一节。

数据迁移

请看迁移一节。

`,12),t=[p];function i(o,c,d,r,h,u){return e(),s("div",null,t)}const m=a(l,[["render",i]]);export{_ as __pageData,m as default}; diff --git a/assets/deploy_about_file.md.CDJ4RE7g.lean.js b/assets/deploy_about_file.md.CDJ4RE7g.lean.js new file mode 100644 index 000000000..261e75f89 --- /dev/null +++ b/assets/deploy_about_file.md.CDJ4RE7g.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as e,a8 as n}from"./chunks/framework.C7ysi3tu.js";const _=JSON.parse('{"title":"海豹的本地文件","description":"","frontmatter":{"lang":"zh-cn","title":"海豹的本地文件"},"headers":[],"relativePath":"deploy/about_file.md","filePath":"deploy/about_file.md","lastUpdated":1716271996000}'),l={name:"deploy/about_file.md"},p=n("",12),t=[p];function i(o,c,d,r,h,u){return e(),s("div",null,t)}const m=a(l,[["render",i]]);export{_ as __pageData,m as default}; diff --git a/assets/deploy_android.md.CwGICOGp.js b/assets/deploy_android.md.CwGICOGp.js new file mode 100644 index 000000000..c1bbc6952 --- /dev/null +++ b/assets/deploy_android.md.CwGICOGp.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const r="/sealdice-manual-next/assets/android_np_manager.FuLqh54f.jpg",i="/sealdice-manual-next/assets/android_sealdice_port.CCn6iS6b.jpg",f=JSON.parse('{"title":"安卓海豹常见问题","description":"","frontmatter":{"lang":"zh-cn","title":"安卓海豹常见问题"},"headers":[],"relativePath":"deploy/android.md","filePath":"deploy/android.md","lastUpdated":1714442589000}'),l={name:"deploy/android.md"},d=o('

安卓海豹常见问题

本节内容

本节将介绍安卓端海豹核心常见问题和解决方法。

安卓端登录

安装下载的 APK 包,给予适当的权限并配置安卓端保活

只有一个设备,但登录需要扫码

使用 TIM 可以从相册扫码。

经常掉线

为了使海豹在后台运行,请查看配置安卓端保活对应系统修改系统设置,确保海豹核心能够在后台存活。

同时开启两个海豹实例

方法一:使用系统的双开功能

如果你的手机系统支持「应用双开」(或「应用分身」等,不同系统可能名称不同),可以直接使用系统的双开功能。

方法二:使用 NP 管理器等软件

下载「NP 管理器」修改海豹核心安装包。

信息

1.下载 NP 管理器并安装。

2.打开 NP 管理器,找到海豹核心安装包。

3.选择「功能」-「APK 共存」。

APK 共存

4.安装改过的安装包,打开海豹核心。

5.选择右上角小齿轮,修改 UI 界面地址和启动参数,将里面的 3211 改成 3212。

修改 UI 界面地址和启动参数

6.启动核心。

海豹文件路径

安卓端海豹文件无法直接被读取,需要先停止核心,点击「导出数据」按钮,数据导出路径为 /storage/emulated/0/Documents/com.sealdice.dice/sealdice/

修改完文件后需要点击「导入数据」按钮才可被海豹核心读取。

注意

在安卓端海豹上,每次导入数据前都进行一次导出,导出后不要再运行海豹核心。

这是因为,安卓端海豹不会实时更新导出的文件,它们是海豹数据在导出时的一份快照。

如果在上次导出后产生了新数据,而再次进行导入,会导致新产生的数据被之前导出的数据覆盖,丢失这段时间以来录入的角色卡、Log、修改的自定义文案等海豹内部的数据。

发送图片

引用图片正确格式示例:[图:data/images/1.jpg],涉及到的符号均是英文符号,不要使用 \\

添加图片的方法

  1. 利用导入导出功能将图片放入海豹的导出文件夹,然后导入。

  2. 使用 MT 管理器的「APK 一键注入文件提供器功能」,配合「添加本地储存」这两个功能访问海豹的私有目录。

如何更新

手机版不能通过指令或 WebUI 操作更新。你需要下载新版 APK 替换安装。

安卓端尚在公测,以防万一最好导出一次保留数据。

电脑海豹转安卓端海豹

查看迁移数据到手机,手机转电脑同理。

',26),s=[d];function n(c,p,h,m,u,_){return t(),e("div",null,s)}const k=a(l,[["render",n]]);export{f as __pageData,k as default}; diff --git a/assets/deploy_android.md.CwGICOGp.lean.js b/assets/deploy_android.md.CwGICOGp.lean.js new file mode 100644 index 000000000..d01214fc3 --- /dev/null +++ b/assets/deploy_android.md.CwGICOGp.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const r="/sealdice-manual-next/assets/android_np_manager.FuLqh54f.jpg",i="/sealdice-manual-next/assets/android_sealdice_port.CCn6iS6b.jpg",f=JSON.parse('{"title":"安卓海豹常见问题","description":"","frontmatter":{"lang":"zh-cn","title":"安卓海豹常见问题"},"headers":[],"relativePath":"deploy/android.md","filePath":"deploy/android.md","lastUpdated":1714442589000}'),l={name:"deploy/android.md"},d=o("",26),s=[d];function n(c,p,h,m,u,_){return t(),e("div",null,s)}const k=a(l,[["render",n]]);export{f as __pageData,k as default}; diff --git a/assets/deploy_android_keepalive.md.DaRfTq31.js b/assets/deploy_android_keepalive.md.DaRfTq31.js new file mode 100644 index 000000000..7db235d0e --- /dev/null +++ b/assets/deploy_android_keepalive.md.DaRfTq31.js @@ -0,0 +1 @@ +import{_ as t,c as s,o as i,a8 as l}from"./chunks/framework.C7ysi3tu.js";const o="/sealdice-manual-next/assets/keepalive_hyperos_storage.DLTisrS0.jpg",p="/sealdice-manual-next/assets/keepalive_hyperos_additional.CZQRRSrJ.jpg",a="/sealdice-manual-next/assets/keepalive_miui_multitask.C0T94Cld.jpg",r="/sealdice-manual-next/assets/keepalive_hyperos_selflaunch.H3gMxdjM.jpg",e="/sealdice-manual-next/assets/keepalive_miui_permdialog.Dqk-e0Wk.png",n="/sealdice-manual-next/assets/keepalive_miui_unlimit.B4FzIaKH.jpg",c="/sealdice-manual-next/assets/keepalive_harmonyos_applaunch.CiGVQ3Zv.jpg",d="/sealdice-manual-next/assets/keepalive_harmonyos_battery.DQWH3UGx.jpg",m="/sealdice-manual-next/assets/keepalive_harmonyos_batterymore.CNFIGq83.jpg",h="/sealdice-manual-next/assets/keepalive_harmonyos_batteryoptimization.DOqAUyHu.jpg",_="/sealdice-manual-next/assets/keepalive_harmonyos_multitask.CmAGO103.jpg",u="/sealdice-manual-next/assets/keepalive_coloros_launch.ux0hgdFj.jpg",g="/sealdice-manual-next/assets/keepalive_coloros_nightshift.DbBl1G84.jpg",k="/sealdice-manual-next/assets/keepalive_coloros_multitask.UHiBdlRk.jpg",b="/sealdice-manual-next/assets/keepalive_inapp.iDubXtQV.jpg",C=JSON.parse('{"title":"配置安卓端保活","description":"","frontmatter":{"lang":"zh-cn","title":"配置安卓端保活"},"headers":[],"relativePath":"deploy/android_keepalive.md","filePath":"deploy/android_keepalive.md","lastUpdated":1714442589000}'),x={name:"deploy/android_keepalive.md"},v=l('

配置安卓端保活

本节内容

本节包含在主流安卓操作系统上允许海豹核心在后台运行,以便顺畅使用的方法。

为了应付流氓软件,大部分系统往往会限制应用程序在后台的活动,甚至强制使它们退出。遗憾的是,手机版海豹核心也往往遭到误杀。为了确保海豹核心不会在使用其他应用程序或手机熄屏时掉线,需要调整一些系统设置来确保其能够在后台存活。

提示:不断尝试

你的操作系统会不断调整各个程序的活动策略,因此本节中介绍的手段并不总是万无一失。同样地,你也不一定需要诉诸所有方法才能保证海豹核心的存活。如果条件允许的话,你可以选择性地采用本节介绍的方法,或发掘一些新的手段,多试验几次来找到最适合你设备的策略。

当然,如果你并不确定该怎么做,遵循下面介绍的步骤总是最保险的。

在继续之前,你应该先从官网下载安卓版海豹核心,并将其安装到你的设备上。

授予海豹核心必要权限

海豹核心需要必要的权限来正常运行。在安装后或首次启动时,你应当确保应用程序已经拥有充足的权限。

提示:「应用信息」界面

在授予海豹核心权限或允许一些行为时,你需要访问系统设置的「应用信息」界面(在一些系统上可能也称作「应用详情」)。通常而言,你可以通过以下方法访问这个界面:

  1. 在桌面长按海豹核心图标,在弹出的菜单里选择「应用信息」或是类似小写字母 i 的图标。

  2. 或者,打开系统设置,找到「应用管理」(一些系统也称「应用和服务」)选项。进入应用管理后,你通常会看到展示设备上所有应用的列表。请在列表中选择「海豹核心」。

你可以在应用信息界面管理海豹核心的权限、后台行为、数据使用等。

HyperOS

在 HyperOS(澎湃系统)中,启动核心前请全部允许这些权限。「访问存储空间」被拆分为三个权限:「照片和视频」「音乐和音频」「文件和文档」。

HyperOS 步骤 1

请始终开启「锁屏显示」「后台弹出界面」「显示悬浮窗」「动态壁纸服务」四项权限。

HyperOS 步骤 2

长按海豹核心的任务卡片,并点击锁图标。

HyperOS 步骤 3

如果保活仍然失效,请尝试在应用信息界面中开启「自启动」。

HyperOS 步骤 4

MIUI

初次启动时提示是否运行“海豹核心”发送通知,选择「始终允许」。

MIUI 步骤 1

第二步,在海豹核心的后台配置中选择「无限制」。

MIUI 步骤 2

第三步,长按海豹核心的任务卡片,并点击锁图标。

MIUI 步骤 3

鸿蒙系统

在「应用和服务」中,选择「应用启动管理」,找到海豹核心,关闭其「自动管理」开关,并允许自启动、关联启动和后台活动。

鸿蒙系统步骤 1

回到「设置」主页,选择「电池」项目,开启性能模式,并进入「更多电池设置」,在新界面中开启「休眠时始终保持网络连接」。

鸿蒙系统步骤 2
鸿蒙系统步骤 3

在「设置」>「隐私」>「权限管理」>「特殊访问权限」>「电池优化」项目找到海豹核心,选择「不允许」。

鸿蒙系统步骤 4

将海豹核心的任务卡片下拉并释放,见到卡片右上角出现锁图标即可。

鸿蒙系统步骤 5

ColorOS

选择「耗电管理」,优先开启所有选项。

ColorOS 步骤 1

已知护眼模式可能会导致海豹核心意外关闭,请不要开启。

ColorOS 步骤 2

选择海豹核心任务卡片右上角的三个点,并选择「锁定」。

ColorOS 步骤 3

::::

为了海豹持续运行,请不要将海豹从任务列表中划除。或者,你可以在海豹核心的设置中选择「从任务列表隐藏」。

通用设置

存储权限

初次启动海豹核心前,你必须允许海豹核心访问存储空间,这通常在安装应用时就已经默认开启。没有相关权限,海豹核心将无法正常运行。

如果你的系统没有自动允许海豹核心访问存储空间,请在「应用信息」中选择「权限管理」(你可能需要选择「显示所有权限」),并允许「访问存储空间」权限。

通知权限

首次启动海豹核心时,你可能会收到「是否允许海豹核心发送通知」的对话框。请始终允许海豹核心发送通知,此后你可能会在通知栏看到「海豹核心正在运行」的消息,这是保活策略的一部分。

通知权限

如果你不慎拒绝通知权限,可以稍后在系统设置中授予海豹核心相关权限。

应用内设置

在海豹核心应用中,选择右上角的设置图标,可以看到一些保活策略。通常来说,启用上面的系统设置已经足够,但如果你发现海豹核心仍然时常掉线,可以考虑这里的额外手段。

应用内设置

前三个策略可能需要相应权限才能生效。

',56),y=[v];function f(q,S,w,j,O,I){return i(),s("div",null,y)}const H=t(x,[["render",f]]);export{C as __pageData,H as default}; diff --git a/assets/deploy_android_keepalive.md.DaRfTq31.lean.js b/assets/deploy_android_keepalive.md.DaRfTq31.lean.js new file mode 100644 index 000000000..818c6cf38 --- /dev/null +++ b/assets/deploy_android_keepalive.md.DaRfTq31.lean.js @@ -0,0 +1 @@ +import{_ as t,c as s,o as i,a8 as l}from"./chunks/framework.C7ysi3tu.js";const o="/sealdice-manual-next/assets/keepalive_hyperos_storage.DLTisrS0.jpg",p="/sealdice-manual-next/assets/keepalive_hyperos_additional.CZQRRSrJ.jpg",a="/sealdice-manual-next/assets/keepalive_miui_multitask.C0T94Cld.jpg",r="/sealdice-manual-next/assets/keepalive_hyperos_selflaunch.H3gMxdjM.jpg",e="/sealdice-manual-next/assets/keepalive_miui_permdialog.Dqk-e0Wk.png",n="/sealdice-manual-next/assets/keepalive_miui_unlimit.B4FzIaKH.jpg",c="/sealdice-manual-next/assets/keepalive_harmonyos_applaunch.CiGVQ3Zv.jpg",d="/sealdice-manual-next/assets/keepalive_harmonyos_battery.DQWH3UGx.jpg",m="/sealdice-manual-next/assets/keepalive_harmonyos_batterymore.CNFIGq83.jpg",h="/sealdice-manual-next/assets/keepalive_harmonyos_batteryoptimization.DOqAUyHu.jpg",_="/sealdice-manual-next/assets/keepalive_harmonyos_multitask.CmAGO103.jpg",u="/sealdice-manual-next/assets/keepalive_coloros_launch.ux0hgdFj.jpg",g="/sealdice-manual-next/assets/keepalive_coloros_nightshift.DbBl1G84.jpg",k="/sealdice-manual-next/assets/keepalive_coloros_multitask.UHiBdlRk.jpg",b="/sealdice-manual-next/assets/keepalive_inapp.iDubXtQV.jpg",C=JSON.parse('{"title":"配置安卓端保活","description":"","frontmatter":{"lang":"zh-cn","title":"配置安卓端保活"},"headers":[],"relativePath":"deploy/android_keepalive.md","filePath":"deploy/android_keepalive.md","lastUpdated":1714442589000}'),x={name:"deploy/android_keepalive.md"},v=l("",56),y=[v];function f(q,S,w,j,O,I){return i(),s("div",null,y)}const H=t(x,[["render",f]]);export{C as __pageData,H as default}; diff --git a/assets/deploy_db-repair.md.B9IoUuL6.js b/assets/deploy_db-repair.md.B9IoUuL6.js new file mode 100644 index 000000000..7f3628f58 --- /dev/null +++ b/assets/deploy_db-repair.md.B9IoUuL6.js @@ -0,0 +1,16 @@ +import{_ as p,D as l,c as h,I as i,w as a,a8 as t,o as k,j as s}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"数据库检查和修复","description":"","frontmatter":{"lang":"zh-cn","title":"数据库检查和修复"},"headers":[],"relativePath":"deploy/db-repair.md","filePath":"deploy/db-repair.md","lastUpdated":1714442589000}'),d={name:"deploy/db-repair.md"},r=t('

数据库检查和修复

本节内容

本节包括两项内容:如何判断海豹的数据库是否损坏,在损坏时如何修复。

数据库损坏发生的原因很多,包括但不限于突发断电、硬盘受到物理损坏、或硬盘空间占满。

确定问题

如果你发现角色卡或 Log 会在重启海豹后丢失,或数据库文件变得很大(通常在 200MB 以上),建议对数据库进行完整性检查。

首先,停止海豹运行。在 Windows 系统上,你可以右键点击托盘图标并选择退出;在其他系统上,通常是在执行海豹核心的终端使用 ctrl+c 组合键;如果你注册了系统服务,通常是使用 systemctl stop sealdice 命令。

稍作等待,以确保数据被写入硬盘。

随后,使用命令行程序进入海豹的目录,执行以下命令。如果对使用命令行感到困难,后面有一个简化的替代方案。

',7),F=s("div",{class:"language-shell vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"shell"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"sealdice-core"),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," /db-check")])])])],-1),o=s("div",{class:"language-shell vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"shell"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"./sealdice-core"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," --db-check")])])])],-1),c=t(`

你将看到类似的输出

text
数据库检查结果:
+data.db: true
+data-logs.db: true
+data-censor.db: true

这代表数据库是正常的。列出的是海豹核心使用的 3 个数据库文件:

  • data.db - 人物卡和群内临时卡
  • data-logs.db - 跑团日志
  • data-censor.db - 敏感词库

如果有某个数据库文件后输出了 false,说明该文件内容损坏。

无法使用命令行

如果你对使用命令行感到困难,可以这样做:

打开记事本,将以下内容复制进去:

shell
sealdice-core /db-check
+pause

将它命名为 检查.cmd,保存在海豹的主程序所在目录,或者保存完复制过去。

双击 检查.cmd 执行,之后同上。

修复数据库 - 通过回滚备份

对于大多数情况,我们推荐直接回滚到备份文件的状态。这种方法简便、容易成功。代价是损失从备份时间点到当前时间的数据。

海豹核心默认每 12 小时进行一次备份,你可在 backups/ 目录下找到所有的备份文件。备份的时间可以直接查看文件创建时间,也可以从文件名中确定。

将你损坏的数据库文件另外保存一份以防万一,并且确保你的硬盘有适当的空闲空间。

在备份文件中找到最新的一份(如果你能确定导致你数据库出问题的事件,也可以找到该时间点前的最后一份),从中解压出数据库文件,替换掉你发现损坏的数据库。

替换完成后,再进行一次完整性检查。如果仍然提示损坏,则使用更早的一份备份重新替换,直到数据库文件正常。

修复数据库 - 通过数据库修复指令

如果你熟悉 Sqlite 3,或者没有可用的备份文件,尝试以下方案。

这种办法有一定的操作难度,酌情进行使用。这里我们以 Windows 系统为例。

首先,你需要安装或下载一个 Sqlite 3 程序。

你可以从其官网下载页,找到 Precompiled Binaries for Windows,下载其中的 sqlite-tools。确保你下载的是 3.40 以上版本,通常来说,直接下载最新版即可。

下载完成后,找出 sqlite.exe 放到空目录备用。

将损坏的数据文件(如 data.db)从海豹的 data/default/ 目录中复制出来,放在和 sqlite.exe 同一个目录。

使用命令行工具打开这个目录,在此目录下,执行下面的指令:

导出数据:

shell
sqlite3.exe data.db
+.output 1.sql
+.recover
+.exit

恢复数据到 a.db,并删除无效数据。

shell
sqlite3.exe a.db
+.read 1.sql
+delete from attrs_group where id is null;
+delete from attrs_user where id is null;
+delete from group_info where id is null;
+delete from attrs_group_user where id is null;
+delete from ban_info where id is null;
+delete from group_player_info where id is null;
+.exit

接下来这个 a.db 就是修好的数据库了,将其复制回海豹的原路径,并改名回 data.db。

`,30);function g(y,C,u,b,E,B){const e=l("PluginTabsTab"),n=l("PluginTabs");return k(),h("div",null,[r,i(n,{sharedStateKey:"shell"},{default:a(()=>[i(e,{label:"Windows-命令提示符(cmd)"},{default:a(()=>[F]),_:1}),i(e,{label:"其他 Shell"},{default:a(()=>[o]),_:1})]),_:1}),c])}const v=p(d,[["render",g]]);export{m as __pageData,v as default}; diff --git a/assets/deploy_db-repair.md.B9IoUuL6.lean.js b/assets/deploy_db-repair.md.B9IoUuL6.lean.js new file mode 100644 index 000000000..73bde4f68 --- /dev/null +++ b/assets/deploy_db-repair.md.B9IoUuL6.lean.js @@ -0,0 +1 @@ +import{_ as p,D as l,c as h,I as i,w as a,a8 as t,o as k,j as s}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"数据库检查和修复","description":"","frontmatter":{"lang":"zh-cn","title":"数据库检查和修复"},"headers":[],"relativePath":"deploy/db-repair.md","filePath":"deploy/db-repair.md","lastUpdated":1714442589000}'),d={name:"deploy/db-repair.md"},r=t("",7),F=s("div",{class:"language-shell vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"shell"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"sealdice-core"),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," /db-check")])])])],-1),o=s("div",{class:"language-shell vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"shell"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"./sealdice-core"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," --db-check")])])])],-1),c=t("",30);function g(y,C,u,b,E,B){const e=l("PluginTabsTab"),n=l("PluginTabs");return k(),h("div",null,[r,i(n,{sharedStateKey:"shell"},{default:a(()=>[i(e,{label:"Windows-命令提示符(cmd)"},{default:a(()=>[F]),_:1}),i(e,{label:"其他 Shell"},{default:a(()=>[o]),_:1})]),_:1}),c])}const v=p(d,[["render",g]]);export{m as __pageData,v as default}; diff --git a/assets/deploy_newbie_faq.md.BeAhxML0.js b/assets/deploy_newbie_faq.md.BeAhxML0.js new file mode 100644 index 000000000..4b3480ee4 --- /dev/null +++ b/assets/deploy_newbie_faq.md.BeAhxML0.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const _=JSON.parse('{"title":"计算机小白常见问题","description":"","frontmatter":{"lang":"zh-cn","title":"计算机小白常见问题"},"headers":[],"relativePath":"deploy/newbie_faq.md","filePath":"deploy/newbie_faq.md","lastUpdated":1720509767000}'),i={name:"deploy/newbie_faq.md"},s=o('

计算机小白常见问题

本节内容

本节为计算机小白指南中的第三部分。

本节旨在帮助先前未曾接触过计算机以及服务器,或者对计算机及服务器知之甚少的用户快速查询一些常见问题以及对应的答案。本节不能代替权威解释或各项目的官方文档。

关于如何正确地提问,请看 如何正确提问;关于如何快速学习相关背景知识,请看 如何高效学习;关于特定的名词术语解释,请看 名词/术语速查表

部署海豹核心为什么要解压压缩包?怎么样解压压缩包?

如果直接在解压缩应用(如 7zipWinRar 等)中双击运行压缩包内的 sealdice-core.exe 文件,意味着只有 sealdice-core.exe 这一个文件被解压出来了,而其他文件仍然在压缩包之中。海豹核心检测不到其他必要的文件,那么,就无法正常运行。因此,需要把压缩包解压之后再双击运行海豹核心。

解压压缩包需要解压缩的应用,上面已经陈述了一些应用,使用百度搜索一下,下载安装就可以了。

一般而言,用鼠标右击压缩包,再用鼠标左键单击弹出菜单中带有解压到字样的选项就能解压这个压缩包。

一个建议

解压缩软件时常不会自动帮你创建文件夹,你可能需要自己新建文件夹。这个操作非常简单。

在希望解压的文件夹下单击鼠标右键,在弹出的菜单中找到新建文件夹这个选项,左键单击它,然后输入你想要的文件夹名字,再按下键盘上的Enter,就新建了一个文件夹。

而如果你想要指定这个压缩包解压到指定的文件夹,你可以右键单击压缩包后选择解压到…,在弹出的界面上找到你希望压缩包解压到那里的文件夹,之后双击那个文件夹,最后点击确定,压缩包便解压到了你指定的文件夹。

内存不足到底指的是哪里的内存不足?如何解决内存不足?

对于内存不足的情况,需要具体问题具体分析

对于海豹核心的日志界面中「There is not enough space on the disk」的报错

翻译一下这里的报错:「在磁盘中没有足够的空间」。

很显然,这里的内存不足代指的是磁盘可存储的空间不足,这时候通常通过删除磁盘内部分不需要的文件,腾出空间就可以解决。

如果出现莫名其妙的程序中断……

如果你在资源有限的小型计算机/服务器上部署海豹,并且你的海豹是公骰(存在大量用户)或加载了大量牌堆、自定义回复和/或插件,那么有可能出现海豹核心突然中断运行的情况。如果通过日志,排除了程序内部错误的可能性,那就有可能是由内存不足引起的。此处,内存指代的是「运行内存」。

可以在海豹运行时,通过 WebUI「日志」导航栏顶部的内存占用、Windows 平台下的任务管理器、Linux 平台下的 htop 等工具对海豹核心的内存使用量和占用比例进行监测,如果确实存在占用过高的情况,可以考虑减少用户群体、移除不常用的自定义回复/牌堆/插件、关闭其他未在使用的进程或更换资源更为充足的平台来解决问题。

注意:不要随意关闭你不认识的进程

只有在你完全确定某进程的用途与功能时,才能尝试关闭此进程。失误中断系统进程可能导致系统崩溃或其他隐患。

什么是开源,什么是开源程序?

开源,即 Open Source,简言之,就是把程序的源代码放在公共平台(如 GitHub 等)并附加开源许可协议的行为,任何人都可以在开源许可协议允许的范围内下载、修改以及使用这份源代码。

开源程序,顾名思义就是开放了源代码在公共平台的程序。SealDice 就作为一个开源程序活动在大家的视线中。

为什么我在 SealDice 用户群问问题会被要求发送截图?为什么不能拍屏?

所有 SealDice 用户群的群员、管理、甚至是开发者,都不具备未卜先知的能力,要求你发送截图也只是为了更好地了解你的问题究竟出在哪里。知道问题出在哪里之后,排查问题或复现 bug 就会更简单。这不仅方便了群员和管理回答你的问题,也有助于你更快地解决问题。

不提倡拍屏而是提倡截图的原因是,拍摄屏幕时会出现各种各样的问题:因拍摄角度而看不到部分信息、屏幕因反射光线而不能让摄像头拍到真正的图片(俗称反光),而截图能避免这些问题,给解决带来更高的效率。

注意:请做好截图保护!

如果需要发送截图,请在没有必须要展示的情况下隐藏好截图内可能存在的敏感信息,比如:IP 地址、端口号、文件夹内布局、密码/auth/key/salt 等。

最好的方式是通过在图片上加马赛克进行遮挡(俗称打码),不建议进行剪裁,除非敏感信息的范围过大。

什么是 GitHub?怎么提 issue?

GitHub 是多数开源程序发布代码的地方,SealDice 开发者们平时也通过 GitHub 查看用户的需求和 bug 反馈,同时对程序进行修改,并且在 GitHub 上同步发布更新。

所以,我们希望你如果真的非常需要加入功能、或者反馈 bug,可以自己试试看除了在 SealDice 用户群中向管理说明以外,额外地再提交一份 issue 到海豹的 GitHub 的代码仓库中,这会让开发者们可能记住这个问题,同时在程序中修复它。

对于如何提 issue、怎么样提 issue 不会被关闭,以及如何在 GitHub 上下载文件之类的问题,百度应该是你更好的选择。

',28),c=[s];function n(r,l,p,d,h,u){return t(),a("div",null,c)}const m=e(i,[["render",n]]);export{_ as __pageData,m as default}; diff --git a/assets/deploy_newbie_faq.md.BeAhxML0.lean.js b/assets/deploy_newbie_faq.md.BeAhxML0.lean.js new file mode 100644 index 000000000..412590e4f --- /dev/null +++ b/assets/deploy_newbie_faq.md.BeAhxML0.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const _=JSON.parse('{"title":"计算机小白常见问题","description":"","frontmatter":{"lang":"zh-cn","title":"计算机小白常见问题"},"headers":[],"relativePath":"deploy/newbie_faq.md","filePath":"deploy/newbie_faq.md","lastUpdated":1720509767000}'),i={name:"deploy/newbie_faq.md"},s=o("",28),c=[s];function n(r,l,p,d,h,u){return t(),a("div",null,c)}const m=e(i,[["render",n]]);export{_ as __pageData,m as default}; diff --git a/assets/deploy_newbie_learn.md.Bh3fLuOn.js b/assets/deploy_newbie_learn.md.Bh3fLuOn.js new file mode 100644 index 000000000..67cca7b20 --- /dev/null +++ b/assets/deploy_newbie_learn.md.Bh3fLuOn.js @@ -0,0 +1 @@ +import{_ as r,D as s,c as A,b as l,w as a,a9 as p,a8 as t,o as e,I as i,a as n}from"./chunks/framework.C7ysi3tu.js";const k=JSON.parse('{"title":"如何高效学习","description":"","frontmatter":{"lang":"zh-cn","title":"如何高效学习"},"headers":[],"relativePath":"deploy/newbie_learn.md","filePath":"deploy/newbie_learn.md","lastUpdated":1720509767000}'),h={name:"deploy/newbie_learn.md"},c=t('

如何高效学习

本节内容

本节为计算机小白指南中的第二部分。

本节旨在帮助先前未曾接触过计算机以及服务器,或者对计算机及服务器知之甚少的用户在遇到不理解的教程、名词或操作时,能够高效学习上手相关知识。

关于如何正确地提问,请看 如何正确提问;关于一些小白常见的问题,请看 计算机小白常见问题;关于特定的名词术语解释,请看 名词/术语速查表

前言

如果你从未接触过计算机以及服务器,那么不免会对本手册中的大量概念感到陌生。一些看起来详尽的指导细细读来却可能完全看不懂。我们不希望你就此放弃,以至于错失了一个全新的、有趣的世界;我们也不希望你放弃自己思考的权利,将一切不明了的问题诉诸他人的帮助。因此,我们撰写了本篇文档,希望能够帮助你掌握一些快速学习新知识的小技巧。

掌握语言

无论是帮助文档、程序日志还是网络资源,英语目前是,并且在未来很长一段时间里仍将是,主流的语言。因此,提高你的英文水平,不仅可以帮助你看懂程序日志上的故障原因(这样你就能自己解决问题),还可以让你看到更高效地获取那些有用的信息(比如下文里写到的那些)。

因此,如果你仍在上学,英语学习得再努力一点,终将有所回报。如果你不得不在短时间内理解特定的英文内容,那常备翻译器显然是一个好选择。

寻求资源

当遇到不理解的概念时,我们的第一反应往往是去搜索引擎寻求答案。但是,如果你正在解决特定项目中遇到的问题,不妨先看看此项目的帮助文档、常见问题(FAQ)和 GitHUb 上的 Issue

一个合理的开源项目,往往都具备相对详尽的帮助文档,描述了使用这个项目的过程中可能涉及的方方面面。例如,你正在阅读的就是海豹骰点核心的用户手册,亦即帮助文档。帮助文档通常包含了各个项目从部署到使用的一系列教程,在你具备相关背景的情况下,阅读帮助文档远比直接使用搜素引擎高效得多,因为帮助文档中提供的信息都是服务于特定项目的,而搜索引擎往往只能找到泛化的知识。

常见问题也是众多开源项目都拥有的页面,例如本手册中的 计算机小白常见问题常见问题 两个页面。这些页面中,通常包含使用此项目的用户高频提出的问题,而你遇到的情况,很有可能在其中就有所描述。因此,如果在手册的一般教程中没能找到答案,访问常见问题页面或许可以解决你的问题。

如果你不知道 Issue 是什么,可以点击本部分第一段中的超链接查看。Issue 通常包含了此开源项目的用户所遇到的问题、发现的可能的 Bug 和提出的功能请求。Issue 页面就像一个讨论区,你很可能找到一些使用上的问题,大多数情况下都会有热心的网友在页面下方给出他们的解决方案。如果你发现你的问题在 Issue 列表中存在,并且存在 Bug 的字样,那么很有可能你遇到的是此项目的已知问题。安心等待开发者解决就好,或者你也可以学习编程,为修复此 Bug 做出贡献。如果你发现你的问题在 Issue 列表中存在,并且存在 Feature Request 或 Enahncement 的字样,那么说明你需要的功能目前尚未实现,并且已经有其他用户向开发者请求加入此功能。你可以给此 Issue 点赞或评论,或许可以增加此功能的优先级,但切忌评论轰炸。在 Issue 中反复刷屏同样的内容只会带来负面后果。同样地,或许你也可以学习编程,为提供此功能做出贡献。

另外,你可能已经注意到了,本手册特别提供了 名词/术语速查表。在求助搜索引擎或用户群之前,可以看看里面是否已经包含了你想了解的概念。在速查表中,我们尽力提供了深度恰到好处的知识,不至于过于专业,但又足够你解决问题。如果你想改进速查表的内容,你可以提出一个 PR。如果你不知道 PR 是什么,那么可以按照本页后续的内容,将这作为你的第一个新知识开始学习。

高效搜索

如果你知道如何访问 Google,那么请使用 Google 进行搜索。如果你英文足够熟练,那么请使用英文进行搜索。

百度(还有 CSDN)永远不会是你学习计算机领域知识的最佳选择。一个更高效、搜索结果偏见更少的搜索引擎能显著提高你的信息获取效率。当然,如果你无法访问 Google,那么必应(Bing)海外版或许是一个尚可接受的选择。

如果你无法访问上述资源,那么在国内众多的内容平台中,学会筛选更可靠的平台也将大大提高你的知识获取效率。通常来说,技术型的个人博客和知乎平台具有相对优质的内容。如果你发现某个页面包含你需要的信息,但排版混乱或内容过于老旧已经不再适用,你可以尝试在内容的开头和结尾去寻找原文链接。通常这类文章是搬运而来,而其出处往往具有更优质的排版,有时原作者也会对其进行更新。

另一方面,互联网上的英文内容数量是具有压倒性的优势的,如果你能用英文提出问题,那么就有更大的概率直接检索到问题的解决方案。从类似 Stack Overflow 的问答网站到个人博客,你在中文互联网上找到的技术性信息,许多都源于对这些外文内容的翻译和多次搬运。因此,与其拾人牙慧,不如直抵源头。

随着大语言模型的兴起,AI 也可以是你「搜索」的对象。它们往往能比传统搜索更快地获得信息。但是,你应该永远对 AI 生成的内容心存警惕。在「幻觉」问题尚未得到有效解决之前,AI 的每一个回复都有可能是真材实料的信息,也有可能是胡编乱造。因此,在严肃场合,你不应该不加校验地使用 AI 生成的内容。

实践学习

深度优先学习

',21),d=t('

在学习新概念的过程中,我们很可能遇到用于解释新概念的描述中,也包含着我们不理解的知识的情况。如图所示,深度优先的学习即是每遇到一个新概念,都重新去查找学习这个概念所包含的下属知识,直到对每一个细节再无疑惑的方式。

例如:

一个小例子

你可能想编写一个能够在用户发出符合某种规则的消息时,针对性地进行自定义回复的功能。通过搜素自定义回复,你找到了海豹手册的 自定义回复教程

在触发条件部分,你发现你可能需要学习正则表达式,于是你访问了教程开头的链接,或者在搜索引擎中查找了正则表达式教程。

在正则表达式教程中,你发现 \\s 可以用于匹配 whitespace,于是你搜索引擎中开始查找 what does whitespace mean……

如果你只使用深度优先的方式学习知识,那么当你最终回到一开始的目的(比如写一个自定义回复)时,你应该已经掌握了隐藏在触发条件与回复结果背后的全部知识,从此只要是自定义回复能实现的功能,对你来说都不再有任何困难。

然而,可以预见的,随着学习的不断深入,你需要学习的内容会爆炸式增长。所以,皓首穷经地学习每一个细节真的值得么……?

广度优先学习

与深度优先学习相反,广度优先的学习即是在遇到新概念时,大致了解其含义,便开始学习下一项内容。

例如:

又一个小例子

你遇到了一些故障,在用户群里有人和你说

你在运行海豹的终端把日志截图一下。

你不知道终端是什么意思,于是你在 名词/术语速查表 中翻阅了一下。虽然你对什么是 Shell、什么是命令行一知半解,但是你差不多知道他指的是那个在电脑上弹出来的黑框框。

于是你又看了一眼日志是什么意思。虽让你搞不懂什么 Warning 与 Error,但你知道黑框框里那堆文字就是日志。

最后,因为你从没在电脑上截屏过,你去搜索了一下,找到了 Snipaste 这一截图工具。把黑框框里的文字截图发了出去。

如果你只使用广度优先的方式学习知识,那么可能你很快就能达成一开始的目的。

然而,你对所有涉及的概念都一知半解。如果再遇到类似的问题,尽管可能只需要你做相似的操作,由于你并没有领会每一个细节,你依然不得不求助于人。所以,这样草草浏览知识真的正确么……?

所以……

在实际学习新知的过程中,两种方法往往是相辅相成的,另外,实践永远是学习的最佳方法。

你通常需要以深度优先的方式,了解一个概念背后的一些细节,直到这些细节足够你应对眼前的问题和未来可能遇到的相似的问题,然后转向下一个概念进行学习。执着于过于深入的细节只会拖慢你的学习速度,因此,在合适的位置停下是最为高效的方案。

同时,在脑海中思考千遍,不如把手放在键盘上,尝试敲出你理解的方案。程序实际运行时给出的反馈,会大大帮助你找到正确的方向,而闭门造车只会延长你设计方案到发现错误的时间

结语

以上就是我们总结出的,要在使用 SealDice 时更快地学习新概念的办法。希望通过这样的办法,能让你更有效率地解决在部署 SealDice 的过程中遇到的问题。

也希望你通过本系列科普有所收获。

',18);function b(_,E,u,f,m,B){const o=s("Mermaid");return e(),A("div",null,[c,(e(),l(p,null,{default:a(()=>[i(o,{id:"mermaid-71",class:"mermaid",graph:"flowchart%20TD%0A%20%20%20%20A%5BA%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A1%5BA.1%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A2%5BA.2%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20Af%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A1a%5BA.1.a%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A1af%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A1b%5BA.1.b%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A1bf%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A1f%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A2a%5BA.2.a%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A2af%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A2b%5BA.2.b%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A2bf%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A2f%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A%20--%3E%20A1%0A%20%20%20%20A%20--%3E%20A2%0A%20%20%20%20A%20--%3E%20Af%0A%20%20%20%20A1%20--%3E%20A1a%0A%20%20%20%20A1%20--%3E%20A1b%0A%20%20%20%20A1%20--%3E%20A1f%0A%20%20%20%20A2%20--%3E%20A2a%0A%20%20%20%20A2%20--%3E%20A2b%0A%20%20%20%20A2%20--%3E%20A2f%0A%20%20%20%20A1a%20--%3E%20A1af%0A%20%20%20%20A1b%20--%3E%20A1bf%0A%20%20%20%20A2a%20--%3E%20A2af%0A%20%20%20%20A2b%20--%3E%20A2bf%0A%0A"})]),fallback:a(()=>[n(" Loading... ")]),_:1})),d])}const D=r(h,[["render",b]]);export{k as __pageData,D as default}; diff --git a/assets/deploy_newbie_learn.md.Bh3fLuOn.lean.js b/assets/deploy_newbie_learn.md.Bh3fLuOn.lean.js new file mode 100644 index 000000000..3d922e6be --- /dev/null +++ b/assets/deploy_newbie_learn.md.Bh3fLuOn.lean.js @@ -0,0 +1 @@ +import{_ as r,D as s,c as A,b as l,w as a,a9 as p,a8 as t,o as e,I as i,a as n}from"./chunks/framework.C7ysi3tu.js";const k=JSON.parse('{"title":"如何高效学习","description":"","frontmatter":{"lang":"zh-cn","title":"如何高效学习"},"headers":[],"relativePath":"deploy/newbie_learn.md","filePath":"deploy/newbie_learn.md","lastUpdated":1720509767000}'),h={name:"deploy/newbie_learn.md"},c=t("",21),d=t("",18);function b(_,E,u,f,m,B){const o=s("Mermaid");return e(),A("div",null,[c,(e(),l(p,null,{default:a(()=>[i(o,{id:"mermaid-71",class:"mermaid",graph:"flowchart%20TD%0A%20%20%20%20A%5BA%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A1%5BA.1%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A2%5BA.2%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20Af%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A1a%5BA.1.a%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A1af%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A1b%5BA.1.b%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A1bf%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A1f%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A2a%5BA.2.a%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A2af%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A2b%5BA.2.b%20%E6%98%AF%E4%BB%80%E4%B9%88%5D%0A%20%20%20%20A2bf%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A2f%5B%E2%80%A6%E2%80%A6%5D%0A%20%20%20%20A%20--%3E%20A1%0A%20%20%20%20A%20--%3E%20A2%0A%20%20%20%20A%20--%3E%20Af%0A%20%20%20%20A1%20--%3E%20A1a%0A%20%20%20%20A1%20--%3E%20A1b%0A%20%20%20%20A1%20--%3E%20A1f%0A%20%20%20%20A2%20--%3E%20A2a%0A%20%20%20%20A2%20--%3E%20A2b%0A%20%20%20%20A2%20--%3E%20A2f%0A%20%20%20%20A1a%20--%3E%20A1af%0A%20%20%20%20A1b%20--%3E%20A1bf%0A%20%20%20%20A2a%20--%3E%20A2af%0A%20%20%20%20A2b%20--%3E%20A2bf%0A%0A"})]),fallback:a(()=>[n(" Loading... ")]),_:1})),d])}const D=r(h,[["render",b]]);export{k as __pageData,D as default}; diff --git a/assets/deploy_newbie_question.md.XUPjLRJ3.js b/assets/deploy_newbie_question.md.XUPjLRJ3.js new file mode 100644 index 000000000..955e1f750 --- /dev/null +++ b/assets/deploy_newbie_question.md.XUPjLRJ3.js @@ -0,0 +1 @@ +import{_ as o,D as l,c as i,j as a,a as e,I as h,a8 as t,o as n}from"./chunks/framework.C7ysi3tu.js";const g=JSON.parse('{"title":"如何正确提问","description":"","frontmatter":{"lang":"zh-cn","title":"如何正确提问"},"headers":[],"relativePath":"deploy/newbie_question.md","filePath":"deploy/newbie_question.md","lastUpdated":1720509767000}'),s={name:"deploy/newbie_question.md"},p=t('

如何正确提问

本节内容

本节为计算机小白指南中的第一部分。

本节旨在帮助先前未曾接触过计算机以及服务器,或者对计算机及服务器知之甚少的用户问出更加明晰高效的问题,减少因沟通产生的不必要的麻烦。

关于如何快速学习相关背景知识,请看 如何高效学习;关于一些小白常见的问题,请看 计算机小白常见问题;关于特定的名词术语解释,请看 名词/术语速查表

前言

自近期用户量剧增后,SealDice 用户群的社区氛围似乎又有些不尽如人意,预料之中而情理之外的事情又再次发生了,我们觉得,用户需要这样一个科普性质的界面。如果在不知道如何在用户群提问能尽量干脆利落,或者不清楚某些术语该怎么说的情况下,能想到这个系列就最好了

当然,我们没有资格教屏幕前的你如何做人,这篇科普也一样,只是给你一个或许更好的建议,是否跟着这么做,取决于你。

提问的智慧

在计算机技术领域内,《提问的智慧》一文广为流传。如果你想认真地学习如何问出一个好问题,强烈建议全文阅读此文章。在用户群的群文件中,也提供了此文章的文件。

当然,海豹用户群的群员们并不会如此严苛,如果你暂时没有时间完整地阅读上述文章,那么认真读完本节也足够你在海豹用户群中问出一个好问题。

提问前,你该这样做

尝试自行排查问题

对于屏幕前或许没有编程经验的你,可以通过平日里学的「五要素」法则来思考遇到的程序错误问题。下面是一个可行的思考过程。

  • Where
  • 我是在哪里做了一些事情让我的骰子出现问题了?是在服务器还是在我自己的电脑上?
  • When
  • 我在什么时候做了这些事情让骰子出现问题了?
  • What
  • 我做了什么让我的骰子出现了问题?
  • Why
  • 为什么我这么做会让骰子出现问题?
  • How
  • 我怎么做才能去修复这个问题?

通过这样的思考过程,你即使猜测不出问题所在,也可以很好地根据这五个要素的思考过程组织问题,让回答者清晰地知道你的操作流程,更快地找到问题所在,为你解决问题。

尝试阅读本手册以找到答案

阅读本手册,尤其是 计算机小白常见问题常见问题 两个页面。使用页面左上角的搜索按钮有助于提高你的信息效率。

尝试浏览用户群内的信息以找到答案

用户群的群公告、群精华消息和历史聊天记录中,有可能找到你问题的答案。

尝试上网搜索以找到答案

关于如何高效地进行搜索可以参考 如何高效学习 一节中,高效搜索 小节。

记住你做了什么

你在解决问题时所做的努力——无论仅仅是搜索还是尝试了具体的操作、无论是有效的还是无效的,都将帮助回答者更有效地了解你的背景信息。因此,记住你所做的,并按照下文中的指导,附加在问题中。

提问时,你该这样做

本部分中将会为一些涉及的要素提供正例与反例,正例并不意味着一个好问题(它是一个好问题的一部分),但反例显然不应该出现在你的问题里。另一方面,如果你的问题并不涉及某个的要素,那就不要强行加入这个要素。

清晰说明你的意图和/或困难

如果你想要让海豹实现某些功能,那么请尽可能清晰完整地描述你想实现的功能。如果你在实现某功能的过程中遇到了麻烦,或者一些你认为本该正常运行的功能表现得不正常,那么请尽可能详细地描述你遇到的困境。

以下是一些合适的措辞:

我希望写一个插件,在用户不使用指令前缀的情况下,也能正常响应用户的命令,并实现接入 ChatGPT API 的功能。


我的骰子突然不响应指令了,具体来说,在我的 xxx 群里可以正常使用,但是我私聊它就不行。

以下是一些典型的反例:

呜呜我的骰子怎么不能用了——


很急!来个大佬救救!

描述问题发生前,你做了什么

一个问题可能是也可能不是由用户错误的操作引起的,所以,为了帮助回答者分析定位问题,你应该描述在问题发生之前你做了什么。

以下是一些合适的措辞:

我在本地的 Windows 上通过 WinSCP 使用 SSH 协议连接到了我在腾讯云的服务器上,服务器运行的是 Ubuntu 系统。我直接把 data 文件夹拖到了 sealdice-core 同一个目录内,然而在服务器无法启动海豹。


我在群里 xx 写的 xx 牌堆的基础上修改了牌堆。原本的文件上传到海豹后,可以正确识别。但是我修改之后,上传到海豹,牌堆列表里并没有出现那个文件。我修改的部分是这样的:<屏幕截图>

反例:不提供此类信息。

注意:在提供代码相关的信息时,请使用屏幕截图

通常来说,代码都遵守着相应的格式规范。直接将代码复制到聊天窗口中会极大地破坏这种代码规范,严重影响代码的可读性。因此,不要将代码内容复制到聊天窗口中,请使用屏幕截图。

为什么我在 SealDice 用户群问问题会被要求发送截图?为什么不能拍屏?

提供问题发生时,程序的日志

如果你不清楚什么是日志,请看 名词/术语速查表 中的 日志 部分。海豹的日志中包含了大量的有效信息,许多问题的直接原因本身就记录在日志中。即使你不能完全理解日志的内容,它也将极大地帮助回答者排查你所遇到的问题。因此,除非你非常确定你遇到的问题与海豹本身的运行无关,或未反映在日志中,请务必提供日志截图。

每行日志的开头都带有时间戳,请确保你发送的日志是问题发生那一刻前后一段时间内的日志。例如,你在 WebUI 查看日志,而你一遇到问题就立刻开始写求助消息,那么此时问题所对应的日志通常位于页面底端,你应该下拉页面,确保截图中呈现了对应的日志。

以下是一些合适的措辞:

我发出指令但是骰子在私聊中没有回复我,日志是这样的:<日志截图>


我修改过的牌堆上传到海豹之后,点击重载牌堆,日志是这样显示的:<日志截图>

反例:不提供日志。

注意:在提供日志时,请使用屏幕截图

通常来说,日志中每条记录都相对较长。在一些情况下,日志还会使用特定格式输出堆栈信息。直接将日志复制到聊天窗口中会严重影响日志的可读性。因此,不要将日志内容复制到聊天窗口中,请使用屏幕截图。

为什么我在 SealDice 用户群问问题会被要求发送截图?为什么不能拍屏?

描述问题发生后,你尝试过的解决方案

正如上文中提到的,无论是试图实现一个功能,还是在使用中遇到了不符合预期的事件,你都应该尝试根据参考信息自行解决问题。在提问时,即使你的尝试没有效果,也应该把你尝试过的方法描述出来。你尝试过的方法可能就是排查问题的手段之一,通过你提供的这些信息,回答者可以更加高效的帮助你定位问题。

以下是一些合适的措辞:

我试过对我的海豹骰进行重启,还有撤去一些自定义回复文件以及 JSON 牌堆文件,但是基本对数据库文件夹的异常磁盘占用问题没有效果。


我试过重启海豹(但是没有重启分离部署的 Lagrange),海豹依然不会在私聊中回复我。

反例:不提供此类信息。

提供其他有价值的背景信息

海豹核心的版本号、连接的社交平台、连接 QQ 平台时使用的连接方式(内置客户端或分离部署)以及你的操作系统等,都有可能和你所遇到的问题有关。因此,与其提问后再被要求补充这些信息,不如一开始就将它们包含在你的问题之中。

以下是一些合适的措辞:

',50),c=t('

反例:不提供此类信息。

提问后,你该这样做

如果问题解决了……

如果回答者提供的解决方案解决了你的问题,你应该做出反馈。

首先,一个有效的问题解决方案可以扩充海豹社区对问题的经验。通过明确地告诉大家问题已经解决,你正在为建设海豹社区做出有力的贡献。

另外,对回答者表示感谢是最基本的礼貌,也是维护海豹社区良好氛围的行为。

如果问题没能解决……

问出下一个问题吧。别忘了回顾一遍本节内容,你的追问同样应该是一个良好的问题,这样才有助于问题的快速解决。

当然,那些已经描述过的且未发生改变的信息没有必要再重复一遍。如果你不确定某些信息是否应该重新描述,那就再说一遍,啰嗦总好过一个信息不完整的问题。

另一方面,你也应该额外补充一些信息,尤其是用你自己的话描述一遍你是如何执行回答者所给出的解决方案的。很多时候一个解决方案是有效的,但由于沟通上的歧义或误解,导致它没能被正确执行。因此,再和大家说说你是怎么做的吧。

其他事项

保持耐心,对回答问题者表现出友善和配合的态度

群员、管理和开发者们都有自己的生活,SealDice 也只是兴趣的一部分。所以,在你的问题看起来没有获得回答的时候,保持耐心。当有群员或管理进一步地询问相关问题,也希望你能友善且相对客观地叙述问题,而不是对他们发泄自己的主观情绪,同时,配合他们进行操作,这样,问题才能更快速地解决。

如果有需要,可以去 GitHub 代码仓库上提交 issue

如果你想要问的问题是新的、程序上的需求(例如希望加入一个新的接口),或者你的问题明确了是一个 bug,你希望 SealDice 开发组尽快满足这个需求或修复这个 bug,你可以通过在 GitHub 的 sealdice/sealdice-core 仓库中提交一个 issue,开发组的开发者们会通过讨论进行回复,并且,如果确定需要通过你的反馈对程序进行改动,也会更方便开发者们归档问题和修改程序。

结语

以上就是提问的智慧中我们总结出的,要在 SealDice 用户社区里更快地解决问题应该怎么做的办法。希望通过这样的办法,能让你更有效率地解决在部署 SealDice 的过程中遇到的问题。

也希望你通过本系列科普有所收获。

',18);function d(u,b,q,m,_,f){const r=l("Badge");return n(),i("div",null,[p,a("blockquote",null,[a("p",null,[e("我使用的是 "),h(r,{type:"tip",text:"vA.B.C"}),e(" 版本的海豹骰,部署在 Windows 11 系统上。私聊不回复的问题是在 QQ 平台发生的。我是通过分离部署连接的 QQ,使用的 QQ 后端是 NapCat。")])]),c])}const x=o(s,[["render",d]]);export{g as __pageData,x as default}; diff --git a/assets/deploy_newbie_question.md.XUPjLRJ3.lean.js b/assets/deploy_newbie_question.md.XUPjLRJ3.lean.js new file mode 100644 index 000000000..c629f4879 --- /dev/null +++ b/assets/deploy_newbie_question.md.XUPjLRJ3.lean.js @@ -0,0 +1 @@ +import{_ as o,D as l,c as i,j as a,a as e,I as h,a8 as t,o as n}from"./chunks/framework.C7ysi3tu.js";const g=JSON.parse('{"title":"如何正确提问","description":"","frontmatter":{"lang":"zh-cn","title":"如何正确提问"},"headers":[],"relativePath":"deploy/newbie_question.md","filePath":"deploy/newbie_question.md","lastUpdated":1720509767000}'),s={name:"deploy/newbie_question.md"},p=t("",50),c=t("",18);function d(u,b,q,m,_,f){const r=l("Badge");return n(),i("div",null,[p,a("blockquote",null,[a("p",null,[e("我使用的是 "),h(r,{type:"tip",text:"vA.B.C"}),e(" 版本的海豹骰,部署在 Windows 11 系统上。私聊不回复的问题是在 QQ 平台发生的。我是通过分离部署连接的 QQ,使用的 QQ 后端是 NapCat。")])]),c])}const x=o(s,[["render",d]]);export{g as __pageData,x as default}; diff --git a/assets/deploy_newbie_terms.md.DSd3tABa.js b/assets/deploy_newbie_terms.md.DSd3tABa.js new file mode 100644 index 000000000..2e1b208c7 --- /dev/null +++ b/assets/deploy_newbie_terms.md.DSd3tABa.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as r,a8 as h}from"./chunks/framework.C7ysi3tu.js";const l="/sealdice-manual-next/assets/newbie_terms_windows_terminal_icon.CtB6BvsL.svg",b=JSON.parse('{"title":"名词/术语速查表","description":"","frontmatter":{"lang":"zh-cn","title":"名词/术语速查表"},"headers":[],"relativePath":"deploy/newbie_terms.md","filePath":"deploy/newbie_terms.md","lastUpdated":1720509767000}'),t={name:"deploy/newbie_terms.md"},o=h('

名词/术语速查表

本节内容

本节为计算机小白指南中的第四部分。

本节旨在帮助先前未曾接触过计算机以及服务器,或者对计算机及服务器知之甚少的用户快速查询特定名词/术语的含义。本节不能代替权威解释或各项目的官方文档。

关于如何正确地提问,请看 如何正确提问,关于如何快速学习相关背景知识,请看 如何高效学习;关于一些小白常见的问题,请看 计算机小白常见问题

C

CQ 码

CQ 码是酷 Q (CoolQ) 时代定义的一套接口语言,方便用户快速编写指定类型 QQ 消息。可以参考 这个页面 进行编写。

D

端口

参见 IP 与端口

F

服务器

服务器可以简单地理解为持续保持开机的电脑,即持续提供服务的机器。

我们知道,骰子本质是在电脑上运行的程序,如果希望骰子 24 小时都可以回应我们的指令,那么就需要电脑保持开启的状态。但这样做的不稳定性非常大,如果出现例如家里突然停电了这样的情况,骰子就不能 24 小时随时回复我们的指令了,并且,这样也很费电。而服务器正是这样一种尽可能稳定运行的、不会关机的电脑,他们可能以「云电脑」这样的名字出现,但从本质上来说,这就是服务器。

提示:服务器和个人计算机在使用上有明显差异

相比开机激活之后马上就可以投入使用的个人计算机,服务器从运行系统上就与其稍有不同。这里以 Windows 系统的服务器和个人电脑举例。

服务器使用的是微软特地为了服务器开发的 Windows Server 系统。顾名思义,这个系统就是专为服务器开发的,在部分设置的选项中也与个人计算机有所不同。

正因如此,服务器一开始并不容易熟练操作。不过,这篇速查表的目的就是让屏幕前不太明白计算机相关知识的用户可以快速入门。所以,你也不必对这些问题有太大的压力。

G

工作目录

工作目录是用户在使用 命令行界面 时,当前「处于」的目录。在运行程序时,程序会以工作目录作为索引目录树的起始位置。

海豹核心要求的、和实际运行时的工作目录即为「包含 sealdice-core(.exe) 文件和 data 目录、通常还包含 lagrange 目录」的目录(文件夹)。

海豹工作目录内的文件结构可以参考 海豹的本地文件

H

Headless

参见 无头

I

IP 与端口

在分离部署 QQ 后端和部署多只海豹时,你都需要正确处理 IP 与端口号。IP 与端口是互联网应用用于定位彼此的方式之一,IP 用于区分网络中的不同设备,而端口用于区分同一设备上的不同应用。打个比方,IP 就像是地址,可以定位到某个特定的房屋,而端口号是这个屋子里住户的编号,可以用于判断该联系这户人中的哪一位。在目前主流使用的 IPv4 标准下,IP 是形如 127.0.0.1192.168.0.1 的一串数字,端口号则是范围在 0-65535 的一个整数。两者组合时,通常使用 127.0.0.1:3456 的方式描述。

通常来说,服务端应用程序会「监听」一个端口,而客户端应用程序会试图连接到此端口。例如在分离部署 QQ 后端并采用正向 WS 连接时,QQ 后端会监听你在配置中指定的端口,而海豹会试图连接到这个端口;而海豹的 WebUI 作为服务端默认绑定到 3211 端口,你的浏览器则试图连接到 3211 端口。所以,在配置分离部署的 QQ 后端时,海豹中必须填入与你的 QQ 后端配置相同的端口号。

不同范围的 IP 地址都有与之相关的规定,而你在配置海豹的过程中最常见的是 127.0.0.1localhost。此地址一般用于指向本机,而非互联网上的其他设备。当你的海豹与 QQ 后端位于同一主机上,在海豹中需要通过此地址指向 QQ 后端。当你访问 WebUI 的设备与海豹所在的是同一主机,你也需要在浏览器地址栏填入此 IP。

同样的,端口号也不能随意指定。一般情况下,一个端口只能被一个服务端监听使用,这就是为什么当你部署多只海豹时需要切换端口,此时默认的 3211 端口已被第一只海豹占用。而低位端口(小数字)通常有其约定,例如 80 是 HTTP 端口,443 是 HTTPS 端口等。低位端口通常已经被占用,或系统安全策略不允许随意监听此类端口。所以,建议优先选择高位端口(大数字)部署 QQ 后端及海豹。

Issue

Issue 更常见的含义是偏向负面的「问题」,而在开源项目领域,issue 一词更多地被翻译为中性的「议题」。

在开源项目网站如 GitHub 的 Issues 标签页下,按默认设置,你可以看到一个开源项目的全部进行中的议题。这些议题主要包括了使用求助、Bug 反馈以及功能请求。在这里的讨论是所有人可见的,因此可以方便开发者与用户高效地共享信息。Issue 也是大部分开源项目正式的反馈渠道。

J

JSON

JSON 是一种 数据序列化语言。语法入门可以参考 编写牌堆

K

控制台

控制台是 终端 生成的、用于与 Shell 交互的界面。

你可能还想了解 控制台命令行Shell命令提示符

许多时候,终端、控制台、命令行与 Shell 或命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

L

Lagrange

Lagrange(拉格兰)是一个 NTQQ 协议相关的开源项目。其包括目前实现了 Linux NTQQ 协议的 Lagrange.Core,和提供 OneBot-V11 Api 的 Lagrange.Onebot 两部分。

Lagrange 可以很方便的在多个平台(Windows、Linux、Mac)部署,海豹核心可以对接其提供的 OneBot-V11 Api 来提供 QQ 骰子服务。

可以参考 连接平台 - QQ有关的部分 和 Lagrange 的官方 GitHub 页面

Linux

Linux 是一种基于 UNIX 操作系统设计的开源操作系统。Linux 广泛应用于服务器、嵌入式系统、超级计算机以及大多数互联网基础设施。它也可以用于桌面计算,尽管市场份额相对较小。

Linux 的主要优点包括稳定性、安全性、低成本(大部分 Linux 发行版都是免费的)和开源性(用户可以查看和修改源代码)。

LiteLoader

LiteLoaderQQNT(LiteLoader)是 NTQQ 的插件加载器,允许通过插件注入 QQ 实现某些特定的功能。

可以参考 连接平台 - QQ有关的部分 和 LiteLoader 的官方 GitHub 页面

Log

参见 日志

M

命令行

命令行是 控制台 中,你实际输入命令的位置。通常,命令行行首会有 $#> 等符号,它们是 Shell 生成的提示符 (Prompt),用于提示用户 Shell 正在等待用户输入命令。

你可能还想了解 终端控制台Shell命令提示符

许多时候,终端、控制台、命令行与 Shell 或命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

命令行界面

命令行界面即基于 命令行 的用户界面。在此界面下,用户通常使用输入指令的方式与操作系统或程序进行交互。

命令提示符

命令提示符(cmd.exe)是 Windows 平台下,在上个世代常用,在如今(由于 Windows 过于完善兼容性)也经常被使用到的一种 Shell

命令提示符本身集成了 控制台,但由于其过于古老,具有诸多弊端。例如,当你用鼠标选中控制台内的文本时,正在运行的程序会被暂停。

因此,强烈建议你使用 Windows 终端 打开程序。在较新的 Windows 系统上,命令提示符默认使用 Windows 终端打开。

你可能还想了解 终端控制台命令行Shell

许多时候,终端、控制台、命令行与 Shell 或命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

N

NapCatQQ

NapCatQQ 是基于 PC NTQQ 本体实现一套 无头 Bot 框架。

可以参考 连接平台 - QQ有关的部分 和 NapCatQQ 的官方 GitHub 页面

NTQQ

NTQQ/QQNT 是腾讯公司基于 NT 内核,重新设计了用户界面的 QQ 客户端。腾讯官方称之为「QQ 9」。因此,如果发现自己使用的 QQ 不能正确加载 LiteLoader 等插件,请先检查 QQ 版本号是否大于 9。

Q

QQNT

参见 NTQQ

R

日志

在计算机领域中,日志通常指程序在运行时生成的一系列记录。这些记录通常反映了程序的运行状态,同时一般包含时间信息以方便定位对应的事件。在程序运行发生故障或不符合预期的行为时,日志中通常也会有所反映。日志通常分为信息(Info)、注意(Warning)和错误(Error)等不同的等级,而后两者就对应了上述的程序问题。

海豹的日志通常可以在三个地方找到:

  • WebUI 的「日志」导航栏,也即默认页面下。
  • 运行着海豹核心的 控制台
  • 海豹 工作目录 下, data/main.logdata/default/record.log 文件内。

S

数据序列化语言

程序运行中使用的数据,通常以特定的数据结构存储在内存之中。为了更方便地对数据进行存储、传输与重建,数据序列化语言被发明出来。这类语言通过特定的语法描述了数据之间的关系,并以文本的方式存储或传输。程序可以从这类语言中方便地恢复原有的数据结构。

常见的数据序列化语言包括 JSONYAMLTOML等。

Shell

我们日常使用的程序通常使用图形用户界面(GUI)与我们交互,即基于图形渲染和鼠标点击、拖拽的交互方式。而在编程领域和更古早的时期,命令行界面(CLI)则更为常用。在使用 CLI 时,我们第一个打开的程序通常就是 Shell。

Shell 是一个特殊的命令行界面程序,它给用户提供了通过输入命令与操作系统进行交互的交互方式。它会解析并执行用户输入的命令。

在类 Unix 系统中存在众多的 Shell,例如 Ubuntu 系统默认使用 Bash 而 macOS 默认使用 Zsh。Windows 系统推荐使用 PowerShell,而 命令提示符 也是一种 Shell。

你可能还想了解 终端控制台命令行

许多时候,终端、控制台、命令行、Shell 与命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

T

TOML

TOML 是一种 数据序列化语言。语法入门可以参考 编写牌堆

W

无头

在计算机领域,无头(headless)通常指通过不生成图形化用户界面方式运行(原本有图形化用户界面的)程序。

WebUI

UI 即「用户界面(User Interface)」,通常指用户与程序发生交互的位置。而 WebUI 顾名思义,就是通过网络生成、交互的用户界面。

在海豹的相关语境下,WebUI 指骰主能通过浏览器访问到的管理后台。海豹默认的 WebUI 监听 端口 为 3211,因此当你通过 3211 端口访问海豹的管理后台时,实质上就是在与海豹的 WebUI 交互。

Windows Terminal

参见 Windows 终端

Windows 终端

Windows Terminal icon

Windows 终端是一个为命令行用户准备的全新的、现代的、功能丰富的生产力 终端。它包含了 Windows 命令行社区经常希望加入的新功能,例如标签页、富文本、全球化、可配置性和主题与风格化等等。

如果你在 Windows 「开始菜单」的搜素功能中,输入「终端」后并没有出现如上所示的图标。那么强烈建议你下载并安装 Windows 终端,而不是继续使用 命令提示符 集成的 控制台

如果你发现你在启动海豹核心、LagrangeNapCatQQ 等程序时,弹出窗口的字体与风格都不属于 Windows 终端,那么强烈建议你在 Windows 终端中手动启动这些程序。

Y

YAML

YAML 是一种 数据序列化语言。语法入门可以参考 编写牌堆

Z

终端

终端(Terminal)是一个特殊的程序,它提供了一种访问 Shell 的方式,也可以视为 Shell 的一层包装。现代的终端通常会生成一个窗口——即 控制台 用于交互。

你可能还想了解 命令行Shell命令提示符

许多时候,终端、控制台、命令行与 Shell 或命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

',112),i=[o];function n(d,s,c,p,f,u){return r(),e("div",null,i)}const m=a(t,[["render",n]]);export{b as __pageData,m as default}; diff --git a/assets/deploy_newbie_terms.md.DSd3tABa.lean.js b/assets/deploy_newbie_terms.md.DSd3tABa.lean.js new file mode 100644 index 000000000..ba6b54540 --- /dev/null +++ b/assets/deploy_newbie_terms.md.DSd3tABa.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as r,a8 as h}from"./chunks/framework.C7ysi3tu.js";const l="/sealdice-manual-next/assets/newbie_terms_windows_terminal_icon.CtB6BvsL.svg",b=JSON.parse('{"title":"名词/术语速查表","description":"","frontmatter":{"lang":"zh-cn","title":"名词/术语速查表"},"headers":[],"relativePath":"deploy/newbie_terms.md","filePath":"deploy/newbie_terms.md","lastUpdated":1720509767000}'),t={name:"deploy/newbie_terms.md"},o=h("",112),i=[o];function n(d,s,c,p,f,u){return r(),e("div",null,i)}const m=a(t,[["render",n]]);export{b as __pageData,m as default}; diff --git a/assets/deploy_platform-dingtalk.md.qTPxPOpx.js b/assets/deploy_platform-dingtalk.md.qTPxPOpx.js new file mode 100644 index 000000000..099ec21c5 --- /dev/null +++ b/assets/deploy_platform-dingtalk.md.qTPxPOpx.js @@ -0,0 +1 @@ +import{_ as s,D as l,c as n,j as t,a as e,I as o,o as c}from"./chunks/framework.C7ysi3tu.js";const y=JSON.parse('{"title":"钉钉","description":"","frontmatter":{"lang":"zh-cn","title":"钉钉"},"headers":[],"relativePath":"deploy/platform-dingtalk.md","filePath":"deploy/platform-dingtalk.md","lastUpdated":1712309998000}'),d={name:"deploy/platform-dingtalk.md"},i=t("h1",{id:"钉钉",tabindex:"-1"},[e("钉钉 "),t("a",{class:"header-anchor",href:"#钉钉","aria-label":'Permalink to "钉钉"'},"​")],-1),r=t("div",{class:"info custom-block"},[t("p",{class:"custom-block-title"},"本节内容"),t("p",null,"本节将包含你在钉钉平台接入海豹核心需要了解的特定内容。")],-1),p={id:"钉钉支持",tabindex:"-1"},_=t("a",{class:"header-anchor",href:"#钉钉支持","aria-label":'Permalink to "钉钉支持 "'},"​",-1),m=t("div",{class:"info custom-block"},[t("p",{class:"custom-block-title"},"信息"),t("p",null,"施工中……")],-1);function h(f,k,u,g,x,b){const a=l("Badge");return c(),n("div",null,[i,r,t("h2",p,[e("钉钉支持 "),o(a,{type:"tip",text:"v1.4.2"}),e(),_]),t("p",null,[e("海豹从 "),o(a,{type:"tip",text:"v1.4.2"}),e(" 开始支持对接钉钉。")]),m])}const B=s(d,[["render",h]]);export{y as __pageData,B as default}; diff --git a/assets/deploy_platform-dingtalk.md.qTPxPOpx.lean.js b/assets/deploy_platform-dingtalk.md.qTPxPOpx.lean.js new file mode 100644 index 000000000..099ec21c5 --- /dev/null +++ b/assets/deploy_platform-dingtalk.md.qTPxPOpx.lean.js @@ -0,0 +1 @@ +import{_ as s,D as l,c as n,j as t,a as e,I as o,o as c}from"./chunks/framework.C7ysi3tu.js";const y=JSON.parse('{"title":"钉钉","description":"","frontmatter":{"lang":"zh-cn","title":"钉钉"},"headers":[],"relativePath":"deploy/platform-dingtalk.md","filePath":"deploy/platform-dingtalk.md","lastUpdated":1712309998000}'),d={name:"deploy/platform-dingtalk.md"},i=t("h1",{id:"钉钉",tabindex:"-1"},[e("钉钉 "),t("a",{class:"header-anchor",href:"#钉钉","aria-label":'Permalink to "钉钉"'},"​")],-1),r=t("div",{class:"info custom-block"},[t("p",{class:"custom-block-title"},"本节内容"),t("p",null,"本节将包含你在钉钉平台接入海豹核心需要了解的特定内容。")],-1),p={id:"钉钉支持",tabindex:"-1"},_=t("a",{class:"header-anchor",href:"#钉钉支持","aria-label":'Permalink to "钉钉支持 "'},"​",-1),m=t("div",{class:"info custom-block"},[t("p",{class:"custom-block-title"},"信息"),t("p",null,"施工中……")],-1);function h(f,k,u,g,x,b){const a=l("Badge");return c(),n("div",null,[i,r,t("h2",p,[e("钉钉支持 "),o(a,{type:"tip",text:"v1.4.2"}),e(),_]),t("p",null,[e("海豹从 "),o(a,{type:"tip",text:"v1.4.2"}),e(" 开始支持对接钉钉。")]),m])}const B=s(d,[["render",h]]);export{y as __pageData,B as default}; diff --git a/assets/deploy_platform-discord.md.l0nQBflN.js b/assets/deploy_platform-discord.md.l0nQBflN.js new file mode 100644 index 000000000..a96ad584a --- /dev/null +++ b/assets/deploy_platform-discord.md.l0nQBflN.js @@ -0,0 +1 @@ +import{_ as e,c as o,o as t,a8 as a}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"Discord","description":"","frontmatter":{"lang":"zh-cn","title":"Discord"},"headers":[],"relativePath":"deploy/platform-discord.md","filePath":"deploy/platform-discord.md","lastUpdated":1712824762000}'),c={name:"deploy/platform-discord.md"},d=a('

Discord

本节内容

本节将包含你在 Discord 平台接入海豹核心需要了解的特定内容。

获取 Token

要获取用于连接海豹的 Token 之前,你需要建立好一个应用。登录 Discord 开发者平台,点击「New application」,按照要求填写应用名字并确认创建。完成后,点击侧边导航栏「bot」,打开「Privileged Gateway Intents」目录下全部三个开关:Presence IntentServer Members IntentMessage Content Intent。完成后点击「Save Changes」。

建立好应用后上滑,点击 Reset Token,确认后点击 Copy 复制。

连接海豹

提示:代理模式

如果你海豹所处的位置直接访问 Discord 服务有困难,我们提供了通过 HTTP 代理访问的途径。

登录海豹并添加账号,选择「Discord账号」。在 Token 处粘贴你得到的 Token,点击连接。你的海豹应该可以正常在 Discord 运作了!

邀请海豹

你需要在侧边栏「Installation」选项卡中的「Authorization Methods」选项中选中 Guild Install 才能将你的机器人邀请至服务器中。

要申请用于邀请海豹至 Discord 服务器的邀请链接,前往侧边导航栏「OAuth2」下方的子目录「URL Generator」,在 Scope 中选择 Bot 后在下方 Bot Permissions 中选择你希望海豹拥有的权限。完成后复制下方生成的 URL,复制到浏览器打开。

注意:权限不足

如果给予海豹的权限不充分,可能会导致无法发送消息或图片。若你不确定具体应该添加哪些权限,可直接添加 Administrator(管理员)权限。

',12),s=[d];function r(i,n,l,p,h,_){return t(),o("div",null,s)}const k=e(c,[["render",r]]);export{u as __pageData,k as default}; diff --git a/assets/deploy_platform-discord.md.l0nQBflN.lean.js b/assets/deploy_platform-discord.md.l0nQBflN.lean.js new file mode 100644 index 000000000..c9fccc27a --- /dev/null +++ b/assets/deploy_platform-discord.md.l0nQBflN.lean.js @@ -0,0 +1 @@ +import{_ as e,c as o,o as t,a8 as a}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"Discord","description":"","frontmatter":{"lang":"zh-cn","title":"Discord"},"headers":[],"relativePath":"deploy/platform-discord.md","filePath":"deploy/platform-discord.md","lastUpdated":1712824762000}'),c={name:"deploy/platform-discord.md"},d=a("",12),s=[d];function r(i,n,l,p,h,_){return t(),o("div",null,s)}const k=e(c,[["render",r]]);export{u as __pageData,k as default}; diff --git a/assets/deploy_platform-dodo.md.CqcWYoRK.js b/assets/deploy_platform-dodo.md.CqcWYoRK.js new file mode 100644 index 000000000..b7f4f5ba1 --- /dev/null +++ b/assets/deploy_platform-dodo.md.CqcWYoRK.js @@ -0,0 +1 @@ +import{_ as o,c as e,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"DoDo","description":"","frontmatter":{"lang":"zh-cn","title":"DoDo"},"headers":[],"relativePath":"deploy/platform-dodo.md","filePath":"deploy/platform-dodo.md","lastUpdated":1714442589000}'),d={name:"deploy/platform-dodo.md"},c=t('

DoDo

本节内容

本节将包含你在 DoDo 平台接入海豹核心需要了解的特定内容。

建立应用

要在 DoDo 开发用于连接海豹的应用前,你需要前往 DoDo 开放平台注册账号并申请个人开发者。

获取 Client ID 和 Bot Token

成为开发者后你即可建立一个应用并获取 Client IDBot Token。在 DoDo 开放平台点击「创建应用」并选择开发应用,按照要求填写应用名字。完成后,点击应用卡片可在「凭证和基础信息」下找到 Client IDBot Token,复制并保存。

连接海豹

登录海豹并添加账号,选择「DoDo语音」。在 Client IDBot Token 下填写对应的信息,点击连接。你的海豹应该可以正常在 DoDo 运作了!

邀请海豹

要申请用于邀请海豹至 DoDo 超级群的邀请链接,前往侧边导航栏「机器人管理」,在下方「需要权限」下选择你希望海豹拥有的权限。完成后复制下方生成的 URL,复制到浏览器打开。

注意:权限不足

如果给予海豹的权限不充分,可能会导致无法发送消息或图片。若你不确定具体应该添加哪些权限,可直接添加 超级管理员权限。

注意

由于 DoDo 平台本身的问题,导致海豹无法响应直接发起的私聊。从群聊中触发的私聊,也即各种暗骰指令不受影响。

如果 DoDo 平台做出适当的修正,海豹核心会第一时间跟进以解决这一问题。

',12),l=[c];function r(i,n,s,p,h,D){return a(),e("div",null,l)}const k=o(d,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/deploy_platform-dodo.md.CqcWYoRK.lean.js b/assets/deploy_platform-dodo.md.CqcWYoRK.lean.js new file mode 100644 index 000000000..255612538 --- /dev/null +++ b/assets/deploy_platform-dodo.md.CqcWYoRK.lean.js @@ -0,0 +1 @@ +import{_ as o,c as e,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"DoDo","description":"","frontmatter":{"lang":"zh-cn","title":"DoDo"},"headers":[],"relativePath":"deploy/platform-dodo.md","filePath":"deploy/platform-dodo.md","lastUpdated":1714442589000}'),d={name:"deploy/platform-dodo.md"},c=t("",12),l=[c];function r(i,n,s,p,h,D){return a(),e("div",null,l)}const k=o(d,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/deploy_platform-kook.md.BlMgkptp.js b/assets/deploy_platform-kook.md.BlMgkptp.js new file mode 100644 index 000000000..06039a570 --- /dev/null +++ b/assets/deploy_platform-kook.md.BlMgkptp.js @@ -0,0 +1 @@ +import{_ as o,c as e,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"KOOK","description":"","frontmatter":{"lang":"zh-cn","title":"KOOK"},"headers":[],"relativePath":"deploy/platform-kook.md","filePath":"deploy/platform-kook.md","lastUpdated":1712309998000}'),c={name:"deploy/platform-kook.md"},l=t('

KOOK

本节内容

本节将包含你在 KOOK(开黑啦)平台接入海豹核心需要了解的特定内容。

获取 Token

要获取用于连接海豹的 Token 之前,你需要建立好一个应用。登录 KOOK 开发者平台,点击「创建应用」,按照要求填写应用名字并确认创建。

建立好应用后点击侧边导航栏「机器人」,在 Token 下找到 Token 并复制。

连接海豹

登录海豹并添加账号,选择「KOOK(开黑啦)账号」。在 Token 处粘贴你得到的 Token,点击连接。你的海豹应该可以正常在 KOOK 运作了!

注意:几率性断连

第一次接入 KOOK 的海豹有几率在显示连接后仍然离线。若你遇见这种情况,请尝试重新刷新 Token 并删除海豹 KOOK 账号使用新的 Token 重新添加。

邀请海豹

要申请用于邀请海豹至 KOOK 服务器的邀请链接,前往侧边导航栏「机器人」下方的子目录「邀请链接」,选择你希望海豹拥有的权限。完成后复制下方生成的 URL,复制到浏览器打开。

注意:权限不足

如果给予海豹的权限不充分,可能会导致无法发送消息或图片。若你不确定具体应该添加哪些权限,可直接添加管理员权限。

',11),r=[l];function n(s,p,d,i,k,h){return a(),e("div",null,r)}const K=o(c,[["render",n]]);export{m as __pageData,K as default}; diff --git a/assets/deploy_platform-kook.md.BlMgkptp.lean.js b/assets/deploy_platform-kook.md.BlMgkptp.lean.js new file mode 100644 index 000000000..f2304c149 --- /dev/null +++ b/assets/deploy_platform-kook.md.BlMgkptp.lean.js @@ -0,0 +1 @@ +import{_ as o,c as e,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"KOOK","description":"","frontmatter":{"lang":"zh-cn","title":"KOOK"},"headers":[],"relativePath":"deploy/platform-kook.md","filePath":"deploy/platform-kook.md","lastUpdated":1712309998000}'),c={name:"deploy/platform-kook.md"},l=t("",11),r=[l];function n(s,p,d,i,k,h){return a(),e("div",null,r)}const K=o(c,[["render",n]]);export{m as __pageData,K as default}; diff --git a/assets/deploy_platform-minecraft.md.CI5Py3uQ.js b/assets/deploy_platform-minecraft.md.CI5Py3uQ.js new file mode 100644 index 000000000..31a6ef42e --- /dev/null +++ b/assets/deploy_platform-minecraft.md.CI5Py3uQ.js @@ -0,0 +1,8 @@ +import{_ as c,D as n,c as o,I as s,w as e,a8 as t,o as h,j as a,a as i}from"./chunks/framework.C7ysi3tu.js";const p="/sealdice-manual-next/assets/platform-minecraft_1.D8ohrEt5.png",d="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wgARCABRALMDASIAAhEBAxEB/8QAGgABAAMBAQEAAAAAAAAAAAAAAAIEBQMGAf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAH35EkwO1myzdKAUAAACNa2AAAEZCjK4SraFAAAAAAAAAArxl8LLMqRuSwVm885sraZOYepYlFPTyxeC+hRkAAAAVvtaRZq6HMr8tHmc7HMfONsV+0hm2+4AAAAAy+lr6ZVX0iPLXdxZ5a1vlAAAAAAAAAAAAAAAAAAA//EACYQAAICAQQBAwUBAAAAAAAAAAIDAQQAERITFDAgIUAFECIyUEP/2gAIAQEAAQUC+AWu0BaM+otdvN+bjZDkGyS+HMQUDXIQ644tO3+ZvOcW7eX2ghmfXuHd4l/r/vbc1WMtO17JckW3TjG2SP3blEhCiQaLVCa1vn3/AFM7MC0blggjXTwbDjBAuRiVNzqK7DkQxaai1p66eLOJegVa6iGukAkRmQqDEihQR4lSUNwWCR4LBIwYLM5B5PPMa4r2bfQTcOsYmqkfGtHWs9IxGvV47XnlS5kVgE/yv//EABYRAAMAAAAAAAAAAAAAAAAAAAARYP/aAAgBAwEBPwEcP//EABYRAAMAAAAAAAAAAAAAAAAAAAARYP/aAAgBAgEBPwEUP//EADUQAAIBAwICBQsDBQAAAAAAAAECEQADEhMhMWEEIjJBURAwQEJScXKBkbHBFCBQI2LR4fD/2gAIAQEABj8C9AMCTUl857XL3fvOMTzpl/VQ88ZXGlAaRjI60fYUF1FcDiY3+/okMAR4GsRfcDkB/ih8OJ51LQWmZG38Zsq8faoqdmHPykAgkceXmMZGXh5s/EfvS/CfxS4QEgl2K5R8prpDI1nCyAesO1tPyplRERnu45Ef2zv41pzaz1tIPG3CaRBcQFb2JYKYbafGnRrdxB7WUT7oNWQSBMgVd6R0ZNK3pHrDi/OmW3ilrTWfCZ2qy7rdXtKqm22wq6U0+wmLgTMk/WscUFzW0txynx/NCePLzJh1iZ7P+6yZgYEbChqW0eOGQmnvOqOxIIlezRUC2JMnJMgffTW3CuGMsMer9K0tJNP2cdvIBgsLw24VlbsWkPiqAVgtpAszAXvoEgSOFXNQIwYBcMIUAcqhbSKAZ2XzXrHc+sfGsfVMkT5GUHdePkZQd140cTMGDWnPWiY9A4d57uZ5Uu3c34pGW1qlZhTiV+YP4rpJToyE3MdxG/iKCNbOnr5Ytj2Y5bVea10RetjBWBt306WbAtXNUst4RsP+2q3c/Shf6cTt1T6BJtr9KlUUe4fxf//EACgQAQEAAgEDAgYCAwAAAAAAAAERACExQVFhcZEQMECBocFQ8CDR8f/aAAgBAQABPyH6BBCjoWVwX2SdV+nj+v8AlwhdNayfPjS+lL9v+4b5tli6i/sY4wR7wF2eVv0j9i5CjnIYIQmOo3+g/wBcZRetBpfF/jClmEbXRnbAHFGius+KqxgHl5+QMzIVvYfL/oe7P7vnCqiISZOkM8lwwpvJQ+T3bwi6p4eti7dOTK2x2CZul55JcM5/eh0uHkr0yxc60fdWPxmqLisu3RhR4E0O+/W4u9+9y+wGVQvV/OdVgRCHNk3z4JlanJLZA1w7H5y0F24pzQW/H4ZK0Z2iC+nySdYWyeW4GLYBHmeXtnIs2GPfBkIyawBp+2OqCE/RtXp16GaSu5OiB0BDNLTNJR9vh1PlM+z3c1AmUE+2JF/TA8p3xWqlJxceg8AUUOXdwvFCER4vr8pXbOwd12xolQoN0nf1+FNzgZxS/Cm5wM4pcCcj6upzlXxbx04+g2Hf1X5mCDTxTr4maA1BqZzD3VyvU0pGusN5Y6euS3xsE0uu90MV+D02aA7+eN5V7AhN04bxwnXC3NLFo21tadff6BYivKnKxPFA/i//2gAMAwEAAgADAAAAEPPN/PPPPPPPPPH/ALzzzzzzzzzzTdnzTVDzzzzwxhhBwyzzzzzxS42zzzzzzzzzzzzzzzzzzzz/xAAjEQACAQIFBQEAAAAAAAAAAAABEQAh8DAxQEHBEGGBodHh/9oACAEDAQE/EOgF4aEAWIqqMJ3v8MyKvMjiCfnusNL7PRuK/JPMNXe70n//xAAjEQABAwMCBwAAAAAAAAAAAAABABEhMMHwYdEQMUBBobHh/9oACAECAQE/EE6EQ1NyiXqPDrTO24QkOMgG/D7tmiExnNrigFfPVJlngCyEZo3Sf//EACUQAQEAAgIBBAEFAQAAAAAAAAERITEAUUEwQGFxgRBQkaHBIP/aAAgBAQABPxD2AYkmY8AuZ98P0FRR4n+Ir7tv/ZBJDFCvlBZxAjapgzYTCSW0y54ctaiTC9CqT6DFAoQbQSDiU5gYdY9oZ04AD5HfNKUCyVYCmZ75fOQ8KTCWOvxNfmhKk6RAEKYgYVyD4P2whgTSLSoPrvmbrbWlPAmZs0n4/Qmsj6oDAaYjHwnoIJjMbFBTYKOfh9NcnXBzQzeKmIatVuBMkaR4J1kYoSshFXWMvRY5miQY0nR1lhq0EYEs64E8srMzEPxaDWgGLRqmuIVqjCLtEsG6j9nC5sB0HybYLDwPI9VapBuVQLLKcGeJEiSfoJPF3BvHBEyQygWrLyRgUmeb5joAIdoCCFWgaGh8WAWSeCmCs3WCUeA75hEqHxX7fRnBBDhSKC765SVM+5Kr1f54SSYFz2Qx+uO/Q0ecK1Q0nE/jSEA2rAhhHJCLv7JaYMmAIFXFq8orz49bSYNbrfNc8qpgiRFEwoGO3vj5RWYDZQM4SHKXQiSJCGd4OuAD8CrKMfFN8ZU6sZXIUWXBqBOBPAMxIAGIxdzHpLWW5whACFDAcor4KcDUTBNuvu8yDWIWAykcI4/TINYhYDKRwjjlmoaiPBk8PnXAEx1jDUNk2OLfYfDGv9x/t+O/Ky0/qP8AL88ZYGakxSTGACuEUehmjRkLkmB8xqMZQVptkwNiUa0arqI3TG4hEZwjdeKCkespBTk0g+JxC1rlam0ARV6ewXDyolXy44gTylidUPj9r//Z",r="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wgARCABLAJEDASIAAhEBAxEB/8QAGgABAAMBAQEAAAAAAAAAAAAAAAMEBQIGAf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAH35SLnGRXs9GoX4BQAAAIUwAcditJKPn0AAAAAAAEckJx9liLDDoR6eTy6vTQY15NCtzmLu85UJuy+Uum8AB8+1CTvGupoRwVls2qVeNZnRWaznpXPQilAABBOKElsmbT3kudDrqx4d4nPQoAAAH//xAAnEAADAAECBQIHAAAAAAAAAAABAgMEERMABRASIBQwIiMxMjNAUP/aAAgBAQABBQLoCCC6A+5Se4EmEPTJKick7XC/FjfT32UOvp4gmasANB/CodJsr9smZh0m+5PjuHdW8oB3WaerjtzotUS06PN9weNvw8T+4945jitR1+btKWZJSqMvKSpwb5DSAAUz3lliiuNVnq8cdbUp4EBhsrwqBOk0WSVxpWIGg8WXuWc1knjdFpxtQ1nOaWOTMUlnTfGOZAEZW9y6OXKi05hJJA9w9miseDNzwiMHOKTlnl7mWPi7BXEouP6OjBeXaKNdP2//xAAXEQADAQAAAAAAAAAAAAAAAAABEEAx/9oACAEDAQE/AUL9h//EABkRAAIDAQAAAAAAAAAAAAAAAAABESBAMf/aAAgBAgEBPwEgelW5h//EADYQAAIBAwIDBAcGBwAAAAAAAAECEQADEiExIkFREBMyYQQgQnFygcEUMEBDkqEjM1BikbHh/9oACAEBAAY/AuyQZFQWE9J+9xJOPMdaOPhPs9vFnHRedK1z0YIZgYhacS2GUgCBOlNq06aE7fgCrCQaBFpAR0FMNeLeDUD+hsRyFGLjT8qOQ1BjtV8WWRs247MZGW8UDdcLO3nRZtqzyMTjGJmfdvQdDINOitLJo3lU4suscQ9Z/hPZd+L6CvzXBP8AcAgj9JqwyH0hrn5hacY/102q33/2n+SMcMvFzn9t6sm+fSChsribWW/OYpXuZ961kcWpXLzjSnUw76eBY50+Np2IA9nTWkv/AMV4uZXD3RB2jQVcW2hFy6WdCw0X31ezscPD4CWn9qCzd8dzjXI+1oOGrJvG7pZUkSRxeqQdjW7/AKzRjn1PYEQQo2rjB2jRiJ99QNvWKmdehigiCFHrW1YSMvoak2+H50vdiJU/SinGSN8UJpbxV1y5YE/SgMixZcgFUtp8qf0hAUOBOoocXFjlqpE+dM4DkqQCuDA6/KgevX7pSsaGdanBJ+P/AJQJCgAEaGaF4OFHPFYLe886S2bqMqSIa3I/xO9JxzjaFvbpXcd+MMWXwVx+kaqhRCi4x571d40BuY+G3A0Pv1oTv5fjP//EACkQAQABBAECBQQDAQAAAAAAAAERACExQVFhcRAgkaHwMECBwVCx0eH/2gAIAQEAAT8h8AQkwjmoXcZldH1QMCVrTjtUiIucB6eOQ+4+7/tQtiQInlhmgZys8AGWATmZ96Zs0lzhqVtn7DH0SUOukiI08CCmST6UBBAEH8GlvKpQJJCxGXpRmxnI4HXfwWCa2AKKO4eHR5kvHNT4RAc9hunTQcCvoZq7tHtKtu/FcnNRHtqgNJANkmpWyKECwxPbzfGceHttV2iwjrx/rD3pBMlTjvNzplzuhFgjfLdO/wAPvTlKkKY9TOM2qJ+FhBMwXot0pGV7ErNS0YP4IlSjUtstqIwqqlmJUmCxaabDTEFJHQ7iKl9mmVE2m4nKrRWgdBoiCDjlChKyGCzZmN9PKZUhDXxH90UJ3SyM+vhDcMCZqRNyWVxBud6AgAWA15gYAEMi9S5WiiDzXhm8oItyjcz58xTAIxt3p0JuctMSETGq4dUq9pJ1xRKIHYvdjanEaISyHUvRhOEyQNhSE7UyNEASzDKM/wBUYswJsR9H6SJE2yjSfunWFyFS5bCKZTocVNEkjAoiSB3KAaQOUcLYRz1xUo7Jp5VPCW0hnC3yX7zXVIkp7XS2MRSlj2kLMpJlu9RTRjdEC9vvP//aAAwDAQACAAMAAAAQ8S/88888888O88888888oUrWTgwc88obg3/8s8888ffcv88888//xAAjEQACAQIEBwAAAAAAAAAAAAABEQAh8CAwQVEQMWGBkbHR/9oACAEDAQE/EIzCYeSsvWDS9vvuO+0N+OBo71WBzpAGA3gLDxoc46uClRaiosX/xAAiEQACAQIGAwEAAAAAAAAAAAABEQAh8CAwMUFR0WGx4ZH/2gAIAQIBAT8QiQEVks5ZNHd8w6nx969RUvkiC/2Ct7/NJVfg9esLhKE8QhFXxje0QShrrbfcJZeL/8QAJRABAQADAAIBAgcBAAAAAAAAAREAITFBUWEQIDBAcYGRofBQ/9oACAEBAAE/EPobSbWB7ExSfXACpZbLq/iszFJnbd7TLOycXKfcgHvPpfJy76t+m6UUXeJFIG/IHjTWCXWHF6GWvgIXzpHgvp6cIoMI2hSios2pPJikKat+JR/IHCBXxMJBQ+k+QHCJAKmgDqE0BDJXGD0HP+GuFSSxBTEk61osaP35Rgt0dBaSwc/rn0owsLDrnLKd/ePA/H0HQgKlKYR2US/Gb2HJWoaKxSw0bdZAKdqlYACpUABVYYNDhbEuT1BGbTfN5viYKIRRFAoREQREcJeszwBZHXqzPkd/oQPaUfIj9yj/AOqxduK4CjwYaCb0KC3UK+hNzErqEj1PI0wXGi1IW3+7+ThcuWpab3vn5vNxBKRcIABCOwWuzcRMHCC2muju3mM15fy6SmsBMnvHE8ji7FlAoFVWuKRlkgqxXGVXRiOQAidlpcO+Bb047D5UqBPKCKGxhG7LbggxQdWm7GE+yhYDsokcpjT57dFQLUvAP2+nVnhQfqq5ZWYyt+gjc6o2+2hfUCgDgHg+5uFEMD6QT5EcD8WAq9qq7Vaq1VV392wgtiWMbN9MFAawISse78ahN7aifi1S6Cd/3cJSGtlm08aHatNbLFUHX86hA01NmW5Q5VKSERx3xS9Kaoha6iSnmwjz3ifMJhoQgSm2mz2YVro6QFA0hkUhrhEkABQ+wEfhKfhWFWLKecD/AEypKbx3dQZrW63cOI4EBtb7n84BNF7BI0noKnhMWzVVYYGExU8Bno3zzC+bLeePeIITbyEGLX0IeAmRyjBIIKUj0E3rYh+EYuSLEElNM76JR4DvmESofFf1fzn/2Q==",E="/sealdice-manual-next/assets/platform-minecraft_4.CXIn9Ufb.jpg",k="/sealdice-manual-next/assets/platform-minecraft_5.1vLiGW8n.jpg",g="/sealdice-manual-next/assets/platform-minecraft_6.BVAQbR-9.jpg",K=JSON.parse('{"title":"Minecraft","description":"","frontmatter":{"lang":"zh-cn","title":"Minecraft"},"headers":[],"relativePath":"deploy/platform-minecraft.md","filePath":"deploy/platform-minecraft.md","lastUpdated":1714442589000}'),B={name:"deploy/platform-minecraft.md"},C=t('

Minecraft

本节内容

本节将包含你在 Minecraft 服务端接入海豹核心需要了解的特定内容。

Minecraft 支持

海豹核心支持与安装了 sealdice-minecraft 插件的 Minecraft 服务器(如 Paper、Purpur)进行对接。

架设 Minecraft 服务端

下面以 Windows 平台为例,简单介绍 Minecraft 服务端的架设。

架设 Minecraft 服务器首先需要根据选定对应的 Java 版本。

  • 服务端版本 1.0 - 1.11.x 可以使用 Java 6Java 7,但推荐使用 Java 8
  • 服务端版本 1.12(17w13a) - 1.16.5(1.17-21w18a),需要使用 Java 8
  • 服务端版本 1.17(21w19a) - 1.17.1 需要使用 Java 16
  • 服务端版本 1.18(1.18-pre2) 及以上版本需要使用 Java 17 及以上。
  • 此为一般情况,部分服务端会推荐对应 Java 版本,请按需安装对应 Java 版本。

注意

sealdice-minecraft 插件需要 Java 18 及以上的 Java 版本,如需要在低版本运行请自行验证服务端与 Java 版本是否匹配。

获取服务端核心

',10),u=a("p",null,[i("前往 "),a("a",{href:"https://papermc.io",target:"_blank",rel:"noreferrer"},"Paper MC"),i(" 下载对应版本的服务端核心文件。")],-1),m=a("p",null,[i("前往 "),a("a",{href:"https://purpurmc.org",target:"_blank",rel:"noreferrer"},"Purpur MC"),i(" 下载对应版本的服务端核心文件。")],-1),y=a("div",{class:"danger custom-block"},[a("p",{class:"custom-block-title"},"危险"),a("p",null,[a("code",null,"sealdice-minecraft"),i(" 插件不兼容 Spigot/Bukkit 服务端。")])],-1),f=a("p",null,[i("前往 "),a("a",{href:"https://www.spigotmc.org",target:"_blank",rel:"noreferrer"},"Spigot MC"),i(" 寻找最新的 BulidTools,选择要构建的版本进行编译,获得服务端核心文件。")],-1),Q=a("p",null,[a("img",{src:p,alt:"BuildToolsUI"})],-1),M=a("p",null,[i("在 UI 左上角的 "),a("code",null,"Select Version"),i(" 选择版本。")],-1),I=a("p",null,[i("在 "),a("code",null,"Output Directory(Optional)"),i(" 选择编译文件输出位置。")],-1),b=a("p",null,[i("点击右下角的 "),a("code",null,"Compile"),i(" 进行编译。")],-1),D=a("div",{class:"danger custom-block"},[a("p",{class:"custom-block-title"},"危险"),a("p",null,[a("code",null,"sealdice-minecraft"),i(" 插件不兼容 Spigot/Bukkit 服务端。")])],-1),F=a("p",null,[i("在 "),a("a",{href:"https://www.getbukkit.org",target:"_blank",rel:"noreferrer"},"Get Bukkit"),i(" 直接下载对应版本的服务端核心文件。")],-1),P=t('

启动服务端

新建一个空白文件夹,放入服务端核心,编写一个简单的 bat 启动脚本(可新建一个 txt 文件后,修改文件后缀)。

Create Bat 1

启动脚本内容如下:

cmd
@echo
+java -Xms2G -Xmx2G -jar spigot-1.20.4.jar nogui
  • -Xms2G -Xmx2G:此项设定服务器占用的内存,按照需求更换数字,例如 1024m6G
  • -jarnogui 之间的 spigot-1.20.4.jar 更改为文件夹内对应的服务端核心文件文件名。

退出并保存文件,将该文件后缀改为 .bat。修改后文件夹如下所示:

Create Bat 2

启动 start.bat 文件,即可开始运行服务端。

提示

首次打开 start.bat 启动脚本,会下载 mojang_1.20.4.jar 等一系列的文件并创建文件夹,在下载和创建完成后会首次启动会自行关闭。

打开在文件夹内新创建的 eula.txt,将 eula=false 改为 eula=true

text
...
+#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
+#Fri Feb 30 00:00:01 HKT 2024
+eula=true  # 请把该项修改为 true
+...

再次启动脚本 start.bat

当出现 Done (7.837s)! For help, type "help" 时,服务器首次启动完毕。

在 CMD 内键入 stop,等待服务器保存并关闭,即可进入下一个步骤。

放入 sealdice-minecraft 插件

前往 Sealdice Minecraft GitHub Release 下载 jar 文件放进 plugins 文件夹。

再次运行脚本 start.bat 以启动服务器。

在服务器日志中出现:

cmd
[00:00:07 INFO]: [SealDicePlugin] Enabling SealDicePlugin v1.0.2*
+[00:00:07 INFO]: [SealDicePlugin] ChatServer started on port: 8887
+[00:00:07 INFO]: [SealDicePlugin] Server started!

证明 sealdice-minecraft 插件已经正确安装,并且插件将会开启一个端口 8887 供海豹使用。

使用在控制台使用 sealport [端口] 或在游戏中使用 /sealport [端口] 可以修改连接端口。

至此,Minecraft 服务端的准备工作已经完毕。

海豹核心与 Minecraft 服务端连接

账号设置 页,选择 账号类型Minecraft(Paper)

SealDice UI

Url 的填写请根据下列情况选择:

',27),x=a("p",null,"海豹核心与 Minecraft 服务端部署在同一台服务器:",-1),j=a("p",null,[a("img",{src:k,alt:"SealDice UI"})],-1),S=a("p",null,[i("此时输入使用 "),a("code",null,"localhost:[端口]"),i(" 即可完成连接,默认端口为 "),a("code",null,"8887"),i("。")],-1),v=a("p",null,"海豹核心与 Minecraft 服务端部署在不同的服务器:",-1),R=a("p",null,[a("img",{src:g,alt:"SealDice UI"})],-1),w=a("p",null,[i("此时输入 "),a("code",null,"IP:[端口]"),i(",IP 为 Minecraft 服务端所在服务器的 IP 地址。")],-1),_=a("div",{class:"tip custom-block"},[a("p",{class:"custom-block-title"},"提示"),a("p",null,"请注意,大多数服务器不会默认开放所需要的端口,需要自行开放。")],-1),T=t('

当服务器后台日志中出现:

cmd
[00:00:10 INFO]: [SealDicePlugin] 0:0:0:0:0:0:0:1 entered the room!

证明海豹核心已和 Minecraft 服务端连接完毕。

sealdice-minecraft 插件的使用

指令

提供两个插件指令:

sealdice [文本]

使用该指令的玩家视为向海豹私聊发送了一条消息。

但是命令方块和控制台使用该指令会被视为公屏发送。

sealport [端口]

使用该指令需要 OP 权限。该指令用于设置与海豹连接的端口。

权限

提供一个权限:

sealdice.admin

该权限允许/禁止玩家设置与海豹连接的端口,默认为 false

',15);function W(q,z,U,J,G,N){const A=n("PluginTabsTab"),l=n("PluginTabs");return h(),o("div",null,[C,s(l,{sharedStateKey:"mc-server-core"},{default:e(()=>[s(A,{label:"Paper"},{default:e(()=>[u]),_:1}),s(A,{label:"Purpur"},{default:e(()=>[m]),_:1}),s(A,{label:"Spigot(插件不兼容)"},{default:e(()=>[y,f,Q,M,I,b]),_:1}),s(A,{label:"Bukkit(插件不兼容)"},{default:e(()=>[D,F]),_:1})]),_:1}),P,s(l,null,{default:e(()=>[s(A,{label:"部署在同一台服务器"},{default:e(()=>[x,j,S]),_:1}),s(A,{label:"部署在不同的服务器"},{default:e(()=>[v,R,w,_]),_:1})]),_:1}),T])}const Y=c(B,[["render",W]]);export{K as __pageData,Y as default}; diff --git a/assets/deploy_platform-minecraft.md.CI5Py3uQ.lean.js b/assets/deploy_platform-minecraft.md.CI5Py3uQ.lean.js new file mode 100644 index 000000000..c8d48d3d4 --- /dev/null +++ b/assets/deploy_platform-minecraft.md.CI5Py3uQ.lean.js @@ -0,0 +1 @@ +import{_ as c,D as n,c as o,I as s,w as e,a8 as t,o as h,j as a,a as i}from"./chunks/framework.C7ysi3tu.js";const p="/sealdice-manual-next/assets/platform-minecraft_1.D8ohrEt5.png",d="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wgARCABRALMDASIAAhEBAxEB/8QAGgABAAMBAQEAAAAAAAAAAAAAAAIEBQMGAf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAH35EkwO1myzdKAUAAACNa2AAAEZCjK4SraFAAAAAAAAAArxl8LLMqRuSwVm885sraZOYepYlFPTyxeC+hRkAAAAVvtaRZq6HMr8tHmc7HMfONsV+0hm2+4AAAAAy+lr6ZVX0iPLXdxZ5a1vlAAAAAAAAAAAAAAAAAAA//EACYQAAICAQQBAwUBAAAAAAAAAAIDAQQAERITFDAgIUAFECIyUEP/2gAIAQEAAQUC+AWu0BaM+otdvN+bjZDkGyS+HMQUDXIQ644tO3+ZvOcW7eX2ghmfXuHd4l/r/vbc1WMtO17JckW3TjG2SP3blEhCiQaLVCa1vn3/AFM7MC0blggjXTwbDjBAuRiVNzqK7DkQxaai1p66eLOJegVa6iGukAkRmQqDEihQR4lSUNwWCR4LBIwYLM5B5PPMa4r2bfQTcOsYmqkfGtHWs9IxGvV47XnlS5kVgE/yv//EABYRAAMAAAAAAAAAAAAAAAAAAAARYP/aAAgBAwEBPwEcP//EABYRAAMAAAAAAAAAAAAAAAAAAAARYP/aAAgBAgEBPwEUP//EADUQAAIBAwICBQsDBQAAAAAAAAECEQADEhMhMWEEIjJBURAwQEJScXKBkbHBFCBQI2LR4fD/2gAIAQEABj8C9AMCTUl857XL3fvOMTzpl/VQ88ZXGlAaRjI60fYUF1FcDiY3+/okMAR4GsRfcDkB/ih8OJ51LQWmZG38Zsq8faoqdmHPykAgkceXmMZGXh5s/EfvS/CfxS4QEgl2K5R8prpDI1nCyAesO1tPyplRERnu45Ef2zv41pzaz1tIPG3CaRBcQFb2JYKYbafGnRrdxB7WUT7oNWQSBMgVd6R0ZNK3pHrDi/OmW3ilrTWfCZ2qy7rdXtKqm22wq6U0+wmLgTMk/WscUFzW0txynx/NCePLzJh1iZ7P+6yZgYEbChqW0eOGQmnvOqOxIIlezRUC2JMnJMgffTW3CuGMsMer9K0tJNP2cdvIBgsLw24VlbsWkPiqAVgtpAszAXvoEgSOFXNQIwYBcMIUAcqhbSKAZ2XzXrHc+sfGsfVMkT5GUHdePkZQd140cTMGDWnPWiY9A4d57uZ5Uu3c34pGW1qlZhTiV+YP4rpJToyE3MdxG/iKCNbOnr5Ytj2Y5bVea10RetjBWBt306WbAtXNUst4RsP+2q3c/Shf6cTt1T6BJtr9KlUUe4fxf//EACgQAQEAAgEDAgYCAwAAAAAAAAERACExQVFhcZEQMECBocFQ8CDR8f/aAAgBAQABPyH6BBCjoWVwX2SdV+nj+v8AlwhdNayfPjS+lL9v+4b5tli6i/sY4wR7wF2eVv0j9i5CjnIYIQmOo3+g/wBcZRetBpfF/jClmEbXRnbAHFGius+KqxgHl5+QMzIVvYfL/oe7P7vnCqiISZOkM8lwwpvJQ+T3bwi6p4eti7dOTK2x2CZul55JcM5/eh0uHkr0yxc60fdWPxmqLisu3RhR4E0O+/W4u9+9y+wGVQvV/OdVgRCHNk3z4JlanJLZA1w7H5y0F24pzQW/H4ZK0Z2iC+nySdYWyeW4GLYBHmeXtnIs2GPfBkIyawBp+2OqCE/RtXp16GaSu5OiB0BDNLTNJR9vh1PlM+z3c1AmUE+2JF/TA8p3xWqlJxceg8AUUOXdwvFCER4vr8pXbOwd12xolQoN0nf1+FNzgZxS/Cm5wM4pcCcj6upzlXxbx04+g2Hf1X5mCDTxTr4maA1BqZzD3VyvU0pGusN5Y6euS3xsE0uu90MV+D02aA7+eN5V7AhN04bxwnXC3NLFo21tadff6BYivKnKxPFA/i//2gAMAwEAAgADAAAAEPPN/PPPPPPPPPH/ALzzzzzzzzzzTdnzTVDzzzzwxhhBwyzzzzzxS42zzzzzzzzzzzzzzzzzzzz/xAAjEQACAQIFBQEAAAAAAAAAAAABEQAh8DAxQEHBEGGBodHh/9oACAEDAQE/EOgF4aEAWIqqMJ3v8MyKvMjiCfnusNL7PRuK/JPMNXe70n//xAAjEQABAwMCBwAAAAAAAAAAAAABABEhMMHwYdEQMUBBobHh/9oACAECAQE/EE6EQ1NyiXqPDrTO24QkOMgG/D7tmiExnNrigFfPVJlngCyEZo3Sf//EACUQAQEAAgIBBAEFAQAAAAAAAAERITEAUUEwQGFxgRBQkaHBIP/aAAgBAQABPxD2AYkmY8AuZ98P0FRR4n+Ir7tv/ZBJDFCvlBZxAjapgzYTCSW0y54ctaiTC9CqT6DFAoQbQSDiU5gYdY9oZ04AD5HfNKUCyVYCmZ75fOQ8KTCWOvxNfmhKk6RAEKYgYVyD4P2whgTSLSoPrvmbrbWlPAmZs0n4/Qmsj6oDAaYjHwnoIJjMbFBTYKOfh9NcnXBzQzeKmIatVuBMkaR4J1kYoSshFXWMvRY5miQY0nR1lhq0EYEs64E8srMzEPxaDWgGLRqmuIVqjCLtEsG6j9nC5sB0HybYLDwPI9VapBuVQLLKcGeJEiSfoJPF3BvHBEyQygWrLyRgUmeb5joAIdoCCFWgaGh8WAWSeCmCs3WCUeA75hEqHxX7fRnBBDhSKC765SVM+5Kr1f54SSYFz2Qx+uO/Q0ecK1Q0nE/jSEA2rAhhHJCLv7JaYMmAIFXFq8orz49bSYNbrfNc8qpgiRFEwoGO3vj5RWYDZQM4SHKXQiSJCGd4OuAD8CrKMfFN8ZU6sZXIUWXBqBOBPAMxIAGIxdzHpLWW5whACFDAcor4KcDUTBNuvu8yDWIWAykcI4/TINYhYDKRwjjlmoaiPBk8PnXAEx1jDUNk2OLfYfDGv9x/t+O/Ky0/qP8AL88ZYGakxSTGACuEUehmjRkLkmB8xqMZQVptkwNiUa0arqI3TG4hEZwjdeKCkespBTk0g+JxC1rlam0ARV6ewXDyolXy44gTylidUPj9r//Z",r="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wgARCABLAJEDASIAAhEBAxEB/8QAGgABAAMBAQEAAAAAAAAAAAAAAAMEBQIGAf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAH35SLnGRXs9GoX4BQAAAIUwAcditJKPn0AAAAAAAEckJx9liLDDoR6eTy6vTQY15NCtzmLu85UJuy+Uum8AB8+1CTvGupoRwVls2qVeNZnRWaznpXPQilAABBOKElsmbT3kudDrqx4d4nPQoAAAH//xAAnEAADAAECBQIHAAAAAAAAAAABAgMEERMABRASIBQwIiMxMjNAUP/aAAgBAQABBQLoCCC6A+5Se4EmEPTJKick7XC/FjfT32UOvp4gmasANB/CodJsr9smZh0m+5PjuHdW8oB3WaerjtzotUS06PN9weNvw8T+4945jitR1+btKWZJSqMvKSpwb5DSAAUz3lliiuNVnq8cdbUp4EBhsrwqBOk0WSVxpWIGg8WXuWc1knjdFpxtQ1nOaWOTMUlnTfGOZAEZW9y6OXKi05hJJA9w9miseDNzwiMHOKTlnl7mWPi7BXEouP6OjBeXaKNdP2//xAAXEQADAQAAAAAAAAAAAAAAAAABEEAx/9oACAEDAQE/AUL9h//EABkRAAIDAQAAAAAAAAAAAAAAAAABESBAMf/aAAgBAgEBPwEgelW5h//EADYQAAIBAwIDBAcGBwAAAAAAAAECEQADEiExIkFREBMyYQQgQnFygcEUMEBDkqEjM1BikbHh/9oACAEBAAY/AuyQZFQWE9J+9xJOPMdaOPhPs9vFnHRedK1z0YIZgYhacS2GUgCBOlNq06aE7fgCrCQaBFpAR0FMNeLeDUD+hsRyFGLjT8qOQ1BjtV8WWRs247MZGW8UDdcLO3nRZtqzyMTjGJmfdvQdDINOitLJo3lU4suscQ9Z/hPZd+L6CvzXBP8AcAgj9JqwyH0hrn5hacY/102q33/2n+SMcMvFzn9t6sm+fSChsribWW/OYpXuZ961kcWpXLzjSnUw76eBY50+Np2IA9nTWkv/AMV4uZXD3RB2jQVcW2hFy6WdCw0X31ezscPD4CWn9qCzd8dzjXI+1oOGrJvG7pZUkSRxeqQdjW7/AKzRjn1PYEQQo2rjB2jRiJ99QNvWKmdehigiCFHrW1YSMvoak2+H50vdiJU/SinGSN8UJpbxV1y5YE/SgMixZcgFUtp8qf0hAUOBOoocXFjlqpE+dM4DkqQCuDA6/KgevX7pSsaGdanBJ+P/AJQJCgAEaGaF4OFHPFYLe886S2bqMqSIa3I/xO9JxzjaFvbpXcd+MMWXwVx+kaqhRCi4x571d40BuY+G3A0Pv1oTv5fjP//EACkQAQABBAECBQQDAQAAAAAAAAERACExQVFhcRAgkaHwMECBwVCx0eH/2gAIAQEAAT8h8AQkwjmoXcZldH1QMCVrTjtUiIucB6eOQ+4+7/tQtiQInlhmgZys8AGWATmZ96Zs0lzhqVtn7DH0SUOukiI08CCmST6UBBAEH8GlvKpQJJCxGXpRmxnI4HXfwWCa2AKKO4eHR5kvHNT4RAc9hunTQcCvoZq7tHtKtu/FcnNRHtqgNJANkmpWyKECwxPbzfGceHttV2iwjrx/rD3pBMlTjvNzplzuhFgjfLdO/wAPvTlKkKY9TOM2qJ+FhBMwXot0pGV7ErNS0YP4IlSjUtstqIwqqlmJUmCxaabDTEFJHQ7iKl9mmVE2m4nKrRWgdBoiCDjlChKyGCzZmN9PKZUhDXxH90UJ3SyM+vhDcMCZqRNyWVxBud6AgAWA15gYAEMi9S5WiiDzXhm8oItyjcz58xTAIxt3p0JuctMSETGq4dUq9pJ1xRKIHYvdjanEaISyHUvRhOEyQNhSE7UyNEASzDKM/wBUYswJsR9H6SJE2yjSfunWFyFS5bCKZTocVNEkjAoiSB3KAaQOUcLYRz1xUo7Jp5VPCW0hnC3yX7zXVIkp7XS2MRSlj2kLMpJlu9RTRjdEC9vvP//aAAwDAQACAAMAAAAQ8S/88888888O88888888oUrWTgwc88obg3/8s8888ffcv88888//xAAjEQACAQIEBwAAAAAAAAAAAAABEQAh8CAwQVEQMWGBkbHR/9oACAEDAQE/EIzCYeSsvWDS9vvuO+0N+OBo71WBzpAGA3gLDxoc46uClRaiosX/xAAiEQACAQIGAwEAAAAAAAAAAAABEQAh8CAwMUFR0WGx4ZH/2gAIAQIBAT8QiQEVks5ZNHd8w6nx969RUvkiC/2Ct7/NJVfg9esLhKE8QhFXxje0QShrrbfcJZeL/8QAJRABAQADAAIBAgcBAAAAAAAAAREAITFBUWEQIDBAcYGRofBQ/9oACAEBAAE/EPobSbWB7ExSfXACpZbLq/iszFJnbd7TLOycXKfcgHvPpfJy76t+m6UUXeJFIG/IHjTWCXWHF6GWvgIXzpHgvp6cIoMI2hSios2pPJikKat+JR/IHCBXxMJBQ+k+QHCJAKmgDqE0BDJXGD0HP+GuFSSxBTEk61osaP35Rgt0dBaSwc/rn0owsLDrnLKd/ePA/H0HQgKlKYR2US/Gb2HJWoaKxSw0bdZAKdqlYACpUABVYYNDhbEuT1BGbTfN5viYKIRRFAoREQREcJeszwBZHXqzPkd/oQPaUfIj9yj/AOqxduK4CjwYaCb0KC3UK+hNzErqEj1PI0wXGi1IW3+7+ThcuWpab3vn5vNxBKRcIABCOwWuzcRMHCC2muju3mM15fy6SmsBMnvHE8ji7FlAoFVWuKRlkgqxXGVXRiOQAidlpcO+Bb047D5UqBPKCKGxhG7LbggxQdWm7GE+yhYDsokcpjT57dFQLUvAP2+nVnhQfqq5ZWYyt+gjc6o2+2hfUCgDgHg+5uFEMD6QT5EcD8WAq9qq7Vaq1VV392wgtiWMbN9MFAawISse78ahN7aifi1S6Cd/3cJSGtlm08aHatNbLFUHX86hA01NmW5Q5VKSERx3xS9Kaoha6iSnmwjz3ifMJhoQgSm2mz2YVro6QFA0hkUhrhEkABQ+wEfhKfhWFWLKecD/AEypKbx3dQZrW63cOI4EBtb7n84BNF7BI0noKnhMWzVVYYGExU8Bno3zzC+bLeePeIITbyEGLX0IeAmRyjBIIKUj0E3rYh+EYuSLEElNM76JR4DvmESofFf1fzn/2Q==",E="/sealdice-manual-next/assets/platform-minecraft_4.CXIn9Ufb.jpg",k="/sealdice-manual-next/assets/platform-minecraft_5.1vLiGW8n.jpg",g="/sealdice-manual-next/assets/platform-minecraft_6.BVAQbR-9.jpg",K=JSON.parse('{"title":"Minecraft","description":"","frontmatter":{"lang":"zh-cn","title":"Minecraft"},"headers":[],"relativePath":"deploy/platform-minecraft.md","filePath":"deploy/platform-minecraft.md","lastUpdated":1714442589000}'),B={name:"deploy/platform-minecraft.md"},C=t("",10),u=a("p",null,[i("前往 "),a("a",{href:"https://papermc.io",target:"_blank",rel:"noreferrer"},"Paper MC"),i(" 下载对应版本的服务端核心文件。")],-1),m=a("p",null,[i("前往 "),a("a",{href:"https://purpurmc.org",target:"_blank",rel:"noreferrer"},"Purpur MC"),i(" 下载对应版本的服务端核心文件。")],-1),y=a("div",{class:"danger custom-block"},[a("p",{class:"custom-block-title"},"危险"),a("p",null,[a("code",null,"sealdice-minecraft"),i(" 插件不兼容 Spigot/Bukkit 服务端。")])],-1),f=a("p",null,[i("前往 "),a("a",{href:"https://www.spigotmc.org",target:"_blank",rel:"noreferrer"},"Spigot MC"),i(" 寻找最新的 BulidTools,选择要构建的版本进行编译,获得服务端核心文件。")],-1),Q=a("p",null,[a("img",{src:p,alt:"BuildToolsUI"})],-1),M=a("p",null,[i("在 UI 左上角的 "),a("code",null,"Select Version"),i(" 选择版本。")],-1),I=a("p",null,[i("在 "),a("code",null,"Output Directory(Optional)"),i(" 选择编译文件输出位置。")],-1),b=a("p",null,[i("点击右下角的 "),a("code",null,"Compile"),i(" 进行编译。")],-1),D=a("div",{class:"danger custom-block"},[a("p",{class:"custom-block-title"},"危险"),a("p",null,[a("code",null,"sealdice-minecraft"),i(" 插件不兼容 Spigot/Bukkit 服务端。")])],-1),F=a("p",null,[i("在 "),a("a",{href:"https://www.getbukkit.org",target:"_blank",rel:"noreferrer"},"Get Bukkit"),i(" 直接下载对应版本的服务端核心文件。")],-1),P=t("",27),x=a("p",null,"海豹核心与 Minecraft 服务端部署在同一台服务器:",-1),j=a("p",null,[a("img",{src:k,alt:"SealDice UI"})],-1),S=a("p",null,[i("此时输入使用 "),a("code",null,"localhost:[端口]"),i(" 即可完成连接,默认端口为 "),a("code",null,"8887"),i("。")],-1),v=a("p",null,"海豹核心与 Minecraft 服务端部署在不同的服务器:",-1),R=a("p",null,[a("img",{src:g,alt:"SealDice UI"})],-1),w=a("p",null,[i("此时输入 "),a("code",null,"IP:[端口]"),i(",IP 为 Minecraft 服务端所在服务器的 IP 地址。")],-1),_=a("div",{class:"tip custom-block"},[a("p",{class:"custom-block-title"},"提示"),a("p",null,"请注意,大多数服务器不会默认开放所需要的端口,需要自行开放。")],-1),T=t("",15);function W(q,z,U,J,G,N){const A=n("PluginTabsTab"),l=n("PluginTabs");return h(),o("div",null,[C,s(l,{sharedStateKey:"mc-server-core"},{default:e(()=>[s(A,{label:"Paper"},{default:e(()=>[u]),_:1}),s(A,{label:"Purpur"},{default:e(()=>[m]),_:1}),s(A,{label:"Spigot(插件不兼容)"},{default:e(()=>[y,f,Q,M,I,b]),_:1}),s(A,{label:"Bukkit(插件不兼容)"},{default:e(()=>[D,F]),_:1})]),_:1}),P,s(l,null,{default:e(()=>[s(A,{label:"部署在同一台服务器"},{default:e(()=>[x,j,S]),_:1}),s(A,{label:"部署在不同的服务器"},{default:e(()=>[v,R,w,_]),_:1})]),_:1}),T])}const Y=c(B,[["render",W]]);export{K as __pageData,Y as default}; diff --git a/assets/deploy_platform-qq-docker.md.ClIWzIs_.js b/assets/deploy_platform-qq-docker.md.ClIWzIs_.js new file mode 100644 index 000000000..b840f91fc --- /dev/null +++ b/assets/deploy_platform-qq-docker.md.ClIWzIs_.js @@ -0,0 +1,61 @@ +import{_ as s,c as a,o as i,a8 as e}from"./chunks/framework.C7ysi3tu.js";const E=JSON.parse('{"title":"QQ - Docker 中的海豹","description":"","frontmatter":{"lang":"zh-cn","title":"QQ - Docker 中的海豹"},"headers":[],"relativePath":"deploy/platform-qq-docker.md","filePath":"deploy/platform-qq-docker.md","lastUpdated":1719148816000}'),n={name:"deploy/platform-qq-docker.md"},l=e(`

QQ - Docker 中的海豹

本节内容

本节将包含通过 docker 部署海豹时,你在 QQ 平台接入海豹核心需要了解的特定内容。

请至少完成 QQ 一节中,前言部分的阅读。

本节假定你对 dockerdocker compose 有足够的了解。

通过 docker compose 同时部署海豹与 Lagrange

通过此方式部署的海豹与 Lagrange 容器共同构成一个服务栈,可以方便地进行集中管理。请首先阅读 QQ 一节中,Lagrange 部分,大致了解 Lagrange 的部署过程。

创建 docker-compose.yml

首先,在工作目录下创建 docker-compose.yml 文件,并填入以下内容:

yaml
name: sealdice
+
+services:
+  sealdice:
+    image: ghcr.io/sealdice/sealdice:edge
+    ports:
+      - 3211:3211
+    volumes:
+      - ./seal_data:/data
+      - ./seal_backups:/backups
+    restart: unless-stopped
+
+  lagrange:
+    image: ghcr.io/lagrangedev/lagrange.onebot:edge
+    volumes:
+      - ./lagrange_data:/app/data
+      - ./seal_data:/data
+    restart: unless-stopped

此文件参考了通过 docker 部署海豹通过 docker 部署 Lagrange 相关内容。

此文件将宿主机 3211 端口映射到海豹容器的 3211 端口,如有需要,请根据实际情况自行调整端口映射。

此文件将工作目录下 seal_dataseal_backups 目录分别挂载到海豹容器的 /data/backups 目录,并将 lagrange_dataseal_data 目录分别挂载到 Lagrange 容器的 /app/data/data 目录。由于通过 QQ 后端发送本地图片时,海豹会将图片在容器内的绝对路径传递给 QQ 后端,所以需要将海豹数据也挂载到 Lagrange 容器以使 Lagrange 得以访问图片。如有需要,请根据实际情况自行调整挂载的目录。

注意:在容器内以非 root 用户执行海豹进程可能会导致一些权限问题。

因此,示例文件以 root 用户生成容器进程。后续需要修改 seal_dataseal_backupslagrange_data 目录中的内容(包括 Lagrange 配置文件、海豹数据等)时,需要 root 权限。

补充:登录多个 QQ 账号

只需简单修改 docker-compose.yml 即可登录到多个 QQ 号:

yaml
name: sealdice
+
+services:
+  sealdice:
+    image: ghcr.io/sealdice/sealdice:edge
+    ports:
+      - 3211:3211
+    volumes:
+      - ./seal_data:/data
+      - ./seal_backups:/backups
+    restart: unless-stopped
+
+  lagrange-1:
+    image: ghcr.io/lagrangedev/lagrange.onebot:edge
+    volumes:
+      - ./lagrange_data_1:/app/data
+      - ./seal_data:/data
+    restart: unless-stopped
+
+  lagrange-2:
+    image: ghcr.io/lagrangedev/lagrange.onebot:edge
+    volumes:
+      - ./lagrange_data_2:/app/data
+      - ./seal_data:/data
+    restart: unless-stopped

分别对每个 Lagrange 容器完成下述配置文件修改及扫码登录过程,并在下述海豹连接 Lagrange 填写 WS 地址时,将 {Host} 分别填入 lagrange-1lagrange-2 即可。

首次启动容器

在工作目录下使用以下命令启动容器:

bash
docker compose up -d

首次启动容器后,docker compose 会自动创建 seal_dataseal_backups 以及 lagrange_data 目录。

Lagrange 容器配置

首先使用以下命令停止容器运行:

bash
docker compose stop

随后,按照 QQ 一节中运行 Lagrange 部分修改 lagrange_data/appsettings.json 文件。需要特别注意的是,为了允许海豹容器正常访问 Lagrange 端口,需要将监听地址修改为 0.0.0.0

appsettings.json

json
{
+  "Implementations": [
+    {
+      "Type": "ForwardWebSocket",
+      "Host": "0.0.0.0",
+      "Port": 8081,
+      "HeartBeatInterval": 5000,
+      "AccessToken": ""
+    }
+  ]
+}

随后,通过 docker compose up -d 重新启动容器。通过 docker compose logs lagrange 访问 Lagrange 容器的日志,在日志中即可看到 QQ 登录二维码。同时 lagrange_data/qr-0.png 也是登录二维码。选择任一方式,尽快使用手机 QQ 扫码连接。

海豹连接 Lagrange

请参见 QQ 一节中海豹连接 Lagrange 部分。在填写 WS 正向服务地址 ws://{Host}:{Port} 时,{Host} 填写为 lagrange 即可,如果配置了多个 Lagrange 容器,填入对应服务的名称,docker compose 会自动处理主机名解析。{Port} 正常填写配置文件中设定的监听地址,在上文的例子中为 8081。

更新海豹容器或 Lagrange 容器

运行以下命令:

bash
docker compose pull
+docker compose up -d

当任一镜像有更新时,以上命令会完成容器更新。

连接到宿主机上的 QQ 后端

注意:此种部署方式可能不能正常发送本地图片。

由于通过 QQ 后端发送本地图片时,海豹会将图片在容器内的绝对路径传递给 QQ 后端。宿主机上的 QQ 后端无法正确解析海豹数据目录的路径,因此可能无法正常发送图片。

首先按照 QQ 一节中的介绍,完成 QQ 后端的配置。

Docker 自动为容器构建了一个子网,容器默认接入此网络,并通过端口映射将容器端口暴露在宿主机。因此,容器中的海豹不能直接访问宿主机监听本地端口的 QQ 后端。需要连接时,有两种解决方案。

保持容器与宿主机网络隔离

Docker 为宿主机也分配了子网中的 IP,可以通过 ip a 等命令查看。例如:

bash
$ ip a
+...
+9: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
+    link/ether 02:42:33:50:ca:2d brd ff:ff:ff:ff:ff:ff
+    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
+       valid_lft forever preferred_lft forever
+    inet6 fe80::42:33ff:fe50:ca2d/64 scope link proto kernel_ll
+       valid_lft forever preferred_lft forever
+...

其中 172.17.0.1 为宿主机在 docker 子网中的 IP。

此时,首先修改 QQ 后端的监听设置,以确保其接受任何来源的连接(例如将 127.0.0.1 修改为 0.0.0.0),然后在配置海豹时,{Host} 填入宿主机在 docker 子网中的 IP(本例中为 172.17.0.1)。

配置容器使用宿主机网络

通过将 docker run 命令中的 -p ... 替换为 --network host,或在 docker-compose.yml 文件中将 ports: ... 替换为 network_mode: host,即可令容器使用宿主机网络。此时,在配置海豹时,{Host} 写为类似 127.0.0.1localhost 即可正常访问监听本地端口的 QQ 后端。

`,40),p=[l];function t(h,k,d,r,o,c){return i(),a("div",null,p)}const F=s(n,[["render",t]]);export{E as __pageData,F as default}; diff --git a/assets/deploy_platform-qq-docker.md.ClIWzIs_.lean.js b/assets/deploy_platform-qq-docker.md.ClIWzIs_.lean.js new file mode 100644 index 000000000..eb71eb6f2 --- /dev/null +++ b/assets/deploy_platform-qq-docker.md.ClIWzIs_.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as i,a8 as e}from"./chunks/framework.C7ysi3tu.js";const E=JSON.parse('{"title":"QQ - Docker 中的海豹","description":"","frontmatter":{"lang":"zh-cn","title":"QQ - Docker 中的海豹"},"headers":[],"relativePath":"deploy/platform-qq-docker.md","filePath":"deploy/platform-qq-docker.md","lastUpdated":1719148816000}'),n={name:"deploy/platform-qq-docker.md"},l=e("",40),p=[l];function t(h,k,d,r,o,c){return i(),a("div",null,p)}const F=s(n,[["render",t]]);export{E as __pageData,F as default}; diff --git a/assets/deploy_platform-qq.md.CzPOzqXU.js b/assets/deploy_platform-qq.md.CzPOzqXU.js new file mode 100644 index 000000000..fe258bb80 --- /dev/null +++ b/assets/deploy_platform-qq.md.CzPOzqXU.js @@ -0,0 +1,105 @@ +import{_ as e,D as l,c as p,j as a,a as s,I as t,a8 as n,o as h}from"./chunks/framework.C7ysi3tu.js";const o="/sealdice-manual-next/assets/platform-qq-turnoff.BeOWAmaj.png",r="/sealdice-manual-next/assets/platform-qq-builtin-1.CuhUrma2.png",k="/sealdice-manual-next/assets/platform-qq-builtin-2.CsxwmFcJ.png",g="/sealdice-manual-next/assets/platform-qq-lagrange-release.DuJWpDwK.png",d="/sealdice-manual-next/assets/platform-qq-lagrange-1.C7fEhWhX.png",c="/sealdice-manual-next/assets/platform-qq-lagrange-2.C4VYY6Lp.png",E="/sealdice-manual-next/assets/platform-qq-lagrange-3.DwUI2h78.png",u="/sealdice-manual-next/assets/platform-qq-lagrange-4.BvabiQyh.png",q="/sealdice-manual-next/assets/platform-qq-lagrange-5.q7RWFdnu.png",y="/sealdice-manual-next/assets/platform-qq-lagrange-6.DWsyrztG.png",C="/sealdice-manual-next/assets/platform-qq-lagrange-7.BQZzzKgl.png",F="/sealdice-manual-next/assets/platform-qq-lagrange-8.C5E7Yeei.png",m="/sealdice-manual-next/assets/platform-qq-llonebot-2.CRkT2vLu.png",b="/sealdice-manual-next/assets/platform-qq-bot-qrcode.CZVWW4Rf.jpg",_="/sealdice-manual-next/assets/platform-qq-official-1.xvYBQLAg.png",Q="/sealdice-manual-next/assets/platform-qq-official-2.BG1tRARH.png",B="/sealdice-manual-next/assets/platform-qq-official-3.DhHb4kkJ.png",es=JSON.parse('{"title":"QQ","description":"","frontmatter":{"lang":"zh-cn","title":"QQ"},"headers":[],"relativePath":"deploy/platform-qq.md","filePath":"deploy/platform-qq.md","lastUpdated":1721204034000}'),f={name:"deploy/platform-qq.md"},L=n('

QQ

本节内容

本节将包含你在 QQ 平台接入海豹核心需要了解的特定内容。

前言

有关 QQ 平台机器人的说明

直至目前,绝大部分群聊中的 QQ 机器人采用「假用户」方式,即通过第三方软件接入注册的另一个 QQ。QQ 官方一直在对第三方实现进行技术与非技术层面的多重打击。

从目前的表现看来,QQ 官方会对账号行为进行检测,来区分出账号是否是正常用户(如不正常的登录方式,以不合理的速度在多地区登录等等)。我们无法得知具体的检测细节,但已证实的是,当 QQ 账号用作机器人并被检测到时,该 QQ 会视为风险账号,被官方予以警告,封禁,临时甚至 永久冻结 的惩罚。

尽管不同方案之间的差异很大(比如基于 Android QQ 协议的 Go-Cqhttp 已经基本不可用,而 LagrangeLLOneBot 等基于 NTQQ 的方案目前比较稳定),但需要明白的是,这些方案都由社区第三方软件提供,实质上以 QQ 官方角度等同于「外挂软件」,并不受到官方支持(甚至是被打击的目标)。

因此,是否在 QQ 平台搭建这样的非官方机器人取决于你的慎重考虑。同时,第三方方案的可用性也可能会随时间推移而存在变化,海豹官方无法做出任何保证。

目前,仅有 官方机器人服务 是被 QQ 官方认可的机器人方案。该方案可用性由 QQ 官方保证,但目前 仅对企业用户和部分受邀个人用户开放,同时在功能上非常受限。

如果有可能,建议迁移到其它平台,在 QQ 平台选择何种方式取决于你自己的选择。

危险

倘若出现账号被封禁等情况,海豹官方无力解决此类问题,也不对相应后果负责。

对接引导

所有支持的途径参见目录,本节提供了多种对接途径的引导。

',13),v=a("a",{href:"#内置客户端"},"内置客户端",-1),A=n('

对于需要使用更加灵活的方案的用户,我们推荐如下:

  • 需要比较简单的部署流程,希望资源占用低的,见 LagrangeNapCat
  • 需要比较简单的部署流程,不是特别在意资源占用的,见 LLOneBot
  • 通过 docker 部署海豹的,见 QQ - Docker 中的海豹
  • 如果你有 QQ 官方机器人权限,见 官方机器人
  • Go-cqhttp 与 QSign 方案因可用性原因已被弃用。我们不建议任何用户再使用此方式部署 QQ 接入,同时强烈建议正在使用该方案的用户迁移之前的资料保留备查。

不同的对接方式适应不同的情况,可能会存在途径特有的功能缺失和其它问题,请根据自己的情况选择适合的方式。

注意:对接内置客户端、Lagrange、LLOneBot 和 Napcat 等 PC 端协议时最好关闭 戳一戳 功能

由于内置客户端、Lagrange、LLOneBot 和 Napcat 并未完全实现戳一戳功能。请使用上述客户端连接 QQ 的用户关闭海豹核心后台位于 综合设置 - 基本设置启用戳一戳 开关,以免产生不必要的报错和麻烦。

关闭戳一戳开关

注意

内置客户端、Lagrange、LLOneBot 和 Napcat 都占用 PC 端协议。在使用这些连接方式时,不可同时登录 PC 端 QQ,否则将导致挤占下线。

由于官方 QQ 设定,PC 端协议(即以上四种登录方式)每隔 30 天需要重新登录。

',5),x={id:"内置客户端",tabindex:"-1"},D=a("a",{class:"header-anchor",href:"#内置客户端","aria-label":'Permalink to "内置客户端 "'},"​",-1),N=n('

注意

需要知道的是,该方案也是前言中提到的非官方机器人,并不受到 QQ 官方认可。

危险:部分过时系统不支持

内置客户端暂不支持 Windows 7,Windows Server 2008,32 位 Windows 也不可用。

Windows Server 2012 可能会缺少部分运行库,需要自行下载安装。

进入海豹 Web UI 的「账号设置」新增连接,选择账号类型「QQ(内置客户端)」,这也是默认选项,填写 QQ 号:

内置客户端

随后使用登录了目标账号的手机 QQ 尽快扫码登录:

内置客户端扫码登录

在手机上确认登录以后,等待状态变为「已连接」即可。

内置客户端 BUG

由于内置客户端的实现不完全,会有莫名其妙的 bug,所以我们推荐有能力的骰主使用手册中的其他方案。

但如果你仍然决定使用「QQ(内置客户端)」,当遇到无法使用时可以尝试以下解决方案:

  • PC 端:删除 data/default/extra/lagrange-QQ号 文件夹,重启海豹,删除账号重新添加。
  • 安卓端:停止海豹核心,在右上角设置中将「文件同步模式」打开,返回主界面,点击「导出数据」,到显示的目录删除 data/default/extra/lagrange-QQ号 目录,然后点击「导入数据」,删除账号重新添加。
',8),w={id:"lagrange",tabindex:"-1"},S=a("a",{class:"header-anchor",href:"#lagrange","aria-label":'Permalink to "Lagrange "'},"​",-1),P=n('

Lagrange

Lagrange(拉格兰)是一个 NTQQ 协议相关的开源项目。其包括目前实现了 Linux NTQQ 协议的 Lagrange.Core,和提供 OneBot-V11 Api 的 Lagrange.Onebot 两部分。

与 GoCqhttp 类似,Lagrange 可以很方便的在多个平台(Windows、Linux、Mac)部署,海豹核心可以对接其提供的 OneBot-V11 Api 来提供 QQ 骰子服务。

准备 Lagrange

可以在 Lagrange Github Release 中获取到 Nightly 版程序,根据你的系统选择相应版本下载,例如:

  • Windows 通常选择 win-x64 版本;
  • Mac(Intel 芯片)选择 osx-x64 的版本;
  • Mac(Arm 芯片,如 M1、M2、M3 等)选择 osx-arm64 的版本;
  • ……

Lagrange Nightly Release

补充:使用 Lagrange Action 版本

你还可以选择使用 Lagrange 在 Action 中自动构建的版本,这些版本是 最新 的构建。在使用这些版本时,你需要安装对应版本的 .Net SDK。

除特殊情况外,我们始终建议你选择前面提到的 Nightly 版本。

可以在 Lagrange Github 仓库 中的 Action 页面,进入位于列表最前一条的最新制品页面,根据你的系统选择相应版本。

Lagrange Action

点击进入页面后拉到最下方,选择相应版本下载。

Lagrange Action Artifacts

运行 Lagrange

解压下载的 Nightly 版的 Lagrange 压缩文件,你可以看见名如 Lagrange.OneBot.exe 的应用程序,双击启动即可。启动时有可能会先弹出如下警告,按步骤允许即可:

Lagrange 运行警告 1Lagrange 运行警告 2

成功启动后可以发现打开了如下的命令行窗口,其中提示已创建了一个配置文件:

Lagrange 启动后提示

可以发现,在程序所在的文件夹中多出了一个 appsettings.json,这是 Lagrange 的配置文件你需要打开并修改其中的一些项。也可以在启动前直接手动新建 appsettings.json 并写入内容。

修改后内容大致如下:

appsettings.json

json
{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft": "Warning",
+      "Microsoft.Hosting.Lifetime": "Information"
+    }
+  },
+  "SignServerUrl": "https://sign.lagrangecore.org/api/sign",
+  "Account": {
+    "Uin": 0,
+    "Password": "",
+    "Protocol": "Linux",
+    "AutoReconnect": true,
+    "GetOptimumServer": true
+  },
+  "Message": {
+    "IgnoreSelf": true
+  },
+  "Implementations": [
+    {
+      "Type": "ForwardWebSocket",
+      "Host": "127.0.0.1",
+      "Port": 8081,
+      "HeartBeatInterval": 5000,
+      "AccessToken": ""
+    }
+  ]
+}

其中有几个重要的设置项需要填写和注意:

  • Password 为空时为扫码,这里请留空。
  • SignServerUrl:NTQQ 的签名服务地址,注意此处的签名服务需要是 Linux NTQQ 签名服务,不可以使用 QSign、Shamrock 等提供的 Android QQ 签名服务
  • Implementations:这是 Lagrange 的连接配置,海豹将使用 ForwardWebSocket,即正向 WebSocket 方式连接 Lagrange,该方式下的 HostPort 是 Lagrange 将提供的 OneBot-V11 正向 WS 服务地址,记下以供后续使用。如果对应端口已占用请自行调整。

Linux NTQQ 的签名服务

拉格兰项目提供公共签名服务,运行程序后默认生成的配置文件中已经包含了签名地址。

可访问拉格兰项目的 GitHub 仓库,在其 README 中验证其是否正确有效。

注意:保证连接模式匹配

Lagrange 默认生成的配置文件生成的是 ReverseWebSocket(即反向 WebSocket),如果你使用该种连接方式,下文海豹对接时应该选择「OneBot 11 反向 WS」模式。

海豹推荐使用正向连接,如果你选择正向连接方式,需要像上述示例中的配置文件一样调整为 ForwardWebSocket,下文海豹对接时按引导执行即可。

具体的连接细节还可以参见 Lagrange 文档的 配置文件 一节。

修改配置完成后的文件夹如下:

正式运行前的 Lagrange 文件夹

在配置文件按需要正确修改后,在命令行中按任意键,Lagrange 将正式运行。在同一文件夹下会出现一张登录二维码图片 qr-0.png,在二维码过期前尽快使用手机 QQ 扫码连接。

补充:Action 版 Lagrange 与 .Net SDK

Action 中获取的 Lagrange 依赖 .Net SDK,如果你在运行 Lagrange 时出现报错,需要去下载 .Net SDK 并安装。

在下载 Lagrange 时,后缀中的数字说明了其对 .Net 版本的需求,请根据说明下载对应版本(例如后面是 8.0,则需安装 SDK 的版本为 8.0)。

此外,与 Nightly 下载后解压的单文件版本的 Lagrange 不同,在解压 Action 制品压缩文件后,你可以看见 Lagrange.OneBot.exe 等多个文件,这些文件都是运行必不可少的。

包括生成的配置文件在内,一个正确的 Action 版 Lagrange 文件夹如下:

Action 版的 Lagrange 文件夹

海豹连接 Lagrange

进入海豹 Web UI 的「账号设置」新增链接,选择账号类型「QQ(onebot11正向WS)」。

账号填写骰子的 QQ 号,连接地址使用上面记下的 WS 正向服务地址 ws://{Host}:{Port},如 ws://127.0.0.1:8081

海豹连接 Lagrange

成功连接后即可使用。

Lagrange 配置文件

与可执行文件在同级目录下的 appsettings.json 文件,是 Lagrange 的配置文件。

最新的 Lagrange 会在没有该文件时自动创建默认配置,如果没有生成该文件,你可以按照 官方仓库的最新说明 手动创建这一文件。

注意:使用最新的 Lagrange

我们始终建议你升级到程序的最新版本,而不是为了沿用旧配置而保持旧版本。

注意:Lagrange 配置文件格式变更

Lagrange 项目对其配置文件的格式进行过更改。如果你是在 2024 年 2 月 18 日或之前下载的 Lagrange 程序,请你参考下面的版本。

目前最新的 Lagrange 可以识别两个版本的配置文件,但依然建议修改为最新格式。

补充:旧版 Lagrange 配置

如果你使用的是 2024 年 2 月 18 日或之前下载的 Lagrange 程序,或使用前面提到的配置出现问题,请尝试替换为以下配置:

json
{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Trace",
+      "Microsoft": "Warning",
+      "Microsoft.Hosting.Lifetime": "Information"
+    }
+  },
+  "SignServerUrl": "",
+  "Account": {
+    "Uin": 0,
+    "Password": "",
+    "Protocol": "Linux",
+    "AutoReconnect": true,
+    "GetOptimumServer": true
+  },
+  "Message": {
+    "IgnoreSelf": true
+  },
+  "Implementation": {
+    "ForwardWebSocket": {
+      "Host": "127.0.0.1",
+      "Port": 8081,
+      "HeartBeatInterval": 5000,
+      "AccessToken": ""
+    }
+  }
+}

配置项的含义与之前的说明相同,可以做相同处理。

`,35),T={id:"llonebot",tabindex:"-1"},W=a("a",{class:"header-anchor",href:"#llonebot","aria-label":'Permalink to "LLOneBot "'},"​",-1),I=n('

LLOneBot

LiteLoaderQQNT(LiteLoader)是 NTQQ 的插件加载器,允许通过插件注入 QQ 实现某些特定的功能。

LLOneBot 则是 Liteloader 的插件之一,可以实现劫持客户端对外开放 API,可以理解为装在 PC 上的 Shamrock。

安装 LLOneBot

请参考 官方文档 中的说明。

配置海豹

安装完成后重新登录 QQ,进入 LLOneBot 的设置页:

LLOneBot 设置页

支持两种方式与海豹对接:

  • 正向连接:默认开放的正向 ws 端口为 3001,在海豹的新添账号选择「QQ(onebot11正向WS)」,账号处随便填写,连接地址填 ws://localhost:3001
  • 反向连接:关闭正向连接开关,打开反向连接,点击「添加」,输入 ws://127.0.0.1:4001/ws,在海豹的新添账号选择「QQ(onebot11反向WS)」,输入账号。

提示

  • 如若想修改端口请在 LLOneBot 的设置 UI 自行修改。
  • 请注意设置中的正向连接和反向连接请 不要同时打开,否则会发不出消息。
  • 如果你是在服务器上部署,可能需要使用 Mem Reduct 之类的工具定时清理过高的内存占用。

NapCatQQ

NapCatQQ

NapCatQQ 是在后台低占用运行的无头(没有界面)的 NTQQ,具体占用会因人而异,QQ 群、好友越多占用越高。

NapCat 官方文档

注意同个账号不能同时登录原版 QQ 和 NapCatQQ

NapCat 是基于官方 NTQQ 实现的 Bot 框架,因此在开始前,你需要根据 NapCatQQ 的手册安装官方 QQ,若 QQ 版本过低会导致程序无法正常启动。

下载 NapCatQQ

前往 NapCatQQ Release 页面下载最新版本。

启动 NapCatQQ

在启动前,你需要修改 config/onebot11.json 内容,并重名为 onebot11_<你的QQ号>.json ,如 onebot11_1234567.json

json 配置内容参数解释:

json
{
+  "http": {
+    // 是否启用http服务, true为启动,false为禁用
+    "enable": false,
+    // HTTP服务监听的 ip 地址,为空则监听所有地址
+    "host": "",
+    // http服务端口
+    "port": 3000,
+    // http上报密钥,可为空
+    "secret": "",
+    // 是否启用http心跳
+    "enableHeart": false,
+    // 是否启用http上报服务
+    "enablePost": false,
+    // http上报地址, 如["http://127.0.0.1:8080/onebot/v11/http"]
+    "postUrls": []
+  },
+  "ws": {
+    // 是否启用正向websocket服务
+    "enable": true,
+    // 正向websocket服务监听的 ip 地址,为空则监听所有地址
+    "host": "",
+    // 正向websocket服务端口
+    "port": 3001
+  },
+  "reverseWs": {
+    // 是否启用反向websocket服务
+    "enable": false,
+    // 反向websocket对接的地址, 如["ws://127.0.0.1:8080/onebot/v11/ws"]
+    "urls": []
+  },
+  "GroupLocalTime": {
+    "Record": false,//是否开启本地群聊时间记录
+    "RecordList": []//开启全部群 ["-1"]  单个群配置 ["11111"] 多个群 ["1","2","3"]
+  },
+  // 是否开启调试模式,开启后上报消息会携带一个raw字段,为原始消息内容
+  "debug": false,
+  // ws心跳间隔,单位毫秒
+  "heartInterval": 30000,
+  // 消息上报格式,array为消息组,string为cq码字符串
+  "messagePostFormat": "array",
+  // 是否将本地文件转换为URL,如果获取不到url则使用base64字段返回文件内容
+  "enableLocalFile2Url": true,
+  // 音乐签名URL,用于处理音乐相关请求
+  "musicSignUrl": "",
+  // 是否上报自己发送的消息
+  "reportSelfMessage": false,
+  // access_token,可以为空
+  "token": ""
+}

其中有几个重要的设置项需要填写和注意:

  • ws:enable:这是 NapCat 的 ws 正向连接配置,你需要将其修改为 true,即启用正向 WebSocket 方式连接 NapCatQQ。
  • ws:port:这是正向连接端口,请记下以便后续使用。

也可以使用 WebUI 进行配置,具体请看 NapCat 手册

修改完文件后请根据 NapCatQQ 的教程启动程序,扫码登录即可。

海豹连接

进入海豹 Web UI 的「账号设置」新增链接,选择账号类型「QQ(onebot11正向WS)」。

账号填写骰子的 QQ 号,连接地址使用上面记下的 ws 正向服务地址 ws://127.0.0.1:{wsPort},如 ws://127.0.0.1:3001

`,25),O={id:"chronocat",tabindex:"-1"},R=a("a",{class:"header-anchor",href:"#chronocat","aria-label":'Permalink to "Chronocat "'},"​",-1),V={class:"warning custom-block"},U=a("p",{class:"custom-block-title"},"注意:Chronocat 的新旧版本",-1),j=a("p",null,[a("a",{href:"https://chronocat.vercel.app/",target:"_blank",rel:"noreferrer"},"Chronocat"),s(" 主要分为 0.0.x 的旧版本和 0.2.x 及以上的新版本。")],-1),M=a("p",null,[s("在目前的新版本中,Chronocat 移除了 Red 协议,提供 Satori 协议的连接支持,使用该版本的见 "),a("a",{href:"#chronocat-satori-协议"},"Chronocat Satori 协议"),s("。")],-1),G={id:"chronocat-satori-协议",tabindex:"-1"},H=a("a",{class:"header-anchor",href:"#chronocat-satori-协议","aria-label":'Permalink to "Chronocat Satori 协议 "'},"​",-1),K=a("p",null,"在账号添加中,选择「[WIP]Satori」,填写相应信息进行连接。",-1),z={id:"官方机器人",tabindex:"-1"},J=a("a",{class:"header-anchor",href:"#官方机器人","aria-label":'Permalink to "官方机器人 "'},"​",-1),Y=n('

提示:QQ 机器人

QQ 官方目前已开放了机器人功能,可进入 QQ 开放平台 进行申请。

但截止到目前,QQ 官方机器人的群聊权限并未对所有人开放。我们也希望在未来,每个人都能轻松地对接上官方提供的机器人服务。

同时,由于 QQ 官方对机器人能力的严格限制(包括获取 QQ 号、昵称,非 @ 时响应,私聊,群控等大量功能目前不支持),目前对接官方接口的骰子很多功能无法支持(如跑团 Log,暗骰,对抗等)。

尝试一下

如果你想尝试一下这样的机器人,非常欢迎你使用海豹官方的骰子:

海豹机器人二维码

获取连接所需信息

要获取用于连接海豹的信息之前,你需要建立好一个 QQ 机器人应用。可前往 QQ 开放平台 进行申请,进行实名注册后,创建一个机器人应用。

创建完成后,进入机器人管理后台,切换到「开发设置」页面:

切换到开发设置

在页面中你可以看到这样的信息,其中「机器人 ID」「机器人令牌」「机器人密钥」这三项是海豹进行连接所需要的。

开发设置

连接海豹

登录海豹并添加账号,选择「QQ(官方机器人)」。填写对应的信息点击连接。你的海豹应该可以正常连接官方机器人运作了!

连接官方 Bot

使用海豹

注意

目前官方机器人只响应包含 @ 的消息,操作时请注意。

',15);function $(Z,X,ss,as,is,ts){const i=l("Badge");return h(),p("div",null,[L,a("p",null,[s("从 "),t(i,{type:"tip",text:"v1.4.5"}),s(" 开始,我们推荐使用 "),v,s(" 进行连接,这是面向一般用户提供的简单对接方式。")]),A,a("h2",x,[s("内置客户端 "),t(i,{type:"tip",text:"v1.4.5"}),s(),D]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.5"}),s(" 开始提供了内置客户端的连接方式。")]),N,a("h2",w,[s("Lagrange "),t(i,{type:"tip",text:"v1.4.2"}),s(),S]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.2"}),s(" 开始适配了 Lagrange(拉格兰)的连接。")]),P,a("h2",T,[s("LLOneBot "),t(i,{type:"tip",text:"v1.4.2"}),s(),W]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.2"}),s(" 版本开始支持通过 OneBot 协议连接 LLOneBot。")]),I,a("h2",O,[s("Chronocat "),t(i,{type:"tip",text:"v1.4.2"}),s(),R]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.2"}),s(" 开始适配了 Chronocat(超时空猫猫)中 Red 协议的连接,从 "),t(i,{type:"tip",text:"v1.4.5"}),s(" 开始适配了与 Chronocat 的 Satori 协议连接。")]),a("div",V,[U,j,a("p",null,[s("在 0.0.x 的旧版本中,海豹主要对接其 Red 协议,海豹从 "),t(i,{type:"tip",text:"v1.4.3"}),s(" 开始弃用此协议。")]),M]),a("h3",G,[s("Chronocat Satori 协议 "),t(i,{type:"tip",text:"v1.4.5"}),s(),H]),K,a("h2",z,[s("官方机器人 "),t(i,{type:"tip",text:"v1.4.2"}),s(),J]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.2"}),s(" 开始支持对接 QQ 官方的机器人服务。")]),Y])}const ls=e(f,[["render",$]]);export{es as __pageData,ls as default}; diff --git a/assets/deploy_platform-qq.md.CzPOzqXU.lean.js b/assets/deploy_platform-qq.md.CzPOzqXU.lean.js new file mode 100644 index 000000000..3b18b0388 --- /dev/null +++ b/assets/deploy_platform-qq.md.CzPOzqXU.lean.js @@ -0,0 +1 @@ +import{_ as e,D as l,c as p,j as a,a as s,I as t,a8 as n,o as h}from"./chunks/framework.C7ysi3tu.js";const o="/sealdice-manual-next/assets/platform-qq-turnoff.BeOWAmaj.png",r="/sealdice-manual-next/assets/platform-qq-builtin-1.CuhUrma2.png",k="/sealdice-manual-next/assets/platform-qq-builtin-2.CsxwmFcJ.png",g="/sealdice-manual-next/assets/platform-qq-lagrange-release.DuJWpDwK.png",d="/sealdice-manual-next/assets/platform-qq-lagrange-1.C7fEhWhX.png",c="/sealdice-manual-next/assets/platform-qq-lagrange-2.C4VYY6Lp.png",E="/sealdice-manual-next/assets/platform-qq-lagrange-3.DwUI2h78.png",u="/sealdice-manual-next/assets/platform-qq-lagrange-4.BvabiQyh.png",q="/sealdice-manual-next/assets/platform-qq-lagrange-5.q7RWFdnu.png",y="/sealdice-manual-next/assets/platform-qq-lagrange-6.DWsyrztG.png",C="/sealdice-manual-next/assets/platform-qq-lagrange-7.BQZzzKgl.png",F="/sealdice-manual-next/assets/platform-qq-lagrange-8.C5E7Yeei.png",m="/sealdice-manual-next/assets/platform-qq-llonebot-2.CRkT2vLu.png",b="/sealdice-manual-next/assets/platform-qq-bot-qrcode.CZVWW4Rf.jpg",_="/sealdice-manual-next/assets/platform-qq-official-1.xvYBQLAg.png",Q="/sealdice-manual-next/assets/platform-qq-official-2.BG1tRARH.png",B="/sealdice-manual-next/assets/platform-qq-official-3.DhHb4kkJ.png",es=JSON.parse('{"title":"QQ","description":"","frontmatter":{"lang":"zh-cn","title":"QQ"},"headers":[],"relativePath":"deploy/platform-qq.md","filePath":"deploy/platform-qq.md","lastUpdated":1721204034000}'),f={name:"deploy/platform-qq.md"},L=n("",13),v=a("a",{href:"#内置客户端"},"内置客户端",-1),A=n("",5),x={id:"内置客户端",tabindex:"-1"},D=a("a",{class:"header-anchor",href:"#内置客户端","aria-label":'Permalink to "内置客户端 "'},"​",-1),N=n("",8),w={id:"lagrange",tabindex:"-1"},S=a("a",{class:"header-anchor",href:"#lagrange","aria-label":'Permalink to "Lagrange "'},"​",-1),P=n("",35),T={id:"llonebot",tabindex:"-1"},W=a("a",{class:"header-anchor",href:"#llonebot","aria-label":'Permalink to "LLOneBot "'},"​",-1),I=n("",25),O={id:"chronocat",tabindex:"-1"},R=a("a",{class:"header-anchor",href:"#chronocat","aria-label":'Permalink to "Chronocat "'},"​",-1),V={class:"warning custom-block"},U=a("p",{class:"custom-block-title"},"注意:Chronocat 的新旧版本",-1),j=a("p",null,[a("a",{href:"https://chronocat.vercel.app/",target:"_blank",rel:"noreferrer"},"Chronocat"),s(" 主要分为 0.0.x 的旧版本和 0.2.x 及以上的新版本。")],-1),M=a("p",null,[s("在目前的新版本中,Chronocat 移除了 Red 协议,提供 Satori 协议的连接支持,使用该版本的见 "),a("a",{href:"#chronocat-satori-协议"},"Chronocat Satori 协议"),s("。")],-1),G={id:"chronocat-satori-协议",tabindex:"-1"},H=a("a",{class:"header-anchor",href:"#chronocat-satori-协议","aria-label":'Permalink to "Chronocat Satori 协议 "'},"​",-1),K=a("p",null,"在账号添加中,选择「[WIP]Satori」,填写相应信息进行连接。",-1),z={id:"官方机器人",tabindex:"-1"},J=a("a",{class:"header-anchor",href:"#官方机器人","aria-label":'Permalink to "官方机器人 "'},"​",-1),Y=n("",15);function $(Z,X,ss,as,is,ts){const i=l("Badge");return h(),p("div",null,[L,a("p",null,[s("从 "),t(i,{type:"tip",text:"v1.4.5"}),s(" 开始,我们推荐使用 "),v,s(" 进行连接,这是面向一般用户提供的简单对接方式。")]),A,a("h2",x,[s("内置客户端 "),t(i,{type:"tip",text:"v1.4.5"}),s(),D]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.5"}),s(" 开始提供了内置客户端的连接方式。")]),N,a("h2",w,[s("Lagrange "),t(i,{type:"tip",text:"v1.4.2"}),s(),S]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.2"}),s(" 开始适配了 Lagrange(拉格兰)的连接。")]),P,a("h2",T,[s("LLOneBot "),t(i,{type:"tip",text:"v1.4.2"}),s(),W]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.2"}),s(" 版本开始支持通过 OneBot 协议连接 LLOneBot。")]),I,a("h2",O,[s("Chronocat "),t(i,{type:"tip",text:"v1.4.2"}),s(),R]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.2"}),s(" 开始适配了 Chronocat(超时空猫猫)中 Red 协议的连接,从 "),t(i,{type:"tip",text:"v1.4.5"}),s(" 开始适配了与 Chronocat 的 Satori 协议连接。")]),a("div",V,[U,j,a("p",null,[s("在 0.0.x 的旧版本中,海豹主要对接其 Red 协议,海豹从 "),t(i,{type:"tip",text:"v1.4.3"}),s(" 开始弃用此协议。")]),M]),a("h3",G,[s("Chronocat Satori 协议 "),t(i,{type:"tip",text:"v1.4.5"}),s(),H]),K,a("h2",z,[s("官方机器人 "),t(i,{type:"tip",text:"v1.4.2"}),s(),J]),a("p",null,[s("海豹从 "),t(i,{type:"tip",text:"v1.4.2"}),s(" 开始支持对接 QQ 官方的机器人服务。")]),Y])}const ls=e(f,[["render",$]]);export{es as __pageData,ls as default}; diff --git a/assets/deploy_platform-slack.md.CdfezHAB.js b/assets/deploy_platform-slack.md.CdfezHAB.js new file mode 100644 index 000000000..916bdf990 --- /dev/null +++ b/assets/deploy_platform-slack.md.CdfezHAB.js @@ -0,0 +1 @@ +import{_ as c,D as l,c as i,j as e,a as o,I as t,a8 as s,o as d}from"./chunks/framework.C7ysi3tu.js";const A=JSON.parse('{"title":"Slack","description":"","frontmatter":{"lang":"zh-cn","title":"Slack"},"headers":[],"relativePath":"deploy/platform-slack.md","filePath":"deploy/platform-slack.md","lastUpdated":1714442589000}'),r={name:"deploy/platform-slack.md"},n=e("h1",{id:"slack",tabindex:"-1"},[o("Slack "),e("a",{class:"header-anchor",href:"#slack","aria-label":'Permalink to "Slack"'},"​")],-1),p=e("div",{class:"info custom-block"},[e("p",{class:"custom-block-title"},"本节内容"),e("p",null,"本节将包含你在 Slack 平台接入海豹核心需要了解的特定内容。")],-1),k={id:"slack-支持",tabindex:"-1"},h=e("a",{class:"header-anchor",href:"#slack-支持","aria-label":'Permalink to "Slack 支持 "'},"​",-1),m=s('

获取 Token

要获取用于连接海豹的 Token 之前,你需要建立好一个应用。登录 Slack Api 平台,点击「Create New App」,再点击「From Scratch」。按照要求填写应用名字,并选择你想要海豹被部署到的工作区后点击「Create App」。

提示:私骰模式

Slack 平台的机制使没有公开发布的应用无法加入被指定的单个工作区之外的地方。如有需求,可查看 Slack 提供的发布指引

APP Token

在侧边栏点击「Socket Mode」,打开「Enable Socket Mode」的开关。此处会弹出一个窗口,这将会是你的 APP Token。按需填写名字,并复制保存。 确认后点击下方「Enable Events」,打开开关后在「Subscribe to bot events」下添加如下事件:

  1. message.channels
  2. message.groups
  3. message.im
  4. message.mpim

注意

如果这不是你期望的情况,请不要添加 app_mention。这个权限会让海豹只接收被 @ 到的指令和消息,导致 log 等功能无法正常工作。

Bot Token

在侧边栏点击「OAuth & Permissions」,下滑在「Bot Token Scopes」下,添加海豹运作需要的权限:

  1. channels:history
  2. channels:read
  3. chat:write
  4. chat:write.customize
  5. files:write
  6. groups:history
  7. groups:read
  8. im:history
  9. im:read
  10. im:write
  11. mpim:history
  12. mpim:read
  13. links.embed:write
  14. links:write

点击侧边栏前往「Basic Information」页面,在「Install Your App」下点击「Install to Workplace」。完成后回到「OAuth & Permissions」页面,在「OAuth Tokens for Your Workspace」下找到「Bot User OAuth Token」。这是你的 Bot Token。复制并保存。

连接海豹

登录海豹并添加账号,选择「Slack」。在对应的区域填入 APP TokenBot Token,点击连接。你的海豹应该可以正常在 Slack 平台运作了!

',13);function _(u,b,f,S,T,P){const a=l("Badge");return d(),i("div",null,[n,p,e("h2",k,[o("Slack 支持 "),t(a,{type:"tip",text:"v1.4.2"}),o(),h]),e("p",null,[o("海豹从 "),t(a,{type:"tip",text:"v1.4.2"}),o(" 开始支持对接 Slack。")]),m])}const v=c(r,[["render",_]]);export{A as __pageData,v as default}; diff --git a/assets/deploy_platform-slack.md.CdfezHAB.lean.js b/assets/deploy_platform-slack.md.CdfezHAB.lean.js new file mode 100644 index 000000000..01dfd7165 --- /dev/null +++ b/assets/deploy_platform-slack.md.CdfezHAB.lean.js @@ -0,0 +1 @@ +import{_ as c,D as l,c as i,j as e,a as o,I as t,a8 as s,o as d}from"./chunks/framework.C7ysi3tu.js";const A=JSON.parse('{"title":"Slack","description":"","frontmatter":{"lang":"zh-cn","title":"Slack"},"headers":[],"relativePath":"deploy/platform-slack.md","filePath":"deploy/platform-slack.md","lastUpdated":1714442589000}'),r={name:"deploy/platform-slack.md"},n=e("h1",{id:"slack",tabindex:"-1"},[o("Slack "),e("a",{class:"header-anchor",href:"#slack","aria-label":'Permalink to "Slack"'},"​")],-1),p=e("div",{class:"info custom-block"},[e("p",{class:"custom-block-title"},"本节内容"),e("p",null,"本节将包含你在 Slack 平台接入海豹核心需要了解的特定内容。")],-1),k={id:"slack-支持",tabindex:"-1"},h=e("a",{class:"header-anchor",href:"#slack-支持","aria-label":'Permalink to "Slack 支持 "'},"​",-1),m=s("",13);function _(u,b,f,S,T,P){const a=l("Badge");return d(),i("div",null,[n,p,e("h2",k,[o("Slack 支持 "),t(a,{type:"tip",text:"v1.4.2"}),o(),h]),e("p",null,[o("海豹从 "),t(a,{type:"tip",text:"v1.4.2"}),o(" 开始支持对接 Slack。")]),m])}const v=c(r,[["render",_]]);export{A as __pageData,v as default}; diff --git a/assets/deploy_platform-telegram.md.ByblJutx.js b/assets/deploy_platform-telegram.md.ByblJutx.js new file mode 100644 index 000000000..20d4847f5 --- /dev/null +++ b/assets/deploy_platform-telegram.md.ByblJutx.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const T=JSON.parse('{"title":"Telegram","description":"","frontmatter":{"lang":"zh-cn","title":"Telegram"},"headers":[],"relativePath":"deploy/platform-telegram.md","filePath":"deploy/platform-telegram.md","lastUpdated":1714442589000}'),l={name:"deploy/platform-telegram.md"},r=o('

Telegram

本节内容

本节将包含你在 Telegram 平台接入海豹核心需要了解的特定内容。

获取 Token

要获取用于连接海豹的 Token 之前,你需要建立好一个机器人。在 Telegram 私信 BotFather,输入指令 /start 后使用 /newbot 创建按照要求创建一个机器人。

提示:具体步骤

/newbot 指令下有两个步骤:

  • 输入机器人的显示名
  • 输入机器人的账号名(需以 bot 结尾)

完成后,BotFather 会发送一条含有 Token 的消息。这是连接机器人所需要的凭证,将它复制保存。

连接海豹

提示:代理模式

如果你海豹所处的位置直接访问 Telegram 服务有困难,我们提供了通过 HTTP 代理访问的途径。

登录海豹并添加账号,选择「Telegram账号」。在 Token 处粘贴你得到的 Token,点击连接。你的海豹应该可以正常在 Telegram 运作了!

',9),c=[r];function s(i,n,d,p,m,_){return t(),a("div",null,c)}const k=e(l,[["render",s]]);export{T as __pageData,k as default}; diff --git a/assets/deploy_platform-telegram.md.ByblJutx.lean.js b/assets/deploy_platform-telegram.md.ByblJutx.lean.js new file mode 100644 index 000000000..a4fab8824 --- /dev/null +++ b/assets/deploy_platform-telegram.md.ByblJutx.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as o}from"./chunks/framework.C7ysi3tu.js";const T=JSON.parse('{"title":"Telegram","description":"","frontmatter":{"lang":"zh-cn","title":"Telegram"},"headers":[],"relativePath":"deploy/platform-telegram.md","filePath":"deploy/platform-telegram.md","lastUpdated":1714442589000}'),l={name:"deploy/platform-telegram.md"},r=o("",9),c=[r];function s(i,n,d,p,m,_){return t(),a("div",null,c)}const k=e(l,[["render",s]]);export{T as __pageData,k as default}; diff --git a/assets/deploy_quick-start.md.CjdbHYQH.js b/assets/deploy_quick-start.md.CjdbHYQH.js new file mode 100644 index 000000000..e3c5dd3a0 --- /dev/null +++ b/assets/deploy_quick-start.md.CjdbHYQH.js @@ -0,0 +1,10 @@ +import{_ as d,D as h,c as o,I as l,w as a,a8 as n,j as i,o as c,a as s}from"./chunks/framework.C7ysi3tu.js";const R=JSON.parse('{"title":"快速开始","description":"","frontmatter":{"lang":"zh-cn","title":"快速开始"},"headers":[],"relativePath":"deploy/quick-start.md","filePath":"deploy/quick-start.md","lastUpdated":1720509767000}'),r={name:"deploy/quick-start.md"},k=n('

快速开始

本节内容

本节将会指导你如何在你的 PC、服务器、甚至安卓手机上搭建和部署海豹核心。

如果你对计算机、服务器等相关知识没有任何了解,或者在阅读本节时,对内容中的一些名词完全不理解,我们非常建议你先行阅读 名词/术语速查表如何高效学习 的科普内容后,再返回这一节。

获取海豹

可以从以下两个渠道获取海豹核心安装包:

  • 官网:从 官网下载页 获取最新的正式版海豹核心安装包。

  • GitHub:从 GitHub Release 获取海豹核心安装包。

    这一渠道提供两个版本:以 版本号+发布日期 命名的正式版,与官网一致;以 Latest Dev Build+日期 命名的最新构建,可能有各种 Bug,不推荐一般用户使用。

提示:我该选择从哪里获取?

我们非常建议你使用从官网获取的正式版海豹。对于绝大多数用户来说,官网的下载最顺畅和便捷,所提供的正式版也适合绝大多数用户使用。

海豹提供了多个平台的安装包,请确认你的操作系统并选择对应版本的安装包。提供的平台如下:

  • Windows:普通用户首选,适用于 Windows 7 或者更高,同样可以部署在 Windows 云服务器。
    • 64 位:适合绝大多数用户使用。
    • 32 位:只在你明确知道为何要使用 32 位版本的情况下使用 32 位版本。
  • Linux: 提供给更专业的用户使用,需要使用终端启动。适用于服务器、树莓派等设备。
    • x64:绝大多数使用 Intel 或 AMD CPU 的服务器都应使用此版本。
    • arm64:树莓派等 arm 设备请使用 arm64 版。
  • MacOS:提供给 Mac 用户使用,需要使用终端启动。
    • arm64:Apple Silicon 芯片(M1、M2 等)请使用 arm64 版。
    • x64:Intel 芯片请使用 x64 版。
  • Docker:提供对应 Docker 镜像,支持多种架构。
    • amd64
    • arm64
  • Android:提供 Android 的 apk 安装包。

启动

注意

永远不要直接运行压缩包中的海豹核心,也不要在临时目录中运行海豹核心。

将安装包解压到合适的目录。考虑到后续升级,将目录名中的版本号删去或许是更好的做法。

根据系统不同,用以下方法即可启动海豹:

',12),p=i("p",null,[s("双击运行 "),i("code",null,"sealdice-core.exe"),s("。数秒钟后,海豹核心将会在后台运行并弹出提示。")],-1),u=i("p",null,"在任务栏中找到海豹图标,点击即可打开后台(WebUI)。",-1),g=i("p",null,[s("在 "),i("code",null,"sealdice-core"),s(" 所在的目录启动终端,输入以下命令:")],-1),F=i("div",{class:"language-bash vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"bash"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"chmod"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," +x"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core")])])])],-1),_=i("p",null,[s("给予其足够的运行权限。随后,运行 "),i("code",null,"./sealdice-core"),s(" 来启动海豹。在浏览器中输入 "),i("code",null,"localhost:3211"),s(" 来访问后台(WebUI)。")],-1),m=i("p",null,[s("在 "),i("code",null,"sealdice-core"),s(" 所在的目录启动终端,输入以下命令:")],-1),y=i("div",{class:"language-zsh vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"zsh"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"chmod"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," +x"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," && "),i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"xattr"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -rd"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," com.apple.quarantine"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"chmod"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," +x"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./lagrange/Lagrange.OneBot"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," && "),i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"xattr"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -rd"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," com.apple.quarantine"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./lagrange/Lagrange.OneBot")])])])],-1),b=i("p",null,[s("这两条命令移除海豹核心程序和 Lagrange 的 "),i("a",{href:"https://zhuanlan.zhihu.com/p/611471192",target:"_blank",rel:"noreferrer"},"隔离属性"),s(",并给予其足够的运行权限。")],-1),C=i("p",null,[s("随后,运行 "),i("code",null,"./sealdice-core"),s(" 来启动海豹。在浏览器中输入 "),i("code",null,"localhost:3211"),s(" 来访问后台(WebUI)。")],-1),B=i("div",{class:"info custom-block"},[i("p",{class:"custom-block-title"},"MacOS 启动海豹失败问题排查"),i("ol",null,[i("li",null,[s("启动时若出现 "),i("code",null,"Bad CPU type in executable"),s(",请确认你是否下载的是正确版本的海豹。"),i("strong",null,[s("Intel 芯片的 Mac 请下载 "),i("code",null,"darwin x64"),s(" ,Apple Silicon 芯片请下载 "),i("code",null,"darwin arm64"),s("。")])]),i("li",null,"请确认 MacOS 版本高于 10.12,低版本 MacOS 不支持运行,建议尽量将 MacOS 更新至最新稳定版本。")])],-1),f=i("p",null,[s("海豹提供了官方的 Docker 镜像,支持 amd64 和 arm64 两种架构。你可以在 "),i("a",{href:"https://github.com/sealdice/sealdice-build/pkgs/container/sealdice",target:"_blank",rel:"noreferrer"},"此处"),s(" 找到各个版本的镜像。")],-1),v=i("p",null,[s("标签为 edge 的镜像与名为 "),i("code",null,"Latest Dev Build"),s(" 的最新构建二进制发布内容一致。")],-1),E=i("p",null,[s("参考以下命令运行镜像。你可能需要自行通过 "),i("code",null,"-v"),s(" 选项来指定目录挂载、修改 "),i("code",null,"-p"),s(" 调整端口暴露等:")],-1),x=i("div",{class:"language-bash vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"bash"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -d"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," --name"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -p"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," 3211:3211"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ghcr.io/sealdice/sealdice:edge")])])])],-1),D=i("p",null,[s("在挂载目录时请注意:海豹核心在容器中的工作目录是根目录,对应的数据目录路径是:"),i("code",null,"/data"),s(" 和 "),i("code",null,"/backups"),s("。参考 "),i("a",{href:"./about_file.html"},"海豹的本地文件"),s("。")],-1),S=i("p",null,[s("如果你需要访问宿主机上监听 localhost 的服务(通常 QQ 连接服务和代理服务的默认配置皆是如此),你需要指定 "),i("code",null,"--network host"),s(" 而不是 "),i("code",null,"-p"),s(",使容器和宿主机位于同一网络中。")],-1),A=i("div",{class:"warning custom-block"},[i("p",{class:"custom-block-title"},"注意:容器模式下功能受限"),i("p",null,"Docker 部署的海豹功能有所限制,如无法使用内置客户端登录、无法在线更新等。")],-1),T=i("p",null,[s("请查看"),i("a",{href:"./android.html"},"安卓端登录"),s("。")],-1),q=n('

连接平台

在完成上面的步骤后,你已经成功启动了海豹核心。接下来请根据你所需要对接平台的接入手册,来连接海豹和对应平台。

见「连接平台」一章,包括:

安装为系统服务(可选)

如果你使用远程 Linux 服务器部署,或者使用终端启动海豹核心,那么,随着终端关闭,通常海豹核心也会一同关闭。

海豹核心提供了一种自动安装为系统服务(systemd 服务项)的功能,可以免去手动配置。

服务名称和服务的启动用户均可以通过提供命令行参数自定义,请运行 ./sealdice-core -h 查阅详细说明。

默认情况下,海豹核心将尝试安装一个由 root 用户运行的,名为 sealdice.service 的服务。这要求海豹核心拥有 root 权限(通常由 sudo 运行得到)。

',9),P=i("div",{class:"language-bash vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"bash"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"$"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -i")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"正在安装系统服务,安装完成后,SealDice将自动随系统启动")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"安装完成,正在启动……")])])])],-1),w=i("p",null,"也提供自动卸载:",-1),I=i("div",{class:"language-bash vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"bash"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"$"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," --uninstall")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"正在卸载系统服务……")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"系统服务已删除")])])])],-1),L=i("p",null,"安装完成后,可以使用 systemctl 来管理服务:",-1),M=i("div",{class:"language-shell vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"shell"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"systemctl"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," status"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 查看运行状态")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"systemctl"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," start"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 启动海豹核心")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"systemctl"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," restart"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 启动或重启海豹核心")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"systemctl"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," stop"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 停止海豹核心")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"journalctl"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -xe"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -u"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice.service"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 查看日志")])])])],-1),O=i("p",null,[s("以上命令的详细用法,请查阅你系统的 "),i("code",null,"systemd"),s(" 文档。")],-1);function V(N,W,z,K,U,$){const e=h("PluginTabsTab"),t=h("PluginTabs");return c(),o("div",null,[k,l(t,{sharedStateKey:"os"},{default:a(()=>[l(e,{label:"Windows"},{default:a(()=>[p,u]),_:1}),l(e,{label:"Linux"},{default:a(()=>[g,F,_]),_:1}),l(e,{label:"MacOS"},{default:a(()=>[m,y,b,C,B]),_:1}),l(e,{label:"Docker"},{default:a(()=>[f,v,E,x,D,S,A]),_:1}),l(e,{label:"Android"},{default:a(()=>[T]),_:1})]),_:1}),q,l(t,{sharedStateKey:"os"},{default:a(()=>[l(e,{label:"Linux"},{default:a(()=>[P]),_:1})]),_:1}),w,l(t,{sharedStateKey:"os"},{default:a(()=>[l(e,{label:"Linux"},{default:a(()=>[I]),_:1})]),_:1}),L,l(t,{sharedStateKey:"os"},{default:a(()=>[l(e,{label:"Linux"},{default:a(()=>[M,O]),_:1})]),_:1})])}const j=d(r,[["render",V]]);export{R as __pageData,j as default}; diff --git a/assets/deploy_quick-start.md.CjdbHYQH.lean.js b/assets/deploy_quick-start.md.CjdbHYQH.lean.js new file mode 100644 index 000000000..c54d30c61 --- /dev/null +++ b/assets/deploy_quick-start.md.CjdbHYQH.lean.js @@ -0,0 +1,10 @@ +import{_ as d,D as h,c as o,I as l,w as a,a8 as n,j as i,o as c,a as s}from"./chunks/framework.C7ysi3tu.js";const R=JSON.parse('{"title":"快速开始","description":"","frontmatter":{"lang":"zh-cn","title":"快速开始"},"headers":[],"relativePath":"deploy/quick-start.md","filePath":"deploy/quick-start.md","lastUpdated":1720509767000}'),r={name:"deploy/quick-start.md"},k=n("",12),p=i("p",null,[s("双击运行 "),i("code",null,"sealdice-core.exe"),s("。数秒钟后,海豹核心将会在后台运行并弹出提示。")],-1),u=i("p",null,"在任务栏中找到海豹图标,点击即可打开后台(WebUI)。",-1),g=i("p",null,[s("在 "),i("code",null,"sealdice-core"),s(" 所在的目录启动终端,输入以下命令:")],-1),F=i("div",{class:"language-bash vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"bash"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"chmod"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," +x"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core")])])])],-1),_=i("p",null,[s("给予其足够的运行权限。随后,运行 "),i("code",null,"./sealdice-core"),s(" 来启动海豹。在浏览器中输入 "),i("code",null,"localhost:3211"),s(" 来访问后台(WebUI)。")],-1),m=i("p",null,[s("在 "),i("code",null,"sealdice-core"),s(" 所在的目录启动终端,输入以下命令:")],-1),y=i("div",{class:"language-zsh vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"zsh"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"chmod"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," +x"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," && "),i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"xattr"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -rd"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," com.apple.quarantine"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"chmod"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," +x"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./lagrange/Lagrange.OneBot"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," && "),i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"xattr"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -rd"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," com.apple.quarantine"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./lagrange/Lagrange.OneBot")])])])],-1),b=i("p",null,[s("这两条命令移除海豹核心程序和 Lagrange 的 "),i("a",{href:"https://zhuanlan.zhihu.com/p/611471192",target:"_blank",rel:"noreferrer"},"隔离属性"),s(",并给予其足够的运行权限。")],-1),C=i("p",null,[s("随后,运行 "),i("code",null,"./sealdice-core"),s(" 来启动海豹。在浏览器中输入 "),i("code",null,"localhost:3211"),s(" 来访问后台(WebUI)。")],-1),B=i("div",{class:"info custom-block"},[i("p",{class:"custom-block-title"},"MacOS 启动海豹失败问题排查"),i("ol",null,[i("li",null,[s("启动时若出现 "),i("code",null,"Bad CPU type in executable"),s(",请确认你是否下载的是正确版本的海豹。"),i("strong",null,[s("Intel 芯片的 Mac 请下载 "),i("code",null,"darwin x64"),s(" ,Apple Silicon 芯片请下载 "),i("code",null,"darwin arm64"),s("。")])]),i("li",null,"请确认 MacOS 版本高于 10.12,低版本 MacOS 不支持运行,建议尽量将 MacOS 更新至最新稳定版本。")])],-1),f=i("p",null,[s("海豹提供了官方的 Docker 镜像,支持 amd64 和 arm64 两种架构。你可以在 "),i("a",{href:"https://github.com/sealdice/sealdice-build/pkgs/container/sealdice",target:"_blank",rel:"noreferrer"},"此处"),s(" 找到各个版本的镜像。")],-1),v=i("p",null,[s("标签为 edge 的镜像与名为 "),i("code",null,"Latest Dev Build"),s(" 的最新构建二进制发布内容一致。")],-1),E=i("p",null,[s("参考以下命令运行镜像。你可能需要自行通过 "),i("code",null,"-v"),s(" 选项来指定目录挂载、修改 "),i("code",null,"-p"),s(" 调整端口暴露等:")],-1),x=i("div",{class:"language-bash vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"bash"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -d"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," --name"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -p"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," 3211:3211"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ghcr.io/sealdice/sealdice:edge")])])])],-1),D=i("p",null,[s("在挂载目录时请注意:海豹核心在容器中的工作目录是根目录,对应的数据目录路径是:"),i("code",null,"/data"),s(" 和 "),i("code",null,"/backups"),s("。参考 "),i("a",{href:"./about_file.html"},"海豹的本地文件"),s("。")],-1),S=i("p",null,[s("如果你需要访问宿主机上监听 localhost 的服务(通常 QQ 连接服务和代理服务的默认配置皆是如此),你需要指定 "),i("code",null,"--network host"),s(" 而不是 "),i("code",null,"-p"),s(",使容器和宿主机位于同一网络中。")],-1),A=i("div",{class:"warning custom-block"},[i("p",{class:"custom-block-title"},"注意:容器模式下功能受限"),i("p",null,"Docker 部署的海豹功能有所限制,如无法使用内置客户端登录、无法在线更新等。")],-1),T=i("p",null,[s("请查看"),i("a",{href:"./android.html"},"安卓端登录"),s("。")],-1),q=n("",9),P=i("div",{class:"language-bash vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"bash"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"$"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -i")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"正在安装系统服务,安装完成后,SealDice将自动随系统启动")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"安装完成,正在启动……")])])])],-1),w=i("p",null,"也提供自动卸载:",-1),I=i("div",{class:"language-bash vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"bash"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"$"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," ./sealdice-core"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," --uninstall")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"正在卸载系统服务……")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"系统服务已删除")])])])],-1),L=i("p",null,"安装完成后,可以使用 systemctl 来管理服务:",-1),M=i("div",{class:"language-shell vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"shell"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"systemctl"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," status"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 查看运行状态")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"systemctl"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," start"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 启动海豹核心")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"systemctl"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," restart"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 启动或重启海豹核心")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"systemctl"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," stop"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 停止海豹核心")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"journalctl"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -xe"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -u"),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," sealdice.service"),i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}}," # 查看日志")])])])],-1),O=i("p",null,[s("以上命令的详细用法,请查阅你系统的 "),i("code",null,"systemd"),s(" 文档。")],-1);function V(N,W,z,K,U,$){const e=h("PluginTabsTab"),t=h("PluginTabs");return c(),o("div",null,[k,l(t,{sharedStateKey:"os"},{default:a(()=>[l(e,{label:"Windows"},{default:a(()=>[p,u]),_:1}),l(e,{label:"Linux"},{default:a(()=>[g,F,_]),_:1}),l(e,{label:"MacOS"},{default:a(()=>[m,y,b,C,B]),_:1}),l(e,{label:"Docker"},{default:a(()=>[f,v,E,x,D,S,A]),_:1}),l(e,{label:"Android"},{default:a(()=>[T]),_:1})]),_:1}),q,l(t,{sharedStateKey:"os"},{default:a(()=>[l(e,{label:"Linux"},{default:a(()=>[P]),_:1})]),_:1}),w,l(t,{sharedStateKey:"os"},{default:a(()=>[l(e,{label:"Linux"},{default:a(()=>[I]),_:1})]),_:1}),L,l(t,{sharedStateKey:"os"},{default:a(()=>[l(e,{label:"Linux"},{default:a(()=>[M,O]),_:1})]),_:1})])}const j=d(r,[["render",V]]);export{R as __pageData,j as default}; diff --git a/assets/deploy_special_feature.md.9a_qcvm7.js b/assets/deploy_special_feature.md.9a_qcvm7.js new file mode 100644 index 000000000..eadca2b86 --- /dev/null +++ b/assets/deploy_special_feature.md.9a_qcvm7.js @@ -0,0 +1,37 @@ +import{_ as i,D as e,c,j as s,I as a,w as t,a8 as p,o as r}from"./chunks/framework.C7ysi3tu.js";const D=JSON.parse('{"title":"特色功能","description":"","frontmatter":{"lang":"zh-cn","title":"特色功能"},"headers":[],"relativePath":"deploy/special_feature.md","filePath":"deploy/special_feature.md","lastUpdated":1718529177000}'),d={name:"deploy/special_feature.md"},h=p('

特色功能

本节内容

本节将会介绍海豹的特色功能。

指令兼容性

海豹核心兼容了溯洄核心、赵骰核心和塔骰核心的绝大部分主流指令,无论之前用过哪一个都可以轻松上手。

海豹核心对指令格式不敏感,你可以使用 .r1d20 +1.r d20+1.stshow力量 敏捷。st hp - 1 等等各种写法。

提示

虽然海豹尽可能提高兼容性,我们仍推荐适当使用空格,以避免预期外结果。

易于部署和使用

海豹的设计初衷是 「能被任何 TRPG 玩家喜爱和使用」,同时秉持 「没有提供 UI 的功能等于不存在」 的理念。

只需一个不到 25 MB 的安装包、一个可用的机器人账号、和一小段空闲时间,任何人都可以搭建一个 TRPG 骰子。

提示

如果你希望在 QQ 平台上搭建骰子,由于 QQ 原则上不允许机器人账号,你会需要使用一些特殊技术,这可能花费你更多时间和精力。

极少的资源占用

由于 Golang 的高效,海豹核心只占用大概 40 MB 内存,以及极少的 CPU 资源。

自带的《CoC 7th 怪物之锤》和《D&D 系列资料》会另外占用 50 - 70 MB 内存,但能提供极为强大的资料查询功能。

内存占用会随着持续运行而稍稍增长并有所波动。根据我们的观察,即使是持续运行数月的大型公骰,内存占用也不会超过数百 MB。

强自定义

提供了友好的 WebUI 界面,可以自定义大部分指令的回复语句。

同时对于自定义回复功能进行了强化,你可以编写一些复杂逻辑,使你的骰子更加鲜活。

人工智能鸽子

让你想咕就咕。

',19),u={class:"info custom-block"},b=s("p",{class:"custom-block-title"},"示例",-1),m=p('

强大的查询功能

海豹搭载了全文搜索技术(仅限 PC 版),可以看作是一个微型搜索引擎。

text
.find 30尺 法术

细节可参见 查询指令 一节。

通用特化支持

代替他人检定 / 操作他人属性

CoC 特化支持

属性同义词

各种旧版翻译、俗称、简繁汉字的属性被视为同一属性。

默认技能等级

内置部分人物卡上没有的默认技能等级。

包括不限于速记、园艺、攀爬、各种武器等等。

支持 .scb 指令

用于在 sc 时附加一个奖励骰。

适用于规则书中的关键连接自救规则。

D&D 特化支持

属性同义词

各种旧版翻译、俗称、简繁汉字的属性被视为同一属性。

优势骰劣势骰

',19),g={class:"info custom-block"},_=s("p",{class:"custom-block-title"},"示例",-1),f=p(`

属性调整值和熟练自动计算

临时属性

法术位支持

死亡豁免

休息

可以实时编辑的跑团日志

海豹开发了 日志在线染色器

在海豹中记录的日志会自动上传,省去你一一发送日志文件的麻烦。

除了海豹 Log 自用之外,支持 QQ 格式和塔骰格式,将你的 Log 全文粘贴到文本框里即可。

是纯净骰,也是娱乐骰

海豹除了核心指令之外,都被设计为可插拔的,目前有 7 个内置扩展。

关闭对应扩展会连同扩展带来的指令一块关闭。

因此在跑团时,如果你不想要任何娱乐功能,你可以(以 CoC 团为例):

text
.ext fun off // 关闭.jrrp和.gugu
+.ext reply off // 关闭关键字回复
+.ext deck off // 关闭抽牌 .draw
+.ext dnd5e off // 关闭dnd5e系列指令
+.ext story off // 关闭.name[随机指令]/.modu[魔都查询]/.who[排序]等
+
+也可以写成一行:
+.ext fun reply deck dnd5e story off

这样一来,就只剩下 coc 系列指令和 log 指令了。

这个改动在当前群聊持续生效。你也可以再打开相应扩展:

text
.ext fun on

如果你是骰主,你也可以在 WebUI 中设置各个扩展是否默认开启。这配置对于海豹核心新加入的群聊生效。

更强的指令支持

海豹核心将表达式翻译成字节码,丢进指令虚拟机里执行,同时也做了很强的兼容性处理。

可以在不同骰系下测试一下这些指令:

text
.r 30 + (-1d20) + 49
+.r d20 + (3 + 1d4)
+.r 1 + (3+2)d(4+2d10)
+
+.sc 0/-1
+.sc (1+2)/0
+.sc 0/1d4+(3*2)
+.sc 1 / 2
+.sc 1/2 + 3
+
+.ra b 测试50
+.ra b 50 测试

彩蛋:

text
.r 1+d10-3*4 --asm
+<木落>掷出了 1+d10-3*4=1 + 3[1d10=3] - 12=-8
+=== VM Code ===
+push 1
+mark.left
+push 1
+mark.left
+push 10
+dice
+add
+mark.left
+push 3
+mark.left
+push 4
+mul
+sub
+halt
+=== VM Code End===

跨平台

海豹核心的底层架构,支持单进程多号,也支持很方便地多开

多号指每个骰子上连接多个帐号,并且支持同时连接不同平台。

多开指同时运行多个海豹核心,以提供各自不同的服务内容。

TRPG 规则支持列表

  • COC7
  • COC - DeltaGreen (.setcoc dg)
  • DND5e
  • 暗影狂奔 (.rsr)
  • WOD/无限团 (.ww)
  • 双十字 DoubleCross (.dx)
  • 共鸣性怪异 Emoklore (.ek .ekgen)
  • 剑世界 2.5 (插件)
  • 明日方舟跑团规则 (插件)
  • 其它插件由海豹社区提供,欢迎前去 插件仓库 查看

如果你不跑这些规则,或者觉得并无必要,可以在后台关闭对应的指令。

如果你喜欢的规则这里没有,那么可以去插件仓库看一看,或者自己编写规则模板插件!

`,32);function k(x,q,P,C,v,T){const n=e("ChatBox"),l=e("PluginTabsTab"),o=e("PluginTabs");return r(),c("div",null,[h,s("div",u,[b,a(o,null,{default:t(()=>[a(l,{label:".gugu"},{default:t(()=>[a(n,{messages:[{content:".gugu",send:!0},{content:"🕊️: <木落>在来开团的路上被巨龙叼走了!"}]})]),_:1}),a(l,{label:"查看鸽子背后的故事"},{default:t(()=>[a(n,{messages:[{content:".gugu 来源",send:!0},{content:`🕊️: 前往了一个以前捕鲸的小岛度假~这里人很亲切!但是吃了这里的鱼肉料理之后有点晕晕的诶...想到前几天<木落>的短信,还是别追究他为什么不在了。 + ——鹊鹊结合实际经历创作`}]})]),_:1})]),_:1})]),m,s("div",g,[_,a(n,{messages:[{content:".set 20",send:!0},{content:"设定默认骰子面数为 20"},{content:".r d20优势",send:!0},{content:"<木落>掷出了 d20优势=[{7 | 6 }]=7"},{content:".r d劣势",send:!0},{content:"<木落>掷出了 d劣势=[{16 | 18 }]=16"}]})]),f])}const A=i(d,[["render",k]]);export{D as __pageData,A as default}; diff --git a/assets/deploy_special_feature.md.9a_qcvm7.lean.js b/assets/deploy_special_feature.md.9a_qcvm7.lean.js new file mode 100644 index 000000000..f063dafe3 --- /dev/null +++ b/assets/deploy_special_feature.md.9a_qcvm7.lean.js @@ -0,0 +1,2 @@ +import{_ as i,D as e,c,j as s,I as a,w as t,a8 as p,o as r}from"./chunks/framework.C7ysi3tu.js";const D=JSON.parse('{"title":"特色功能","description":"","frontmatter":{"lang":"zh-cn","title":"特色功能"},"headers":[],"relativePath":"deploy/special_feature.md","filePath":"deploy/special_feature.md","lastUpdated":1718529177000}'),d={name:"deploy/special_feature.md"},h=p("",19),u={class:"info custom-block"},b=s("p",{class:"custom-block-title"},"示例",-1),m=p("",19),g={class:"info custom-block"},_=s("p",{class:"custom-block-title"},"示例",-1),f=p("",32);function k(x,q,P,C,v,T){const n=e("ChatBox"),l=e("PluginTabsTab"),o=e("PluginTabs");return r(),c("div",null,[h,s("div",u,[b,a(o,null,{default:t(()=>[a(l,{label:".gugu"},{default:t(()=>[a(n,{messages:[{content:".gugu",send:!0},{content:"🕊️: <木落>在来开团的路上被巨龙叼走了!"}]})]),_:1}),a(l,{label:"查看鸽子背后的故事"},{default:t(()=>[a(n,{messages:[{content:".gugu 来源",send:!0},{content:`🕊️: 前往了一个以前捕鲸的小岛度假~这里人很亲切!但是吃了这里的鱼肉料理之后有点晕晕的诶...想到前几天<木落>的短信,还是别追究他为什么不在了。 + ——鹊鹊结合实际经历创作`}]})]),_:1})]),_:1})]),m,s("div",g,[_,a(n,{messages:[{content:".set 20",send:!0},{content:"设定默认骰子面数为 20"},{content:".r d20优势",send:!0},{content:"<木落>掷出了 d20优势=[{7 | 6 }]=7"},{content:".r d劣势",send:!0},{content:"<木落>掷出了 d劣势=[{16 | 18 }]=16"}]})]),f])}const A=i(d,[["render",k]]);export{D as __pageData,A as default}; diff --git a/assets/deploy_transfer.md.DFaq-sdk.js b/assets/deploy_transfer.md.DFaq-sdk.js new file mode 100644 index 000000000..b7963cd51 --- /dev/null +++ b/assets/deploy_transfer.md.DFaq-sdk.js @@ -0,0 +1,2 @@ +import{_ as a,c as s,o as i,a8 as t}from"./chunks/framework.C7ysi3tu.js";const F=JSON.parse('{"title":"迁移","description":"","frontmatter":{"lang":"zh-cn","title":"迁移"},"headers":[],"relativePath":"deploy/transfer.md","filePath":"deploy/transfer.md","lastUpdated":1712309998000}'),e={name:"deploy/transfer.md"},n=t(`

迁移

本节内容

本节将会指导你如何迁移现有的海豹核心。

海豹核心的数据文件全平台通用。因此,在不同平台间迁移时,你只需要准备每个平台的可执行文件。

注意

在进行任何迁移时,你都应确保迁出和迁入的海豹核心都未在运行,否则可能造成不可逆的数据损坏。

相同平台间迁移

将整个海豹核心目录复制到新的位置即可。

如果目录体积较大,你可以自行删除 backups/ 下的备份文件。这不会造成数据损失。

跨平台迁移

跨平台迁移时不能使用旧的可执行文件,而只迁移数据部分。

将迁出海豹核心中的 data/ 目录以你习惯的任何方式打包。

在迁入平台准备一份全新的海豹核心,用打包的数据覆盖迁入海豹的对应目录。

如果你希望保留旧的备份文件,你可以复制迁出海豹 backups/ 目录中的内容,放置于迁入海豹的对应目录。备份文件也是通用的。

Linux 服务器间跨架构迁移(arm64 → amd64)

步骤与普通跨平台迁移一致。在运行新海豹核心时,如果文件权限不正确,可以在海豹核心目录下执行以下两条命令:

bash
find . -type f | xargs chmod 644
+find . -type d | xargs chmod 755

迁移数据到手机

如果你需要把电脑海豹的数据迁移到手机海豹上,同样是迁移海豹的 data/ 目录。步骤如下:

  1. 关闭你的电脑海豹,复制电脑海豹的 data/ 目录发送到手机上。
  2. 点击手机海豹的 导出数据 按钮,在设置中勾选 文件同步模式。(平时推荐关闭这个选项,这里是为了替换数据库特别地需要开启)
  3. 在你习惯的手机文件管理软件中找到 根目录/document/com.sealdice.dice/sealdice,用迁出海豹的 data 目录替换这里面的 data 目录。
  4. 回到手机海豹的界面中点击 导入数据。导入完成后再点击启动核心,这时你的手机海豹里就应该是旧海豹的数据了。导入完成后也可以把「文件同步模式」关闭了。

注意

在手机海豹上,每次导入数据前都进行一次导出,导出后不要再运行海豹核心。

这是因为,手机海豹不会实时更新导出的文件,它们是海豹数据在导出时的一份快照。

如果在上次导出后产生了新数据,而再次进行导入,会导致新产生的数据被之前导出的数据覆盖,丢失这段时间以来录入的角色卡、Log、修改的自定义文案等海豹内部的数据。

`,19),l=[n];function p(o,d,h,r,c,k){return i(),s("div",null,l)}const m=a(e,[["render",p]]);export{F as __pageData,m as default}; diff --git a/assets/deploy_transfer.md.DFaq-sdk.lean.js b/assets/deploy_transfer.md.DFaq-sdk.lean.js new file mode 100644 index 000000000..e1ebb6126 --- /dev/null +++ b/assets/deploy_transfer.md.DFaq-sdk.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as i,a8 as t}from"./chunks/framework.C7ysi3tu.js";const F=JSON.parse('{"title":"迁移","description":"","frontmatter":{"lang":"zh-cn","title":"迁移"},"headers":[],"relativePath":"deploy/transfer.md","filePath":"deploy/transfer.md","lastUpdated":1712309998000}'),e={name:"deploy/transfer.md"},n=t("",19),l=[n];function p(o,d,h,r,c,k){return i(),s("div",null,l)}const m=a(e,[["render",p]]);export{F as __pageData,m as default}; diff --git a/assets/develop-fork-1.BZOKPa8J.png b/assets/develop-fork-1.BZOKPa8J.png new file mode 100644 index 000000000..30c1d0023 Binary files /dev/null and b/assets/develop-fork-1.BZOKPa8J.png differ diff --git a/assets/develop-fork-2.X58VX0eS.png b/assets/develop-fork-2.X58VX0eS.png new file mode 100644 index 000000000..7995b87ad Binary files /dev/null and b/assets/develop-fork-2.X58VX0eS.png differ diff --git a/assets/develop-new-branch-1.BqKBsG0R.png b/assets/develop-new-branch-1.BqKBsG0R.png new file mode 100644 index 000000000..94ecaa3d3 Binary files /dev/null and b/assets/develop-new-branch-1.BqKBsG0R.png differ diff --git a/assets/develop-new-branch-2.zhLwB2Rj.png b/assets/develop-new-branch-2.zhLwB2Rj.png new file mode 100644 index 000000000..bf9787235 Binary files /dev/null and b/assets/develop-new-branch-2.zhLwB2Rj.png differ diff --git a/assets/develop-new-branch-3.C0fRBlWq.png b/assets/develop-new-branch-3.C0fRBlWq.png new file mode 100644 index 000000000..ab5979eae Binary files /dev/null and b/assets/develop-new-branch-3.C0fRBlWq.png differ diff --git a/assets/develop-new-branch-4.ijy4i49c.png b/assets/develop-new-branch-4.ijy4i49c.png new file mode 100644 index 000000000..2d51a58f6 Binary files /dev/null and b/assets/develop-new-branch-4.ijy4i49c.png differ diff --git a/assets/develop-new-branch-5.CeOz2UDa.png b/assets/develop-new-branch-5.CeOz2UDa.png new file mode 100644 index 000000000..f8b587288 Binary files /dev/null and b/assets/develop-new-branch-5.CeOz2UDa.png differ diff --git a/assets/develop-new-branch-6.BBHexEzw.png b/assets/develop-new-branch-6.BBHexEzw.png new file mode 100644 index 000000000..619b65a79 Binary files /dev/null and b/assets/develop-new-branch-6.BBHexEzw.png differ diff --git a/assets/develop-new-branch-7.C2-9Q-ZS.png b/assets/develop-new-branch-7.C2-9Q-ZS.png new file mode 100644 index 000000000..72c866089 Binary files /dev/null and b/assets/develop-new-branch-7.C2-9Q-ZS.png differ diff --git a/assets/develop-open-pr-1.DAADwrkm.png b/assets/develop-open-pr-1.DAADwrkm.png new file mode 100644 index 000000000..49a1055e5 Binary files /dev/null and b/assets/develop-open-pr-1.DAADwrkm.png differ diff --git a/assets/develop-pr-1.BVBX_RTc.png b/assets/develop-pr-1.BVBX_RTc.png new file mode 100644 index 000000000..04fbb5cb2 Binary files /dev/null and b/assets/develop-pr-1.BVBX_RTc.png differ diff --git a/assets/develop-pr-2.C-dKwDzw.png b/assets/develop-pr-2.C-dKwDzw.png new file mode 100644 index 000000000..099c40184 Binary files /dev/null and b/assets/develop-pr-2.C-dKwDzw.png differ diff --git a/assets/develop-sync-fork.BZF0daO6.png b/assets/develop-sync-fork.BZF0daO6.png new file mode 100644 index 000000000..d2e438170 Binary files /dev/null and b/assets/develop-sync-fork.BZF0daO6.png differ diff --git a/assets/edit-deck-hide-key.Bk59lgX8.png b/assets/edit-deck-hide-key.Bk59lgX8.png new file mode 100644 index 000000000..a950e855f Binary files /dev/null and b/assets/edit-deck-hide-key.Bk59lgX8.png differ diff --git a/assets/edit-deck-pkg.8jg4vDyc.png b/assets/edit-deck-pkg.8jg4vDyc.png new file mode 100644 index 000000000..e7019fe0c Binary files /dev/null and b/assets/edit-deck-pkg.8jg4vDyc.png differ diff --git a/assets/edit-jsscript-dts.j849kmdb.png b/assets/edit-jsscript-dts.j849kmdb.png new file mode 100644 index 000000000..f9c9d4a88 Binary files /dev/null and b/assets/edit-jsscript-dts.j849kmdb.png differ diff --git a/assets/edit-reply-random-pic.BERq9XNC.png b/assets/edit-reply-random-pic.BERq9XNC.png new file mode 100644 index 000000000..e9541b22d Binary files /dev/null and b/assets/edit-reply-random-pic.BERq9XNC.png differ diff --git a/assets/edit-reply-single-person-mod1.CcMT0-k7.png b/assets/edit-reply-single-person-mod1.CcMT0-k7.png new file mode 100644 index 000000000..0add85e4f Binary files /dev/null and b/assets/edit-reply-single-person-mod1.CcMT0-k7.png differ diff --git a/assets/edit-reply-single-person-mod2.RQYejdzJ.png b/assets/edit-reply-single-person-mod2.RQYejdzJ.png new file mode 100644 index 000000000..c0f4274ef Binary files /dev/null and b/assets/edit-reply-single-person-mod2.RQYejdzJ.png differ diff --git a/assets/edit-reply-single-person-mod3.a_KOIlqv.png b/assets/edit-reply-single-person-mod3.a_KOIlqv.png new file mode 100644 index 000000000..79041713f Binary files /dev/null and b/assets/edit-reply-single-person-mod3.a_KOIlqv.png differ diff --git a/assets/gocq-folder.BqYrXyGR.png b/assets/gocq-folder.BqYrXyGR.png new file mode 100644 index 000000000..f10dd8844 Binary files /dev/null and b/assets/gocq-folder.BqYrXyGR.png differ diff --git a/assets/gocq-step1.pboT6Yxb.png b/assets/gocq-step1.pboT6Yxb.png new file mode 100644 index 000000000..25771fd91 Binary files /dev/null and b/assets/gocq-step1.pboT6Yxb.png differ diff --git a/assets/gocq-step2.-UlYTUsA.png b/assets/gocq-step2.-UlYTUsA.png new file mode 100644 index 000000000..428598e3f Binary files /dev/null and b/assets/gocq-step2.-UlYTUsA.png differ diff --git a/assets/gocq-success.DvcHSdvM.png b/assets/gocq-success.DvcHSdvM.png new file mode 100644 index 000000000..741ed92d9 Binary files /dev/null and b/assets/gocq-success.DvcHSdvM.png differ diff --git a/assets/gocq-warn1.DnQT2Y8j.png b/assets/gocq-warn1.DnQT2Y8j.png new file mode 100644 index 000000000..884e9a904 Binary files /dev/null and b/assets/gocq-warn1.DnQT2Y8j.png differ diff --git a/assets/gocq-warn2.Be6mD1Aa.png b/assets/gocq-warn2.Be6mD1Aa.png new file mode 100644 index 000000000..7b86e1a9b Binary files /dev/null and b/assets/gocq-warn2.Be6mD1Aa.png differ diff --git a/assets/helpdoc-delete.YxqErX-u.png b/assets/helpdoc-delete.YxqErX-u.png new file mode 100644 index 000000000..6ead6fc3f Binary files /dev/null and b/assets/helpdoc-delete.YxqErX-u.png differ diff --git a/assets/helpdoc-edit-group.0i3M9SvD.png b/assets/helpdoc-edit-group.0i3M9SvD.png new file mode 100644 index 000000000..773858f10 Binary files /dev/null and b/assets/helpdoc-edit-group.0i3M9SvD.png differ diff --git a/assets/helpdoc-itemlist.lVEcsDO6.png b/assets/helpdoc-itemlist.lVEcsDO6.png new file mode 100644 index 000000000..5f43bf602 Binary files /dev/null and b/assets/helpdoc-itemlist.lVEcsDO6.png differ diff --git a/assets/helpdoc-ui.BSAvcQ-L.png b/assets/helpdoc-ui.BSAvcQ-L.png new file mode 100644 index 000000000..9db7b7eed Binary files /dev/null and b/assets/helpdoc-ui.BSAvcQ-L.png differ diff --git a/assets/helpdoc-upload.vCwM61uF.png b/assets/helpdoc-upload.vCwM61uF.png new file mode 100644 index 000000000..deab011b5 Binary files /dev/null and b/assets/helpdoc-upload.vCwM61uF.png differ diff --git a/assets/image-016.McE9_BqK.png b/assets/image-016.McE9_BqK.png new file mode 100644 index 000000000..17ba321d7 Binary files /dev/null and b/assets/image-016.McE9_BqK.png differ diff --git a/assets/image-017.h2f0ACoz.png b/assets/image-017.h2f0ACoz.png new file mode 100644 index 000000000..60c66a80a Binary files /dev/null and b/assets/image-017.h2f0ACoz.png differ diff --git a/assets/image-018.DTqSvbQG.png b/assets/image-018.DTqSvbQG.png new file mode 100644 index 000000000..185257e7e Binary files /dev/null and b/assets/image-018.DTqSvbQG.png differ diff --git a/assets/image-20221009003612068.Wt604XDQ.png b/assets/image-20221009003612068.Wt604XDQ.png new file mode 100644 index 000000000..a8716dbe2 Binary files /dev/null and b/assets/image-20221009003612068.Wt604XDQ.png differ diff --git a/assets/image-20221009004030395.3916Tv_z.png b/assets/image-20221009004030395.3916Tv_z.png new file mode 100644 index 000000000..10c7ab961 Binary files /dev/null and b/assets/image-20221009004030395.3916Tv_z.png differ diff --git a/assets/image-20230109202133901.DO1uTTAZ.png b/assets/image-20230109202133901.DO1uTTAZ.png new file mode 100644 index 000000000..f2171649a Binary files /dev/null and b/assets/image-20230109202133901.DO1uTTAZ.png differ diff --git a/assets/image-20230109203431758.TT_W720a.png b/assets/image-20230109203431758.TT_W720a.png new file mode 100644 index 000000000..fa55218cd Binary files /dev/null and b/assets/image-20230109203431758.TT_W720a.png differ diff --git a/assets/image-20230109205906109.D-KrjuYJ.png b/assets/image-20230109205906109.D-KrjuYJ.png new file mode 100644 index 000000000..c3a666145 Binary files /dev/null and b/assets/image-20230109205906109.D-KrjuYJ.png differ diff --git a/assets/image-20230109210448115.DDApTHsW.png b/assets/image-20230109210448115.DDApTHsW.png new file mode 100644 index 000000000..f48128701 Binary files /dev/null and b/assets/image-20230109210448115.DDApTHsW.png differ diff --git a/assets/index.md.4TBR5SnB.js b/assets/index.md.4TBR5SnB.js new file mode 100644 index 000000000..854326aa4 --- /dev/null +++ b/assets/index.md.4TBR5SnB.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as l,aa as i}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"海豹手册","tagline":"✨海豹骰官方使用手册","image":{"src":"/images/sealdice.svg","alt":"SealDice"},"actions":[{"theme":"brand","text":"从零开始","link":"/about/start-from-zero"},{"theme":"alt","text":"了解指令","link":"./use/quick-start"},{"theme":"alt","text":"特色功能","link":"/deploy/special_feature"}]},"features":[{"title":"常用指令","details":"实现了跑团常用的绝大部分指令,用你熟悉的指令跑团","link":"/use/quick-start"},{"title":"多规则支持","details":"CoC、D&D、SR、WOD 等规则都有专门支持","link":"/use/coc7"},{"title":"同义词表","details":"属性兼容中文简体、繁体、英文缩写和其他常见别名","link":"/use/attribute_alias"},{"title":"全文搜索","details":"使用全文搜索技术,小型的搜索引擎帮助你快速查询各种资料","link":"/use/core#find-词条查询指令"},{"title":"指令代骰","details":"通过 @ 指名代替其他玩家进行检定,愉快规避掉鸽子带来的麻烦事","link":"/use/coc7#代骰"},{"title":"自定义扩展","details":"提供牌堆等或实用或娱乐的扩展能力","link":"/use/deck_and_reply"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720509767000}'),r={name:"index.md"},o=l('

海豹核心

海豹核心

一个简单易用的跑团骰子系统。可以被叫做 海豹骰、豹骰,豹子骰。

前往官网的 在线试用 中快速尝试——

开始使用

更多……

使用有问题?对功能有新想法?想认识更多骰主?欢迎加入官方群!

如果使用遇到问题,在提问前务必花上几分钟阅读一遍 如何正确提问

群列表:

',11),s=[o];function n(d,c,h,_,p,u){return t(),a("div",null,s)}const k=e(r,[["render",n]]);export{f as __pageData,k as default}; diff --git a/assets/index.md.4TBR5SnB.lean.js b/assets/index.md.4TBR5SnB.lean.js new file mode 100644 index 000000000..c13232c83 --- /dev/null +++ b/assets/index.md.4TBR5SnB.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,a8 as l,aa as i}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"海豹手册","tagline":"✨海豹骰官方使用手册","image":{"src":"/images/sealdice.svg","alt":"SealDice"},"actions":[{"theme":"brand","text":"从零开始","link":"/about/start-from-zero"},{"theme":"alt","text":"了解指令","link":"./use/quick-start"},{"theme":"alt","text":"特色功能","link":"/deploy/special_feature"}]},"features":[{"title":"常用指令","details":"实现了跑团常用的绝大部分指令,用你熟悉的指令跑团","link":"/use/quick-start"},{"title":"多规则支持","details":"CoC、D&D、SR、WOD 等规则都有专门支持","link":"/use/coc7"},{"title":"同义词表","details":"属性兼容中文简体、繁体、英文缩写和其他常见别名","link":"/use/attribute_alias"},{"title":"全文搜索","details":"使用全文搜索技术,小型的搜索引擎帮助你快速查询各种资料","link":"/use/core#find-词条查询指令"},{"title":"指令代骰","details":"通过 @ 指名代替其他玩家进行检定,愉快规避掉鸽子带来的麻烦事","link":"/use/coc7#代骰"},{"title":"自定义扩展","details":"提供牌堆等或实用或娱乐的扩展能力","link":"/use/deck_and_reply"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720509767000}'),r={name:"index.md"},o=l("",11),s=[o];function n(d,c,h,_,p,u){return t(),a("div",null,s)}const k=e(r,[["render",n]]);export{f as __pageData,k as default}; diff --git a/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 b/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 new file mode 100644 index 000000000..b6b603d59 Binary files /dev/null and b/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 differ diff --git a/assets/inter-italic-cyrillic.By2_1cv3.woff2 b/assets/inter-italic-cyrillic.By2_1cv3.woff2 new file mode 100644 index 000000000..def40a4f6 Binary files /dev/null and b/assets/inter-italic-cyrillic.By2_1cv3.woff2 differ diff --git a/assets/inter-italic-greek-ext.1u6EdAuj.woff2 b/assets/inter-italic-greek-ext.1u6EdAuj.woff2 new file mode 100644 index 000000000..e070c3d30 Binary files /dev/null and b/assets/inter-italic-greek-ext.1u6EdAuj.woff2 differ diff --git a/assets/inter-italic-greek.DJ8dCoTZ.woff2 b/assets/inter-italic-greek.DJ8dCoTZ.woff2 new file mode 100644 index 000000000..a3c16ca40 Binary files /dev/null and b/assets/inter-italic-greek.DJ8dCoTZ.woff2 differ diff --git a/assets/inter-italic-latin-ext.CN1xVJS-.woff2 b/assets/inter-italic-latin-ext.CN1xVJS-.woff2 new file mode 100644 index 000000000..2210a899e Binary files /dev/null and b/assets/inter-italic-latin-ext.CN1xVJS-.woff2 differ diff --git a/assets/inter-italic-latin.C2AdPX0b.woff2 b/assets/inter-italic-latin.C2AdPX0b.woff2 new file mode 100644 index 000000000..790d62dc7 Binary files /dev/null and b/assets/inter-italic-latin.C2AdPX0b.woff2 differ diff --git a/assets/inter-italic-vietnamese.BSbpV94h.woff2 b/assets/inter-italic-vietnamese.BSbpV94h.woff2 new file mode 100644 index 000000000..1eec0775a Binary files /dev/null and b/assets/inter-italic-vietnamese.BSbpV94h.woff2 differ diff --git a/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 b/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 new file mode 100644 index 000000000..2cfe61536 Binary files /dev/null and b/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 differ diff --git a/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 b/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 new file mode 100644 index 000000000..e3886dd14 Binary files /dev/null and b/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 differ diff --git a/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 b/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 new file mode 100644 index 000000000..36d67487d Binary files /dev/null and b/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 differ diff --git a/assets/inter-roman-greek.BBVDIX6e.woff2 b/assets/inter-roman-greek.BBVDIX6e.woff2 new file mode 100644 index 000000000..2bed1e85e Binary files /dev/null and b/assets/inter-roman-greek.BBVDIX6e.woff2 differ diff --git a/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 b/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 new file mode 100644 index 000000000..9a8d1e2b5 Binary files /dev/null and b/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 differ diff --git a/assets/inter-roman-latin.Di8DUHzh.woff2 b/assets/inter-roman-latin.Di8DUHzh.woff2 new file mode 100644 index 000000000..07d3c53ae Binary files /dev/null and b/assets/inter-roman-latin.Di8DUHzh.woff2 differ diff --git a/assets/inter-roman-vietnamese.BjW4sHH5.woff2 b/assets/inter-roman-vietnamese.BjW4sHH5.woff2 new file mode 100644 index 000000000..57bdc22ae Binary files /dev/null and b/assets/inter-roman-vietnamese.BjW4sHH5.woff2 differ diff --git a/assets/js-config-example.Ctkb00mX.png b/assets/js-config-example.Ctkb00mX.png new file mode 100644 index 000000000..859f1b6df Binary files /dev/null and b/assets/js-config-example.Ctkb00mX.png differ diff --git a/assets/jsscript-list.BWWdfHUL.png b/assets/jsscript-list.BWWdfHUL.png new file mode 100644 index 000000000..8589267dc Binary files /dev/null and b/assets/jsscript-list.BWWdfHUL.png differ diff --git a/assets/jsscript-ui.QtQ8fMZh.png b/assets/jsscript-ui.QtQ8fMZh.png new file mode 100644 index 000000000..ba38abda9 Binary files /dev/null and b/assets/jsscript-ui.QtQ8fMZh.png differ diff --git a/assets/jsscrpit-console.CRzrpQ_X.png b/assets/jsscrpit-console.CRzrpQ_X.png new file mode 100644 index 000000000..e97c63baf Binary files /dev/null and b/assets/jsscrpit-console.CRzrpQ_X.png differ diff --git a/assets/keepalive_coloros_launch.ux0hgdFj.jpg b/assets/keepalive_coloros_launch.ux0hgdFj.jpg new file mode 100644 index 000000000..47a19b01a Binary files /dev/null and b/assets/keepalive_coloros_launch.ux0hgdFj.jpg differ diff --git a/assets/keepalive_coloros_multitask.UHiBdlRk.jpg b/assets/keepalive_coloros_multitask.UHiBdlRk.jpg new file mode 100644 index 000000000..a4a635b6f Binary files /dev/null and b/assets/keepalive_coloros_multitask.UHiBdlRk.jpg differ diff --git a/assets/keepalive_coloros_nightshift.DbBl1G84.jpg b/assets/keepalive_coloros_nightshift.DbBl1G84.jpg new file mode 100644 index 000000000..25f7e0f3e Binary files /dev/null and b/assets/keepalive_coloros_nightshift.DbBl1G84.jpg differ diff --git a/assets/keepalive_harmonyos_applaunch.CiGVQ3Zv.jpg b/assets/keepalive_harmonyos_applaunch.CiGVQ3Zv.jpg new file mode 100644 index 000000000..364a558b8 Binary files /dev/null and b/assets/keepalive_harmonyos_applaunch.CiGVQ3Zv.jpg differ diff --git a/assets/keepalive_harmonyos_battery.DQWH3UGx.jpg b/assets/keepalive_harmonyos_battery.DQWH3UGx.jpg new file mode 100644 index 000000000..aee963ae4 Binary files /dev/null and b/assets/keepalive_harmonyos_battery.DQWH3UGx.jpg differ diff --git a/assets/keepalive_harmonyos_batterymore.CNFIGq83.jpg b/assets/keepalive_harmonyos_batterymore.CNFIGq83.jpg new file mode 100644 index 000000000..7f3fbb513 Binary files /dev/null and b/assets/keepalive_harmonyos_batterymore.CNFIGq83.jpg differ diff --git a/assets/keepalive_harmonyos_batteryoptimization.DOqAUyHu.jpg b/assets/keepalive_harmonyos_batteryoptimization.DOqAUyHu.jpg new file mode 100644 index 000000000..204f03efd Binary files /dev/null and b/assets/keepalive_harmonyos_batteryoptimization.DOqAUyHu.jpg differ diff --git a/assets/keepalive_harmonyos_multitask.CmAGO103.jpg b/assets/keepalive_harmonyos_multitask.CmAGO103.jpg new file mode 100644 index 000000000..6ec1b7ae7 Binary files /dev/null and b/assets/keepalive_harmonyos_multitask.CmAGO103.jpg differ diff --git a/assets/keepalive_hyperos_additional.CZQRRSrJ.jpg b/assets/keepalive_hyperos_additional.CZQRRSrJ.jpg new file mode 100644 index 000000000..ff2734325 Binary files /dev/null and b/assets/keepalive_hyperos_additional.CZQRRSrJ.jpg differ diff --git a/assets/keepalive_hyperos_selflaunch.H3gMxdjM.jpg b/assets/keepalive_hyperos_selflaunch.H3gMxdjM.jpg new file mode 100644 index 000000000..f429397d1 Binary files /dev/null and b/assets/keepalive_hyperos_selflaunch.H3gMxdjM.jpg differ diff --git a/assets/keepalive_hyperos_storage.DLTisrS0.jpg b/assets/keepalive_hyperos_storage.DLTisrS0.jpg new file mode 100644 index 000000000..036c711da Binary files /dev/null and b/assets/keepalive_hyperos_storage.DLTisrS0.jpg differ diff --git a/assets/keepalive_inapp.iDubXtQV.jpg b/assets/keepalive_inapp.iDubXtQV.jpg new file mode 100644 index 000000000..a8f4cbd67 Binary files /dev/null and b/assets/keepalive_inapp.iDubXtQV.jpg differ diff --git a/assets/keepalive_miui_multitask.C0T94Cld.jpg b/assets/keepalive_miui_multitask.C0T94Cld.jpg new file mode 100644 index 000000000..509f6936c Binary files /dev/null and b/assets/keepalive_miui_multitask.C0T94Cld.jpg differ diff --git a/assets/keepalive_miui_permdialog.Dqk-e0Wk.png b/assets/keepalive_miui_permdialog.Dqk-e0Wk.png new file mode 100644 index 000000000..7d8f40a0f Binary files /dev/null and b/assets/keepalive_miui_permdialog.Dqk-e0Wk.png differ diff --git a/assets/keepalive_miui_unlimit.B4FzIaKH.jpg b/assets/keepalive_miui_unlimit.B4FzIaKH.jpg new file mode 100644 index 000000000..dfa215750 Binary files /dev/null and b/assets/keepalive_miui_unlimit.B4FzIaKH.jpg differ diff --git a/assets/newbie_terms_windows_terminal_icon.CtB6BvsL.svg b/assets/newbie_terms_windows_terminal_icon.CtB6BvsL.svg new file mode 100644 index 000000000..2a50f0f14 --- /dev/null +++ b/assets/newbie_terms_windows_terminal_icon.CtB6BvsL.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/onebot11-success.B8KhG_3g.png b/assets/onebot11-success.B8KhG_3g.png new file mode 100644 index 000000000..e0d7eabc0 Binary files /dev/null and b/assets/onebot11-success.B8KhG_3g.png differ diff --git a/assets/onebot11.hPU3-IW2.png b/assets/onebot11.hPU3-IW2.png new file mode 100644 index 000000000..3955d11f8 Binary files /dev/null and b/assets/onebot11.hPU3-IW2.png differ diff --git a/assets/platform-minecraft_1.D8ohrEt5.png b/assets/platform-minecraft_1.D8ohrEt5.png new file mode 100644 index 000000000..5f6c26e83 Binary files /dev/null and b/assets/platform-minecraft_1.D8ohrEt5.png differ diff --git a/assets/platform-minecraft_4.CXIn9Ufb.jpg b/assets/platform-minecraft_4.CXIn9Ufb.jpg new file mode 100644 index 000000000..031f5f0bc Binary files /dev/null and b/assets/platform-minecraft_4.CXIn9Ufb.jpg differ diff --git a/assets/platform-minecraft_5.1vLiGW8n.jpg b/assets/platform-minecraft_5.1vLiGW8n.jpg new file mode 100644 index 000000000..8073e75ed Binary files /dev/null and b/assets/platform-minecraft_5.1vLiGW8n.jpg differ diff --git a/assets/platform-minecraft_6.BVAQbR-9.jpg b/assets/platform-minecraft_6.BVAQbR-9.jpg new file mode 100644 index 000000000..b61ed57b4 Binary files /dev/null and b/assets/platform-minecraft_6.BVAQbR-9.jpg differ diff --git a/assets/platform-qq-bot-qrcode.CZVWW4Rf.jpg b/assets/platform-qq-bot-qrcode.CZVWW4Rf.jpg new file mode 100644 index 000000000..133d4b5e8 Binary files /dev/null and b/assets/platform-qq-bot-qrcode.CZVWW4Rf.jpg differ diff --git a/assets/platform-qq-builtin-1.CuhUrma2.png b/assets/platform-qq-builtin-1.CuhUrma2.png new file mode 100644 index 000000000..d4cb9a90a Binary files /dev/null and b/assets/platform-qq-builtin-1.CuhUrma2.png differ diff --git a/assets/platform-qq-builtin-2.CsxwmFcJ.png b/assets/platform-qq-builtin-2.CsxwmFcJ.png new file mode 100644 index 000000000..f1d733396 Binary files /dev/null and b/assets/platform-qq-builtin-2.CsxwmFcJ.png differ diff --git a/assets/platform-qq-lagrange-1.C7fEhWhX.png b/assets/platform-qq-lagrange-1.C7fEhWhX.png new file mode 100644 index 000000000..56ede8901 Binary files /dev/null and b/assets/platform-qq-lagrange-1.C7fEhWhX.png differ diff --git a/assets/platform-qq-lagrange-2.C4VYY6Lp.png b/assets/platform-qq-lagrange-2.C4VYY6Lp.png new file mode 100644 index 000000000..cbd181095 Binary files /dev/null and b/assets/platform-qq-lagrange-2.C4VYY6Lp.png differ diff --git a/assets/platform-qq-lagrange-3.DwUI2h78.png b/assets/platform-qq-lagrange-3.DwUI2h78.png new file mode 100644 index 000000000..3213fcd61 Binary files /dev/null and b/assets/platform-qq-lagrange-3.DwUI2h78.png differ diff --git a/assets/platform-qq-lagrange-4.BvabiQyh.png b/assets/platform-qq-lagrange-4.BvabiQyh.png new file mode 100644 index 000000000..5d9c219fa Binary files /dev/null and b/assets/platform-qq-lagrange-4.BvabiQyh.png differ diff --git a/assets/platform-qq-lagrange-5.q7RWFdnu.png b/assets/platform-qq-lagrange-5.q7RWFdnu.png new file mode 100644 index 000000000..a0fd8d9ef Binary files /dev/null and b/assets/platform-qq-lagrange-5.q7RWFdnu.png differ diff --git a/assets/platform-qq-lagrange-6.DWsyrztG.png b/assets/platform-qq-lagrange-6.DWsyrztG.png new file mode 100644 index 000000000..5ab665787 Binary files /dev/null and b/assets/platform-qq-lagrange-6.DWsyrztG.png differ diff --git a/assets/platform-qq-lagrange-7.BQZzzKgl.png b/assets/platform-qq-lagrange-7.BQZzzKgl.png new file mode 100644 index 000000000..ced0a7662 Binary files /dev/null and b/assets/platform-qq-lagrange-7.BQZzzKgl.png differ diff --git a/assets/platform-qq-lagrange-8.C5E7Yeei.png b/assets/platform-qq-lagrange-8.C5E7Yeei.png new file mode 100644 index 000000000..197eb61f4 Binary files /dev/null and b/assets/platform-qq-lagrange-8.C5E7Yeei.png differ diff --git a/assets/platform-qq-lagrange-release.DuJWpDwK.png b/assets/platform-qq-lagrange-release.DuJWpDwK.png new file mode 100644 index 000000000..f0d565b43 Binary files /dev/null and b/assets/platform-qq-lagrange-release.DuJWpDwK.png differ diff --git a/assets/platform-qq-llonebot-2.CRkT2vLu.png b/assets/platform-qq-llonebot-2.CRkT2vLu.png new file mode 100644 index 000000000..d5437621f Binary files /dev/null and b/assets/platform-qq-llonebot-2.CRkT2vLu.png differ diff --git a/assets/platform-qq-official-1.xvYBQLAg.png b/assets/platform-qq-official-1.xvYBQLAg.png new file mode 100644 index 000000000..6d4070b59 Binary files /dev/null and b/assets/platform-qq-official-1.xvYBQLAg.png differ diff --git a/assets/platform-qq-official-2.BG1tRARH.png b/assets/platform-qq-official-2.BG1tRARH.png new file mode 100644 index 000000000..a5700aa96 Binary files /dev/null and b/assets/platform-qq-official-2.BG1tRARH.png differ diff --git a/assets/platform-qq-official-3.DhHb4kkJ.png b/assets/platform-qq-official-3.DhHb4kkJ.png new file mode 100644 index 000000000..3652a68e8 Binary files /dev/null and b/assets/platform-qq-official-3.DhHb4kkJ.png differ diff --git a/assets/platform-qq-qsign-1.DewZ-7A7.png b/assets/platform-qq-qsign-1.DewZ-7A7.png new file mode 100644 index 000000000..5c68b4782 Binary files /dev/null and b/assets/platform-qq-qsign-1.DewZ-7A7.png differ diff --git a/assets/platform-qq-qsign-2.Cv0YuS6C.png b/assets/platform-qq-qsign-2.Cv0YuS6C.png new file mode 100644 index 000000000..53ae88b54 Binary files /dev/null and b/assets/platform-qq-qsign-2.Cv0YuS6C.png differ diff --git a/assets/platform-qq-shamrock-1.DJ7tSnjn.png b/assets/platform-qq-shamrock-1.DJ7tSnjn.png new file mode 100644 index 000000000..938d9bcde Binary files /dev/null and b/assets/platform-qq-shamrock-1.DJ7tSnjn.png differ diff --git a/assets/platform-qq-shamrock-2.BojvCHzi.png b/assets/platform-qq-shamrock-2.BojvCHzi.png new file mode 100644 index 000000000..92dd06c3d Binary files /dev/null and b/assets/platform-qq-shamrock-2.BojvCHzi.png differ diff --git a/assets/platform-qq-shamrock-3.BlEqBGNz.png b/assets/platform-qq-shamrock-3.BlEqBGNz.png new file mode 100644 index 000000000..48cc163f6 Binary files /dev/null and b/assets/platform-qq-shamrock-3.BlEqBGNz.png differ diff --git a/assets/platform-qq-shamrock-4.FmFC-9a8.png b/assets/platform-qq-shamrock-4.FmFC-9a8.png new file mode 100644 index 000000000..8ed2c3028 Binary files /dev/null and b/assets/platform-qq-shamrock-4.FmFC-9a8.png differ diff --git a/assets/platform-qq-shamrock-5.BMm24yfS.png b/assets/platform-qq-shamrock-5.BMm24yfS.png new file mode 100644 index 000000000..90a18392c Binary files /dev/null and b/assets/platform-qq-shamrock-5.BMm24yfS.png differ diff --git a/assets/platform-qq-shamrock-6.Bf1yZXSr.png b/assets/platform-qq-shamrock-6.Bf1yZXSr.png new file mode 100644 index 000000000..2d1a11afb Binary files /dev/null and b/assets/platform-qq-shamrock-6.Bf1yZXSr.png differ diff --git a/assets/platform-qq-shamrock-7.DfAmZJ9X.png b/assets/platform-qq-shamrock-7.DfAmZJ9X.png new file mode 100644 index 000000000..368bbc4eb Binary files /dev/null and b/assets/platform-qq-shamrock-7.DfAmZJ9X.png differ diff --git a/assets/platform-qq-shamrock-8.BJqlFaWq.png b/assets/platform-qq-shamrock-8.BJqlFaWq.png new file mode 100644 index 000000000..8c5e1fc39 Binary files /dev/null and b/assets/platform-qq-shamrock-8.BJqlFaWq.png differ diff --git a/assets/platform-qq-shamrock-9.CRgE7lL1.png b/assets/platform-qq-shamrock-9.CRgE7lL1.png new file mode 100644 index 000000000..dedc7b1d7 Binary files /dev/null and b/assets/platform-qq-shamrock-9.CRgE7lL1.png differ diff --git a/assets/platform-qq-turnoff.BeOWAmaj.png b/assets/platform-qq-turnoff.BeOWAmaj.png new file mode 100644 index 000000000..8edafecfc Binary files /dev/null and b/assets/platform-qq-turnoff.BeOWAmaj.png differ diff --git a/assets/qsign-config.C7X6Y-jY.png b/assets/qsign-config.C7X6Y-jY.png new file mode 100644 index 000000000..10e2195df Binary files /dev/null and b/assets/qsign-config.C7X6Y-jY.png differ diff --git a/assets/reply-add.GiF4xI17.png b/assets/reply-add.GiF4xI17.png new file mode 100644 index 000000000..ae463b9b7 Binary files /dev/null and b/assets/reply-add.GiF4xI17.png differ diff --git a/assets/reply-config.BhGYKmT-.png b/assets/reply-config.BhGYKmT-.png new file mode 100644 index 000000000..ca6b38030 Binary files /dev/null and b/assets/reply-config.BhGYKmT-.png differ diff --git a/assets/reply-file-disable.DQsCnOPj.png b/assets/reply-file-disable.DQsCnOPj.png new file mode 100644 index 000000000..a15f96fa1 Binary files /dev/null and b/assets/reply-file-disable.DQsCnOPj.png differ diff --git a/assets/reply-file.C6hW1cv0.png b/assets/reply-file.C6hW1cv0.png new file mode 100644 index 000000000..ac9f83bf6 Binary files /dev/null and b/assets/reply-file.C6hW1cv0.png differ diff --git a/assets/reply-ui.Bzrt8V8e.png b/assets/reply-ui.Bzrt8V8e.png new file mode 100644 index 000000000..90095356d Binary files /dev/null and b/assets/reply-ui.Bzrt8V8e.png differ diff --git a/assets/select-account.BQuutaYp.png b/assets/select-account.BQuutaYp.png new file mode 100644 index 000000000..fefd343a9 Binary files /dev/null and b/assets/select-account.BQuutaYp.png differ diff --git a/assets/style.CmCSNwp-.css b/assets/style.CmCSNwp-.css new file mode 100644 index 000000000..7da4df132 --- /dev/null +++ b/assets/style.CmCSNwp-.css @@ -0,0 +1 @@ +@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/sealdice-manual-next/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-26764800]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-26764800],.VPBackdrop.fade-leave-to[data-v-26764800]{opacity:0}.VPBackdrop.fade-leave-active[data-v-26764800]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-26764800]{display:none}}.NotFound[data-v-9b423b44]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-9b423b44]{padding:96px 32px 168px}}.code[data-v-9b423b44]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-9b423b44]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-9b423b44]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-9b423b44]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-9b423b44]{padding-top:20px}.link[data-v-9b423b44]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-9b423b44]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-7a6562db]{position:relative;z-index:1}.nested[data-v-7a6562db]{padding-right:16px;padding-left:16px}.outline-link[data-v-7a6562db]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-7a6562db]:hover,.outline-link.active[data-v-7a6562db]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-7a6562db]{padding-left:13px}.VPDocAsideOutline[data-v-36a71a4a]{display:none}.VPDocAsideOutline.has-outline[data-v-36a71a4a]{display:block}.content[data-v-36a71a4a]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-36a71a4a]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-36a71a4a]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-09413541]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-09413541]{flex-grow:1}.VPDocAside[data-v-09413541] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-09413541] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-09413541] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-e238aaf8]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-e238aaf8]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-7888df96]{margin-top:64px}.edit-info[data-v-7888df96]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-7888df96]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-7888df96]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-7888df96]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-7888df96]{margin-right:8px}.prev-next[data-v-7888df96]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-7888df96]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-7888df96]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-7888df96]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-7888df96]{margin-left:auto;text-align:right}.desc[data-v-7888df96]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-7888df96]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-09c406b3]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-09c406b3]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-09c406b3]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-09c406b3]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-09c406b3]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-09c406b3]{display:flex;justify-content:center}.VPDoc .aside[data-v-09c406b3]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-09c406b3]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-09c406b3]{max-width:1104px}}.container[data-v-09c406b3]{margin:0 auto;width:100%}.aside[data-v-09c406b3]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-09c406b3]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-09c406b3]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-09c406b3]::-webkit-scrollbar{display:none}.aside-curtain[data-v-09c406b3]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-09c406b3]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-09c406b3]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-09c406b3]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-09c406b3]{order:1;margin:0;min-width:640px}}.content-container[data-v-09c406b3]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-09c406b3]{max-width:688px}.VPButton[data-v-d9d88581]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-d9d88581]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-d9d88581]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-d9d88581]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-d9d88581]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-d9d88581]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-d9d88581]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-d9d88581]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-d9d88581]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-d9d88581]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-d9d88581]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-d9d88581]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-d9d88581]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-dfc03da3]{display:none}.dark .VPImage.light[data-v-dfc03da3]{display:none}.VPHero[data-v-2531153c]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-2531153c]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-2531153c]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-2531153c]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-2531153c]{flex-direction:row}}.main[data-v-2531153c]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-2531153c]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-2531153c]{text-align:left}}@media (min-width: 960px){.main[data-v-2531153c]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-2531153c]{max-width:592px}}.name[data-v-2531153c],.text[data-v-2531153c]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-2531153c],.VPHero.has-image .text[data-v-2531153c]{margin:0 auto}.name[data-v-2531153c]{color:var(--vp-home-hero-name-color)}.clip[data-v-2531153c]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-2531153c],.text[data-v-2531153c]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-2531153c],.text[data-v-2531153c]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-2531153c],.VPHero.has-image .text[data-v-2531153c]{margin:0}}.tagline[data-v-2531153c]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-2531153c]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-2531153c]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-2531153c]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-2531153c]{margin:0}}.actions[data-v-2531153c]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-2531153c]{justify-content:center}@media (min-width: 640px){.actions[data-v-2531153c]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-2531153c]{justify-content:flex-start}}.action[data-v-2531153c]{flex-shrink:0;padding:6px}.image[data-v-2531153c]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-2531153c]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-2531153c]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-2531153c]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-2531153c]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-2531153c]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-2531153c]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-2531153c]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-2531153c]{width:320px;height:320px}}[data-v-2531153c] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-2531153c] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-2531153c] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-f8bc50ff]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-f8bc50ff]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-f8bc50ff]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-f8bc50ff]>.VPImage{margin-bottom:20px}.icon[data-v-f8bc50ff]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-f8bc50ff]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-f8bc50ff]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-f8bc50ff]{padding-top:8px}.link-text-value[data-v-f8bc50ff]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-f8bc50ff]{margin-left:6px}.VPFeatures[data-v-a6c0d066]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-a6c0d066]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-a6c0d066]{padding:0 64px}}.container[data-v-a6c0d066]{margin:0 auto;max-width:1152px}.items[data-v-a6c0d066]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-a6c0d066]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-a6c0d066],.item.grid-4[data-v-a6c0d066],.item.grid-6[data-v-a6c0d066]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-a6c0d066],.item.grid-4[data-v-a6c0d066]{width:50%}.item.grid-3[data-v-a6c0d066],.item.grid-6[data-v-a6c0d066]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-a6c0d066]{width:25%}}.container[data-v-e18d3d62]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-e18d3d62]{padding:0 48px}}@media (min-width: 960px){.container[data-v-e18d3d62]{width:100%;padding:0 64px}}.vp-doc[data-v-e18d3d62] .VPHomeSponsors,.vp-doc[data-v-e18d3d62] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-e18d3d62] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-e18d3d62] .VPHomeSponsors a,.vp-doc[data-v-e18d3d62] .VPTeamPage a{text-decoration:none}.VPHome[data-v-f4904b84]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-f4904b84]{margin-bottom:128px}}.VPContent[data-v-44d21e84]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-44d21e84]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-44d21e84]{margin:0}@media (min-width: 960px){.VPContent[data-v-44d21e84]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-44d21e84]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-44d21e84]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-c1270dc8]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-c1270dc8]{display:none}.VPFooter[data-v-c1270dc8] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-c1270dc8] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-c1270dc8]{padding:32px}}.container[data-v-c1270dc8]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-c1270dc8],.copyright[data-v-c1270dc8]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-f2dab35c]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-f2dab35c]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-f2dab35c]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-f2dab35c]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-f2dab35c]{color:var(--vp-c-text-1)}.icon[data-v-f2dab35c]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-f2dab35c]{font-size:14px}.icon[data-v-f2dab35c]{font-size:16px}}.open>.icon[data-v-f2dab35c]{transform:rotate(90deg)}.items[data-v-f2dab35c]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-f2dab35c]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-f2dab35c]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-f2dab35c]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-f2dab35c]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-f2dab35c]{transition:all .2s ease-out}.flyout-leave-active[data-v-f2dab35c]{transition:all .15s ease-in}.flyout-enter-from[data-v-f2dab35c],.flyout-leave-to[data-v-f2dab35c]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-8ea3907e]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-8ea3907e]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-8ea3907e]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-8ea3907e]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-8ea3907e]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-8ea3907e]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-8ea3907e]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-8ea3907e]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-8ea3907e]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-8ea3907e]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-8ea3907e]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-8ea3907e]{display:none}}.menu-icon[data-v-8ea3907e]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-8ea3907e]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-8ea3907e]{padding:12px 32px 11px}}.VPSwitch[data-v-3fe5b470]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-3fe5b470]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-3fe5b470]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-3fe5b470]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-3fe5b470] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-3fe5b470] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-fafce623]{opacity:1}.moon[data-v-fafce623],.dark .sun[data-v-fafce623]{opacity:0}.dark .moon[data-v-fafce623]{opacity:1}.dark .VPSwitchAppearance[data-v-fafce623] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-9a793422]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-9a793422]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-daaddea6]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-daaddea6]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-daaddea6]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-daaddea6]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-360f94e5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-360f94e5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-360f94e5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-360f94e5]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-5b51bb41]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-5b51bb41] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-5b51bb41] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-5b51bb41] .group:last-child{padding-bottom:0}.VPMenu[data-v-5b51bb41] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-5b51bb41] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-5b51bb41] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-5b51bb41] .action{padding-left:24px}.VPFlyout[data-v-2651c3d9]{position:relative}.VPFlyout[data-v-2651c3d9]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-2651c3d9]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-2651c3d9]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-2651c3d9]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-2651c3d9]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-2651c3d9],.button[aria-expanded=true]+.menu[data-v-2651c3d9]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-2651c3d9]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-2651c3d9]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-2651c3d9]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-2651c3d9]{margin-right:0;font-size:16px}.text-icon[data-v-2651c3d9]{margin-left:4px;font-size:14px}.icon[data-v-2651c3d9]{font-size:20px;transition:fill .25s}.menu[data-v-2651c3d9]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-39c00feb]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-39c00feb]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-39c00feb]>svg,.VPSocialLink[data-v-39c00feb]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-1ebb6001]{display:flex;justify-content:center}.VPNavBarExtra[data-v-6c367428]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-6c367428]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-6c367428]{display:none}}.trans-title[data-v-6c367428]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-6c367428],.item.social-links[data-v-6c367428]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-6c367428]{min-width:176px}.appearance-action[data-v-6c367428]{margin-right:-2px}.social-links-list[data-v-6c367428]{margin:-4px -8px}.VPNavBarHamburger[data-v-d578c2d6]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-d578c2d6]{display:none}}.container[data-v-d578c2d6]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-d578c2d6]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-d578c2d6]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-d578c2d6]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-d578c2d6]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-d578c2d6]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-d578c2d6]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-d578c2d6],.VPNavBarHamburger.active:hover .middle[data-v-d578c2d6],.VPNavBarHamburger.active:hover .bottom[data-v-d578c2d6]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-d578c2d6],.middle[data-v-d578c2d6],.bottom[data-v-d578c2d6]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-d578c2d6]{top:0;left:0;transform:translate(0)}.middle[data-v-d578c2d6]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-d578c2d6]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-7a1d1bf3]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-7a1d1bf3],.VPNavBarMenuLink[data-v-7a1d1bf3]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-bdca9179]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-bdca9179]{display:flex}}/*! @docsearch/css 3.6.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-51286a3f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-51286a3f]{display:flex;align-items:center}}.title[data-v-8c830bd5]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-8c830bd5]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-8c830bd5]{border-bottom-color:var(--vp-c-divider)}}[data-v-8c830bd5] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-631fc341]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-631fc341]{display:flex;align-items:center}}.title[data-v-631fc341]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-f447069d]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-f447069d]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-f447069d]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-f447069d]:not(.home){background-color:transparent}.VPNavBar[data-v-f447069d]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-f447069d]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-f447069d]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-f447069d]{padding:0}}.container[data-v-f447069d]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-f447069d],.container>.content[data-v-f447069d]{pointer-events:none}.container[data-v-f447069d] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-f447069d]{max-width:100%}}.title[data-v-f447069d]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-f447069d]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-f447069d]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-f447069d]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-f447069d]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-f447069d]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-f447069d]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-f447069d]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-f447069d]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-f447069d]{column-gap:.5rem}}.menu+.translations[data-v-f447069d]:before,.menu+.appearance[data-v-f447069d]:before,.menu+.social-links[data-v-f447069d]:before,.translations+.appearance[data-v-f447069d]:before,.appearance+.social-links[data-v-f447069d]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-f447069d]:before,.translations+.appearance[data-v-f447069d]:before{margin-right:16px}.appearance+.social-links[data-v-f447069d]:before{margin-left:16px}.social-links[data-v-f447069d]{margin-right:-8px}.divider[data-v-f447069d]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-f447069d]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-f447069d]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-f447069d]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-f447069d]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-f447069d]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-f447069d]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-6fbe18a5]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-6fbe18a5]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-ff3aeed4]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-ff3aeed4]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-8fc1654e]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-8fc1654e]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-55e9d02b]{display:block}.title[data-v-55e9d02b]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-6d11bdd7]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-6d11bdd7]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-6d11bdd7]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-6d11bdd7]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-6d11bdd7]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-6d11bdd7]{transform:rotate(45deg)}.button[data-v-6d11bdd7]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-6d11bdd7]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-6d11bdd7]{transition:transform .25s}.group[data-v-6d11bdd7]:first-child{padding-top:0}.group+.group[data-v-6d11bdd7],.group+.item[data-v-6d11bdd7]{padding-top:4px}.VPNavScreenTranslations[data-v-9cac305c]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-9cac305c]{height:auto}.title[data-v-9cac305c]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-9cac305c]{font-size:16px}.icon.lang[data-v-9cac305c]{margin-right:8px}.icon.chevron[data-v-9cac305c]{margin-left:4px}.list[data-v-9cac305c]{padding:4px 0 0 24px}.link[data-v-9cac305c]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-53ea13ef]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-53ea13ef],.VPNavScreen.fade-leave-active[data-v-53ea13ef]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-53ea13ef],.VPNavScreen.fade-leave-active .container[data-v-53ea13ef]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-53ea13ef],.VPNavScreen.fade-leave-to[data-v-53ea13ef]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-53ea13ef],.VPNavScreen.fade-leave-to .container[data-v-53ea13ef]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-53ea13ef]{display:none}}.container[data-v-53ea13ef]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-53ea13ef],.menu+.appearance[data-v-53ea13ef],.translations+.appearance[data-v-53ea13ef]{margin-top:24px}.menu+.social-links[data-v-53ea13ef]{margin-top:16px}.appearance+.social-links[data-v-53ea13ef]{margin-top:16px}.VPNav[data-v-be8402a5]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-be8402a5]{position:fixed}}.VPSidebarItem.level-0[data-v-55ac492d]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-55ac492d]{padding-bottom:10px}.item[data-v-55ac492d]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-55ac492d]{cursor:pointer}.indicator[data-v-55ac492d]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-55ac492d],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-55ac492d],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-55ac492d],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-55ac492d]{background-color:var(--vp-c-brand-1)}.link[data-v-55ac492d]{display:flex;align-items:center;flex-grow:1}.text[data-v-55ac492d]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-55ac492d]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-55ac492d],.VPSidebarItem.level-2 .text[data-v-55ac492d],.VPSidebarItem.level-3 .text[data-v-55ac492d],.VPSidebarItem.level-4 .text[data-v-55ac492d],.VPSidebarItem.level-5 .text[data-v-55ac492d]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-55ac492d],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-55ac492d],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-55ac492d],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-55ac492d],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-55ac492d],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-55ac492d]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-55ac492d],.VPSidebarItem.level-1.has-active>.item>.text[data-v-55ac492d],.VPSidebarItem.level-2.has-active>.item>.text[data-v-55ac492d],.VPSidebarItem.level-3.has-active>.item>.text[data-v-55ac492d],.VPSidebarItem.level-4.has-active>.item>.text[data-v-55ac492d],.VPSidebarItem.level-5.has-active>.item>.text[data-v-55ac492d],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-55ac492d],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-55ac492d],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-55ac492d],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-55ac492d],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-55ac492d],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-55ac492d]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-55ac492d],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-55ac492d],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-55ac492d],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-55ac492d],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-55ac492d],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-55ac492d]{color:var(--vp-c-brand-1)}.caret[data-v-55ac492d]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-55ac492d]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-55ac492d]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-55ac492d]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-55ac492d]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-55ac492d],.VPSidebarItem.level-2 .items[data-v-55ac492d],.VPSidebarItem.level-3 .items[data-v-55ac492d],.VPSidebarItem.level-4 .items[data-v-55ac492d],.VPSidebarItem.level-5 .items[data-v-55ac492d]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-55ac492d]{display:none}.no-transition[data-v-4b84181b] .caret-icon{transition:none}.group+.group[data-v-4b84181b]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-4b84181b]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-3cac900b]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-3cac900b]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-3cac900b]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-3cac900b]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-3cac900b]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-3cac900b]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-3cac900b]{outline:0}.VPSkipLink[data-v-f808ed63]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-f808ed63]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-f808ed63]{top:14px;left:16px}}.Layout[data-v-e569fd42]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-5952a19b]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-5952a19b]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-5952a19b]{margin:128px 0}}.VPHomeSponsors[data-v-5952a19b]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-5952a19b]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-5952a19b]{padding:0 64px}}.container[data-v-5952a19b]{margin:0 auto;max-width:1152px}.love[data-v-5952a19b]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-5952a19b]{display:inline-block}.message[data-v-5952a19b]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-5952a19b]{padding-top:32px}.action[data-v-5952a19b]{padding-top:40px;text-align:center}.VPTeamPage[data-v-7bef5275]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-7bef5275]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-7bef5275-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-7bef5275-s],.VPTeamMembers+.VPTeamPageSection[data-v-7bef5275-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-7bef5275-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-7bef5275-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-7bef5275-s],.VPTeamMembers+.VPTeamPageSection[data-v-7bef5275-s]{margin-top:96px}}.VPTeamMembers[data-v-7bef5275-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-7bef5275-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-7bef5275-s]{padding:0 64px}}.VPTeamPageTitle[data-v-6edd6fe3]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-6edd6fe3]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-6edd6fe3]{padding:80px 64px 48px}}.title[data-v-6edd6fe3]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-6edd6fe3]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-6edd6fe3]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-6edd6fe3]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-9c9f9713]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-9c9f9713]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-9c9f9713]{padding:0 64px}}.title[data-v-9c9f9713]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-9c9f9713]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-9c9f9713]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-9c9f9713]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-9c9f9713]{padding-top:40px}.VPTeamMembersItem[data-v-67d9e0b7]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-67d9e0b7]{padding:32px}.VPTeamMembersItem.small .data[data-v-67d9e0b7]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-67d9e0b7]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-67d9e0b7]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-67d9e0b7]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-67d9e0b7]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-67d9e0b7]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-67d9e0b7]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-67d9e0b7]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-67d9e0b7]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-67d9e0b7]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-67d9e0b7]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-67d9e0b7]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-67d9e0b7]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-67d9e0b7]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-67d9e0b7]{text-align:center}.avatar[data-v-67d9e0b7]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-67d9e0b7]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-67d9e0b7]{margin:0;font-weight:600}.affiliation[data-v-67d9e0b7]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-67d9e0b7]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-67d9e0b7]:hover{color:var(--vp-c-brand-1)}.desc[data-v-67d9e0b7]{margin:0 auto}.desc[data-v-67d9e0b7] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-67d9e0b7]{display:flex;justify-content:center;height:56px}.sp-link[data-v-67d9e0b7]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-67d9e0b7]:hover,.sp .sp-link.link[data-v-67d9e0b7]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-67d9e0b7]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-ab324960]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-ab324960]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-ab324960]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-ab324960]{max-width:876px}.VPTeamMembers.medium .container[data-v-ab324960]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-ab324960]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-ab324960]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-ab324960]{max-width:760px}.container[data-v-ab324960]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #5EFCE8 30%, #736EFE );--vp-home-hero-image-background-image: linear-gradient( -45deg, #5EFCE8 30%, #736EFE );--vp-home-hero-image-filter: blur(44px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(68px)}}:root{--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-brand-soft);--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand-1) !important}:root{--font-family: -apple-system, BlinkMacSystemFont, Inter, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", "PingFang SC", "Noto Sans SC", "Noto Sans CJK SC", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-heading: -apple-system, BlinkMacSystemFont, Inter, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", "PingFang SC", "Noto Sans SC", "Noto Sans CJK SC", STHeiti, "Microsoft YaHei", SimSun, sans-serif}:root{--vp-plugin-tabs-tab-text-color: var(--vp-c-text-2);--vp-plugin-tabs-tab-active-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-hover-text-color: var(--vp-c-text-1);--vp-plugin-tabs-tab-bg: var(--vp-c-bg-soft);--vp-plugin-tabs-tab-divider: var(--vp-c-divider);--vp-plugin-tabs-tab-active-bar-color: var(--vp-c-brand-1)}.plugin-tabs{margin:16px 0;background-color:var(--vp-plugin-tabs-tab-bg);border-radius:8px}.plugin-tabs--tab-list{position:relative;padding:0 12px;overflow-x:auto;overflow-y:hidden}.plugin-tabs--tab-list:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--vp-plugin-tabs-tab-divider)}.plugin-tabs--tab{position:relative;padding:0 12px;line-height:48px;border-bottom:2px solid transparent;color:var(--vp-plugin-tabs-tab-text-color);font-size:14px;font-weight:500;white-space:nowrap;transition:color .25s}.plugin-tabs--tab[aria-selected=true]{color:var(--vp-plugin-tabs-tab-active-text-color)}.plugin-tabs--tab:hover{color:var(--vp-plugin-tabs-tab-hover-text-color)}.plugin-tabs--tab:after{content:"";position:absolute;bottom:-2px;left:8px;right:8px;height:2px;background-color:transparent;transition:background-color .25s;z-index:1}.plugin-tabs--tab[aria-selected=true]:after{background-color:var(--vp-plugin-tabs-tab-active-bar-color)}.plugin-tabs--content[data-v-4b364022]{padding:16px}.plugin-tabs--content[data-v-4b364022]>:first-child:first-child{margin-top:0}.plugin-tabs--content[data-v-4b364022]>:last-child:last-child{margin-bottom:0}.plugin-tabs--content[data-v-4b364022]>div[class*=language-]{border-radius:8px;margin:16px 0}:root:not(.dark) .plugin-tabs--content[data-v-4b364022] div[class*=language-]{background-color:var(--vp-c-bg)}.chat-box[data-v-5dc73542]{display:flex;flex-direction:column}.chat-message-left[data-v-5dc73542],.chat-message-right[data-v-5dc73542]{display:flex;margin:.5rem 0}.chat-message-right[data-v-5dc73542]{justify-content:right}.chat-avatar[data-v-5dc73542]{display:flex;justify-content:center;margin:1px;border-radius:.25rem}.chat-avatar img[data-v-5dc73542]{width:40px;height:40px;border-radius:.25rem}.chat-info-left[data-v-5dc73542],.chat-info-right[data-v-5dc73542]{width:70%;display:flex;flex-direction:column}.chat-info-left .chat-title[data-v-5dc73542],.chat-info-right .chat-title[data-v-5dc73542]{margin:0 .5rem}.chat-info-right[data-v-5dc73542]{align-items:flex-end}.bubble-left[data-v-5dc73542],.bubble-right[data-v-5dc73542]{width:fit-content;max-width:80%;margin:.1rem 0;padding:.5rem 1rem;filter:brightness(var(--3861e4ab));position:relative;word-break:break-all}.bubble-left span[data-v-5dc73542],.bubble-right span[data-v-5dc73542]{line-height:1.5}.bubble-left[data-v-5dc73542]:before,.bubble-right[data-v-5dc73542]:after{position:absolute;content:"";width:0;height:0}.bubble-left[data-v-5dc73542]{background-color:var(--cc4e36f8);border-radius:0 .5rem .5rem;margin-left:.5rem}.bubble-left[data-v-5dc73542]:before{top:0;left:-1rem;border-top:0;border-right:.5rem solid var(--cc4e36f8);border-bottom:1rem solid transparent;border-left:.5rem solid transparent}.bubble-right[data-v-5dc73542]{background-color:var(--cf2870f2);border-radius:.5rem 0 .5rem .5rem;margin-right:.5rem}.bubble-right[data-v-5dc73542]:after{top:0;right:-1rem;border-top:0;border-right:.5rem solid transparent;border-bottom:1rem solid transparent;border-left:.5rem solid var(--cf2870f2)}.VPLocalSearchBox[data-v-e6560dbd]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-e6560dbd]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-e6560dbd]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-e6560dbd]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-e6560dbd]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-e6560dbd]{padding:0 8px}}.search-bar[data-v-e6560dbd]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-e6560dbd]{display:block;font-size:18px}.navigate-icon[data-v-e6560dbd]{display:block;font-size:14px}.search-icon[data-v-e6560dbd]{margin:8px}@media (max-width: 767px){.search-icon[data-v-e6560dbd]{display:none}}.search-input[data-v-e6560dbd]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-e6560dbd]{padding:6px 4px}}.search-actions[data-v-e6560dbd]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-e6560dbd]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-e6560dbd]{display:none}}.search-actions button[data-v-e6560dbd]{padding:8px}.search-actions button[data-v-e6560dbd]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-e6560dbd]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-e6560dbd]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-e6560dbd]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-e6560dbd]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-e6560dbd]{display:none}}.search-keyboard-shortcuts kbd[data-v-e6560dbd]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-e6560dbd]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-e6560dbd]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-e6560dbd]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-e6560dbd]{margin:8px}}.titles[data-v-e6560dbd]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-e6560dbd]{display:flex;align-items:center;gap:4px}.title.main[data-v-e6560dbd]{font-weight:500}.title-icon[data-v-e6560dbd]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-e6560dbd]{opacity:.5}.result.selected[data-v-e6560dbd]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-e6560dbd]{position:relative}.excerpt[data-v-e6560dbd]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-e6560dbd]{opacity:1}.excerpt[data-v-e6560dbd] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-e6560dbd] mark,.excerpt[data-v-e6560dbd] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-e6560dbd] .vp-code-group .tabs{display:none}.excerpt[data-v-e6560dbd] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-e6560dbd]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-e6560dbd]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-e6560dbd],.result.selected .title-icon[data-v-e6560dbd]{color:var(--vp-c-brand-1)!important}.no-results[data-v-e6560dbd]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-e6560dbd]{flex:none} diff --git a/assets/use_README.md.mjM9mZnY.js b/assets/use_README.md.mjM9mZnY.js new file mode 100644 index 000000000..a520361a8 --- /dev/null +++ b/assets/use_README.md.mjM9mZnY.js @@ -0,0 +1 @@ +import{_ as l,c as e,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"使用","description":"","frontmatter":{"title":"使用","index":false},"headers":[],"relativePath":"use/README.md","filePath":"use/README.md","lastUpdated":1715446720000}'),i={name:"use/README.md"},r=t('',1),h=[r];function _(s,o,c,f,n,u){return a(),e("div",null,h)}const p=l(i,[["render",_]]);export{m as __pageData,p as default}; diff --git a/assets/use_README.md.mjM9mZnY.lean.js b/assets/use_README.md.mjM9mZnY.lean.js new file mode 100644 index 000000000..5dd15c936 --- /dev/null +++ b/assets/use_README.md.mjM9mZnY.lean.js @@ -0,0 +1 @@ +import{_ as l,c as e,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"使用","description":"","frontmatter":{"title":"使用","index":false},"headers":[],"relativePath":"use/README.md","filePath":"use/README.md","lastUpdated":1715446720000}'),i={name:"use/README.md"},r=t("",1),h=[r];function _(s,o,c,f,n,u){return a(),e("div",null,h)}const p=l(i,[["render",_]]);export{m as __pageData,p as default}; diff --git a/assets/use_attribute_alias.md.Drwpd_w9.js b/assets/use_attribute_alias.md.Drwpd_w9.js new file mode 100644 index 000000000..8b782b1c7 --- /dev/null +++ b/assets/use_attribute_alias.md.Drwpd_w9.js @@ -0,0 +1,29 @@ +import{_ as s,c as a,o as n,a8 as i}from"./chunks/framework.C7ysi3tu.js";const g=JSON.parse('{"title":"属性同义词","description":"","frontmatter":{"lang":"zh-cn","title":"属性同义词"},"headers":[],"relativePath":"use/attribute_alias.md","filePath":"use/attribute_alias.md","lastUpdated":1714442589000}'),e={name:"use/attribute_alias.md"},p=i(`

属性同义词

本节内容

本节将介绍海豹在 CoC 和 D&D 规则中默认使用的同义词。

概念说明

属性同义词是在录入和存储角色数据时,将若干个属性名视为同一个属性、互相可以替代使用。

这一设计是为了解决下面这样的问题:(由于笔者的游戏栈,使用 CoC 举例)

场景举例

用户可能使用某些自动工具创建了一名调查员,由工具生成了录入数据的指令。这指令可能包含了类似这样的内容:

text
.st 力量50str50

我们知道,「str」是「力量」属性的英文缩写法,它们完全指代的是同一属性。

因此,我们期待这样的指令实际只录入一条属性,但是用户仍然可以用「力量」或「str」的任何一个名字使用这一属性。

text
$ .st 力量50str50
+<木落>的属性录入完成,本次共记录了2条数据 (其中1条为同义词)
+
+# 实际上只有一条属性
+$ .st show
+<木落>的个人属性为:力量: 50
+
+# 可以用各种名字使用
+$ .ra 力量
+<木落>尝试使用"力量"技能:D100=64/50 失败
+$ .ra STR
+<木落>尝试使用"力量"技能:D100=78/50 失败
+
+# 可以用各种名字修改
+$ .st str+10
+<木落>的属性变化:
+力量: 50 ➯ 60 (增加10=10)
+$ .ra 力量
+<木落>尝试使用"力量"技能:D100=90/60 失败

类似地,在 CoC 中,「智力」与「灵感」是规则书规定的同一属性的两个名字。它们也被视为同义词。

一些分支专精技能的名字,如「冲锋枪」,我们将「射击:冲锋枪」作为它的同义词,以适配尽量多的用法。

我们在选择同义词时遵循以下几条原则:

  1. 规定的同义词等价,如 智力灵感教育知识
  2. 中文和英文缩写等价,如 力量str
  3. 同一概念的不同常用称呼等价,如 理智理智值,根据原则 2,sansan值 也指向同一属性;
  4. 日常用语中基本等价且易混淆的词汇等价,如 侦查侦察
  5. 不同版本规则之间的同一技能更换了用词,或翻译有变化,这些名字等价;如 CoC 6 版的 快速交谈 与 7 版的 话术;又如 7 版的 魅惑取悦
  6. 简体与繁体字等价,如 体质體質
  7. 在玩家中广泛使用的简称、别称与其正式名称等价,如 克苏鲁神话克苏鲁克苏鲁神话知识

同义词表

为了确保你不会获取到过时内容,我们决定不将列表放在手册中,敬请理解。

这些同义词都是符合直觉的,你通常也无需专门查阅列表。如果你确实想了解,请参考以下内容。

  • CoC 规则的同义词,请自行理解 此源文件 的内容。

  • D&D 规则的同义词可在骰子启动后,在本地文件 data/default/extensions/dnd5e/attribute.yaml 中查看。

    这个文件遵守以下格式。其中,ac 位置上的名字是海豹核心选用的主要名字,后续列出的是它的同义词。

    yaml
    alias:
    +    ac:
    +        - AC
    +        - 护甲等级
    +        - 护甲值
    +        - 护甲
    +        - 護甲等級
    +        - 護甲值
    +        - 護甲
    +        - 装甲
    +        - 裝甲
`,12),l=[p];function t(c,o,d,h,r,k){return n(),a("div",null,l)}const u=s(e,[["render",t]]);export{g as __pageData,u as default}; diff --git a/assets/use_attribute_alias.md.Drwpd_w9.lean.js b/assets/use_attribute_alias.md.Drwpd_w9.lean.js new file mode 100644 index 000000000..6a8fc9abb --- /dev/null +++ b/assets/use_attribute_alias.md.Drwpd_w9.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,a8 as i}from"./chunks/framework.C7ysi3tu.js";const g=JSON.parse('{"title":"属性同义词","description":"","frontmatter":{"lang":"zh-cn","title":"属性同义词"},"headers":[],"relativePath":"use/attribute_alias.md","filePath":"use/attribute_alias.md","lastUpdated":1714442589000}'),e={name:"use/attribute_alias.md"},p=i("",12),l=[p];function t(c,o,d,h,r,k){return n(),a("div",null,l)}const u=s(e,[["render",t]]);export{g as __pageData,u as default}; diff --git a/assets/use_coc7.md.DcNKhDK7.js b/assets/use_coc7.md.DcNKhDK7.js new file mode 100644 index 000000000..735031fa5 --- /dev/null +++ b/assets/use_coc7.md.DcNKhDK7.js @@ -0,0 +1,36 @@ +import{_ as r,D as s,c as h,j as t,a as e,I as o,w as n,a8 as c,o as _}from"./chunks/framework.C7ysi3tu.js";const Vt=JSON.parse('{"title":"克苏鲁的呼唤 7 版","description":"","frontmatter":{"lang":"zh-cn","title":"克苏鲁的呼唤 7 版"},"headers":[],"relativePath":"use/coc7.md","filePath":"use/coc7.md","lastUpdated":1718381802000}'),p={name:"use/coc7.md"},u=c('

克苏鲁的呼唤 7 版

本节内容

本节将展示 CoC 7th 玩家所需指令,请善用侧边栏和搜索,按需阅读文档。

我们假定你已对 CoC 规则有适当了解,本节只涉及如何使用海豹核心完成规则中指定的操作。

克苏鲁的呼唤

「克苏鲁的呼唤」(Call of Cthulhu)是一个充满了秘密、神秘和恐怖的游戏。你将扮演一位坚定的侦探,奔波在奇怪而危险的场所之间,揭开邪恶的阴谋,对抗暗夜的恐怖。你将面对令人 SAN 值直葬(令人理智崩溃)的存在、怪物们,还有疯魔的邪教徒们。在被人遗忘的奇异书卷中,你会发现不应当为人类所知晓的秘密。

.st 操作人物卡

在克苏鲁的呼唤中,每位玩家都需要创造一位调查员。这是一群发掘深层秘密的人,这是一群搜索遗忘之地的人,这是一群用禁忌知识武装自己头脑,正面应对克苏鲁神话中那些毛骨悚然之物的人。

此指令用来操作骰子程序模拟的人物卡。

属性与技能

由于属性和技能在检定时基本不做区分,表述时不以 <属性/技能> 的形式表明这里既可以使用技能名又可以使用属性名,而是统一使用 <属性> 来代指。

.st help 获取帮助信息

请以海豹核心最新帮助信息为准。列出几个常用功能供参考。

列出属性

.st show [<属性>]

不提供参数则列出所有属性数值;提供属性名则列出特定属性数值。

删除属性

.st clr 删除所有属性数值;

.st del <属性>... 删除指定属性。

设定属性值

.st <属性><表达式> <属性><表达式>...

将指定属性设定为指定表达式的计算结果。如 .st 敏捷50 力量3d6*5

',18),b=t("code",null,".st <角色名>-<属性><表达式>",-1),m=t("code",null,".nn",-1),k=c('

更新属性值

.st <属性>±<表达式>

将指定属性增加或减去表达式的计算结果。表达式中可以包含骰点。如 .st 敏捷+2 hp+1d3

设定计算表达式

.st &<属性>=<表达式>

保存计算表达式,以更方便地计算某些固定骰点。例如

',6),g={class:"info custom-block"},P=t("p",{class:"custom-block-title"},"示例",-1),f=t("h3",{id:"导出属性值",tabindex:"-1"},[e("导出属性值 "),t("a",{class:"header-anchor",href:"#导出属性值","aria-label":'Permalink to "导出属性值"'},"​")],-1),q=t("p",null,[t("code",null,".st export")],-1),T=t("p",null,"将保存的属性数值以 st 指令格式列出,可以直接复制到其他骰子使用。",-1),v=t("h3",{id:"代骰",tabindex:"-1"},[e("代骰 "),t("a",{class:"header-anchor",href:"#代骰","aria-label":'Permalink to "代骰"'},"​")],-1),x=t("p",null,"以上功能均可以通过附加 @其他人 来操作对方的属性值。",-1),S={class:"info custom-block"},z=t("p",{class:"custom-block-title"},"示例",-1),C=c('

.ra/.rc 检定

检定一词要与恰当的技能或属性一起使用;也就是说,比如说,守秘人会要求进行一个「攀爬检定」或一个「力量检定」。

rc 还是 ra?

rc 是规则书检定。而 ra 是房规检定。区别主要在于对大成功/大失败的判定方式。

当房规设定为规则书标准(.setcoc 0)时,ra 和 rc 等价。

进行检定

.ra <属性表达式>

使用指定的属性或技能进行检定。其中,属性可以被包含在表达式中进行调整。

另外,直接指明技能名和数值,将以给出的数值进行检定。

',7),A={class:"info custom-block"},D=t("p",{class:"custom-block-title"},"示例",-1),V=t("p",null,"假设角色的侦查技能是40",-1),I=t("h3",{id:"多轮检定",tabindex:"-1"},[e("多轮检定 "),t("a",{class:"header-anchor",href:"#多轮检定","aria-label":'Permalink to "多轮检定"'},"​")],-1),N=t("p",null,[t("code",null,".ra <次数># <属性表达式>")],-1),B=t("p",null,"重复进行指定次数的相同检定。",-1),E={class:"info custom-block"},R=t("p",{class:"custom-block-title"},"示例",-1),y=t("h3",{id:"要求一定难度的检定",tabindex:"-1"},[e("要求一定难度的检定 "),t("a",{class:"header-anchor",href:"#要求一定难度的检定","aria-label":'Permalink to "要求一定难度的检定"'},"​")],-1),K=t("p",null,[t("code",null,".ra <难度><属性表达式>")],-1),L=t("p",null,[e("进行检定,但只有成功等级达到要求的难度才判定为成功。可以指定的难度有 "),t("code",null,"困难"),e("(当前判定线的二分之一)、"),t("code",null,"极难"),e("(当前判定线的五分之一)、"),t("code",null,"大成功"),e("(根据当前房规确定)")],-1),w={class:"info custom-block"},$=t("p",{class:"custom-block-title"},"示例",-1),H=t("p",null,"假设角色的侦查技能是40",-1),O=t("h3",{id:"奖励骰和惩罚骰",tabindex:"-1"},[e("奖励骰和惩罚骰 "),t("a",{class:"header-anchor",href:"#奖励骰和惩罚骰","aria-label":'Permalink to "奖励骰和惩罚骰"'},"​")],-1),j=t("p",null,[t("code",null,".ra (b|p)[<个数>] <属性表达式>")],-1),J=t("p",null,[e("进行检定,并且使用指定个数(如果不指定,为 1 个)的奖励骰("),t("code",null,"b"),e(")或惩罚骰("),t("code",null,"p"),e(")。")],-1),U={class:"info custom-block"},F=t("p",{class:"custom-block-title"},"示例",-1),G=t("h3",{id:"代骰-1",tabindex:"-1"},[e("代骰 "),t("a",{class:"header-anchor",href:"#代骰-1","aria-label":'Permalink to "代骰"'},"​")],-1),M=t("p",null,[e("以上功能均可以通过附加 "),t("code",null,"@其他人"),e(" 来使用对方的技能进行检定。")],-1),Q={class:"info custom-block"},W=t("p",{class:"custom-block-title"},"示例",-1),X=t("p",null,"假定 Szz 的侦查技能是80",-1),Y=t("h3",{id:"以上功能可以组合使用",tabindex:"-1"},[e("以上功能可以组合使用 "),t("a",{class:"header-anchor",href:"#以上功能可以组合使用","aria-label":'Permalink to "以上功能可以组合使用"'},"​")],-1),Z={class:"info custom-block"},tt=t("p",{class:"custom-block-title"},"示例",-1),et=c('

.rah/.rch 暗中检定

.ra/.rc 功能相同。区别是,检定结果将不会发送到使用指令的群聊,而是私聊发送给指令发起者。

为什么没有结果?

暗中检定只在群聊中可用。

由于要私聊发送检定结果,你可能需要先将骰子加为好友

代骰

此功能同样支持通过附加 @其他人 以使用对方的技能进行检定。

一个较为常见的用法是,PL 要求使用心理学技能,由 KP 进行暗中代骰。

',6),ot={class:"info custom-block"},at=t("p",{class:"custom-block-title"},"示例",-1),ct=c('

.rav/.rcv 对抗检定

有些情况,例如两位调查员相互对抗时,你会希望双方都进行掷骰来决出胜者。 此外,对抗检定也是近战的标准处理方式。

在对抗检定中应用调整

在对抗检定这一节中,所述的「属性表达式」除了使用 技能名技能名+指定数值 外,可以进行以下调整:

  1. 在前面附加难度等级,如 困难侦查
  2. 进行运算,如 侦查+10
  3. 在后面附加奖励骰与惩罚骰,如 侦查,b2

使用相同技能对抗

.rav <属性表达式> @对手

自己与对手均使用相同属性/技能(如果有调整值,也相同应用)进行一次检定,然后比较成功等级。

',6),st={class:"info custom-block"},nt=t("p",{class:"custom-block-title"},"示例",-1),lt=t("h3",{id:"使用不同技能对抗",tabindex:"-1"},[e("使用不同技能对抗 "),t("a",{class:"header-anchor",href:"#使用不同技能对抗","aria-label":'Permalink to "使用不同技能对抗"'},"​")],-1),dt=t("p",null,[t("code",null,".rav <自己的属性表达式> <对手的属性表达式> @对手")],-1),it=t("p",null,"使用自己的一个属性/技能对抗对手的另一属性/技能,或者相同属性/技能应用不同调整值。",-1),rt={class:"info custom-block"},ht=t("p",{class:"custom-block-title"},"示例",-1),_t=c('

指定两个其他人对抗

通过 at 两个其他玩家,可用让 TA 们进行对抗,而不包括自己。

.rav <共用属性表达式> @A @B

.rav <A属性表达式> <B属性表达式> @A @B

.sc 理智检定

在令人不安或恐怖的情景中,守秘人将考验调查员的心智。这会要求场景中每位调查员进行一次理智检定。在较短的时间内失去过多理智值,会使调查员陷入临时性或不定性疯狂。

指定损失的理智

.sc <成功时理智损失>/<失败时理智损失>

其中,理智损失均可以是包含骰点的表达式。

',9),pt={class:"info custom-block"},ut=t("p",{class:"custom-block-title"},"示例",-1),bt=c('

简略写法

.sc <失败时理智损失>(完全等价于 .sc 0/<失败时理智损失>

如果检定成功时不失去理智,可以只指定失败时的理智损失。

奖励骰和惩罚骰

.sc (b|p)[<数量>] <成功时理智损失>/<失败时理智损失>

在进行理智检定时使用指定数量的奖励骰或惩罚骰。

代骰

此指令支持附加 @其他人,使目标进行指定的理智检定。

',8),mt={class:"info custom-block"},kt=t("p",{class:"custom-block-title"},"示例",-1),gt=c('

.ti/.li 疯狂发作症状

在《克苏鲁的呼唤》中,与克苏鲁神话相关的痛苦经历和可怖领悟都会诱发疯狂。

疯狂状态的持续时间取决于失去的理智值的数量和比例。

ti 还是 li?

通常的疯狂发作应该使用 ti 抽取即时症状

但是,如果疯狂发作时调查员周围没有其他调查员陪伴,或在场的所有调查员同时疯狂发作, 则守秘人可以快速推进行动,只陈述结果。这被称为疯狂发作的总结症状。使用 li 来抽取。

.ti

使用该指令以抽取疯狂发作的即时症状与发作时间。如果抽到的是恐惧症与躁狂症,也会同时抽取具体条目。

.li

使用该指令以抽取疯狂发作的总结症状与消耗时间。如果抽到的是恐惧症与躁狂症,也会同时抽取具体条目。

.en 技能成长

当调查员在游戏中成功使用了技能,玩家应该勾上角色卡上该技能旁的方框。这提供了调查员从经验中学习的机会。

  • 若使用了奖励骰则不能获得技能成长标记。
  • 对于对抗检定,双方可能都实现某种程度的成功,但只有一方获胜,也只有胜者可以获得技能成长标记。

进行技能成长

.en <技能名称> [<更多技能名称>...]

对指定的技能分别进行一次成长检定。

相同技能不能被反复列出。如果需要对一个技能进行多次成长,请多次使用成长指令。

text
.en 侦查 聆听 图书馆使用

.en <技能名称><技能点数>

也可以强制指定一个技能的数值。注意,不论成功与否,这都将使用新的技能值覆盖现有的技能值。

指定成长值

.en <技能名称>[<技能点数>] +<失败成长值>/<成功成长值>

指定当成长检定成功与失败时的技能成长点数。两个点数都可以是包含骰点的表达式。

.en <技能名称>[<技能点数>] +<成功成长值>

如果检定失败时成长为 0,也可以略去不写。

指定的成长值

指定值前面的加号 + 是必须的。

成长值可以是负数,如果命中,则会失去相应的技能点数。

.coc 生成随机属性(制卡)

.coc [<数量>]

随机生成指定数量的调查员属性。如果省略数量,将生成 1 个。生成的属性包括 8 项基础属性与幸运,同时会计算 HP 点数。

此外,也会计算属性的总值供用户参考。总值包括两个,其一是 8 项基础属性的总值,其二是前者与幸运的总值。

',26),Pt={class:"info custom-block"},ft=t("p",{class:"custom-block-title"},"示例",-1),qt=c('

.setcoc 设置房规

改变海豹核心判定大成功与大失败的方式。

显示当前房规

.setcoc

不加参数的使用,即显示当前设定的房规。

列出可用房规

.setcoc details

列出所有内置或通过扩展加入的房规。海豹核心内置的房规列出如下:

序号规则
0(默认)出 1 大成功,不满 50 出 96-100 大失败,满 50 出 100 大失败 (CoC7th 规则书)
1不满 50 出 1 大成功,不满 50 出 96-100 大失败,满 50 出 100 大失败
2(常用)出 1-5 且判定成功为大成功,出 96-100 且判定失败为大失败
3出 1-5 大成功,出 96-100 大失败 (即大成功/大失败时无视判定结果)
4出 1-5 且≤(成功率/10) 为大成功,不满 50 出>=96+(成功率/10) 为大失败,满 50 出 100 大失败
5出 1-2 且≤(成功率/5) 为大成功,不满 50 出 96-100 大失败,满 50 出 99-100 大失败
dg出 1 或检定成功基础上个位十位相同为大成功,出 100 或检定失败基础上个位十位相同为大失败,此规则无困难成功或极难成功

设定房规

.setcoc <房规序号>

使用指定的房规。

',12);function Tt(vt,xt,St,zt,Ct,At){const d=s("Badge"),a=s("ChatBox"),l=s("PluginTabsTab"),i=s("PluginTabs");return _(),h("div",null,[u,t("p",null,[e("从 "),o(d,{type:"tip",text:"v1.4.2"}),e(" 开始,海豹核心兼容了简化卡格式 "),b,e(",这相当于分别使用 "),m,e(" 指令设置角色名,然后设定属性值。")]),k,t("div",g,[P,o(a,{messages:[{content:".st &手枪伤害=1d6+1",send:!0},{content:"<木落>的coc7属性录入完成,本次录入了1条数据"},{content:".r 手枪伤害",send:!0},{content:"<木落>掷出了 手枪伤害=[手枪伤害=5[1d6=5] + 1]=6"}]})]),f,q,T,v,x,t("div",S,[z,o(a,{messages:[{content:".st 侦查80 @Szz",send:!0},{content:`由<木落>代骰: +的coc7属性录入完成,本次录入了1条数据`},{content:".st hp-1 @Szz",send:!0},{content:`由<木落>代骰: +的属性变化: +生命值: 10 ➯ 9 (扣除-1=-1)`},{content:".st show hp @Szz",send:!0},{content:`由<木落>代骰: +的个人属性为: +生命值:9/10`}]})]),C,t("div",A,[D,V,o(a,{messages:[{content:".ra 侦查",send:!0},{content:'<木落>的"侦查"检定结果为: D100=64/40 失败'},{content:".ra 侦查+10",send:!0},{content:'<木落>的"侦查"检定结果为: D100=15/50 困难成功'},{content:".ra 侦查99",send:!0},{content:'<木落>的"侦查"检定结果为: D100=30/99 困难成功'}]})]),I,N,B,t("div",E,[R,o(a,{messages:[{content:".ra 3# 侦查",send:!0},{content:`对<木落>的"侦查"进行了3次检定,结果为: +D100=87/40 失败 +D100=24/40 成功 +D100=1/40 大成功`}]})]),y,K,L,t("div",w,[$,H,o(a,{messages:[{content:".ra 困难侦查+10",send:!0},{content:'<木落>的"困难侦查+10"检定结果为: D100=30/25 失败'}]})]),O,j,J,t("div",U,[F,o(a,{messages:[{content:".ra b2 侦查",send:!0},{content:'<木落>的"侦查"检定结果为: b2=1/40, ([D100=51, 奖励 0 2]) 大成功!'}]})]),G,M,t("div",Q,[W,X,o(a,{messages:[{content:".ra 侦查 @Szz",send:!0},{content:`由<木落>代骰: +的"侦查"检定结果为: D100=65/80 成功`}]})]),Y,t("div",Z,[tt,o(a,{messages:[{content:".ra 3# p 困难侦查+10 @Szz",send:!0},{content:`由<木落>代骰: +对的"困难侦查+10"进行了3次检定,结果为: +p=36/45, ([D100=16, 惩罚 3]) 成功 +p=91/45, ([D100=91, 惩罚 8]) 失败 +p=75/45, ([D100=5, 惩罚 7]) 失败`}]})]),et,t("div",ot,[at,o(i,null,{default:n(()=>[o(l,{label:"跑团群"},{default:n(()=>[o(a,{messages:[{username:"PL",avatar:"user1",content:"我要对这个 NPC 使用心理学"},{username:"KP",avatar:"user3",content:"可以",send:!0},{username:"KP",avatar:"user3",content:".rah 心理学 @PL",send:!0},{content:`由代骰: +悄悄进行了一项心理学检定`}]})]),_:1}),o(l,{label:"KP 收到的私聊信息"},{default:n(()=>[o(a,{messages:[{content:`来自群<跑团群>(群号)的暗中检定: +的"心理学"检定结果为:D100=70/70 成功`}]})]),_:1})]),_:1})]),ct,t("div",st,[nt,o(a,{messages:[{content:".rav 侦查+10 @Szz",send:!0},{content:`对抗检定: +木落 侦查+10-> 属性值:35 判定值:3 极难成功 +Szz 侦查+10-> 属性值:90 判定值:23 困难成功 +木落胜出!`}]})]),lt,dt,it,t("div",rt,[ht,o(a,{messages:[{content:".rav 潜行,b 侦查 @Szz",send:!0},{content:`对抗检定: +木落 潜行-> 属性值:20 判定值:7[[D100=97, 奖励 0]] 困难成功 +Szz 侦查-> 属性值:80 判定值:28 困难成功 +平手!请自行根据场景(如属性比较、攻击对反击,攻击对闪避)做出判断`}]})]),_t,t("div",pt,[ut,o(a,{messages:[{content:".sc 1/1D4+1",send:!0},{content:`<木落>的理智检定: +d100=9/60 极难成功 +理智变化: 60 ➯ 59 (扣除1=1点)`}]})]),bt,t("div",mt,[kt,o(a,{messages:[{content:".sc 0/1 @Szz",send:!0},{content:`由<木落>代骰: +的理智检定: +d100=82/60 失败! +理智变化: 60 ➯ 59 (扣除1=1点)`}]})]),gt,t("div",Pt,[ft,o(a,{messages:[{content:".coc 2",send:!0},{content:`<木落>的七版COC人物作成: +力量:65 敏捷:80 意志:55 +体质:50 外貌:45 教育:90 +体型:70 智力:75 +HP:12 幸运:45 [530/575] + +力量:40 敏捷:60 意志:65 +体质:60 外貌:75 教育:60 +体型:50 智力:75 +HP:11 幸运:55 [485/540]`}]})]),qt])}const It=r(p,[["render",Tt]]);export{Vt as __pageData,It as default}; diff --git a/assets/use_coc7.md.DcNKhDK7.lean.js b/assets/use_coc7.md.DcNKhDK7.lean.js new file mode 100644 index 000000000..aaa76cb09 --- /dev/null +++ b/assets/use_coc7.md.DcNKhDK7.lean.js @@ -0,0 +1,36 @@ +import{_ as r,D as s,c as h,j as t,a as e,I as o,w as n,a8 as c,o as _}from"./chunks/framework.C7ysi3tu.js";const Vt=JSON.parse('{"title":"克苏鲁的呼唤 7 版","description":"","frontmatter":{"lang":"zh-cn","title":"克苏鲁的呼唤 7 版"},"headers":[],"relativePath":"use/coc7.md","filePath":"use/coc7.md","lastUpdated":1718381802000}'),p={name:"use/coc7.md"},u=c("",18),b=t("code",null,".st <角色名>-<属性><表达式>",-1),m=t("code",null,".nn",-1),k=c("",6),g={class:"info custom-block"},P=t("p",{class:"custom-block-title"},"示例",-1),f=t("h3",{id:"导出属性值",tabindex:"-1"},[e("导出属性值 "),t("a",{class:"header-anchor",href:"#导出属性值","aria-label":'Permalink to "导出属性值"'},"​")],-1),q=t("p",null,[t("code",null,".st export")],-1),T=t("p",null,"将保存的属性数值以 st 指令格式列出,可以直接复制到其他骰子使用。",-1),v=t("h3",{id:"代骰",tabindex:"-1"},[e("代骰 "),t("a",{class:"header-anchor",href:"#代骰","aria-label":'Permalink to "代骰"'},"​")],-1),x=t("p",null,"以上功能均可以通过附加 @其他人 来操作对方的属性值。",-1),S={class:"info custom-block"},z=t("p",{class:"custom-block-title"},"示例",-1),C=c("",7),A={class:"info custom-block"},D=t("p",{class:"custom-block-title"},"示例",-1),V=t("p",null,"假设角色的侦查技能是40",-1),I=t("h3",{id:"多轮检定",tabindex:"-1"},[e("多轮检定 "),t("a",{class:"header-anchor",href:"#多轮检定","aria-label":'Permalink to "多轮检定"'},"​")],-1),N=t("p",null,[t("code",null,".ra <次数># <属性表达式>")],-1),B=t("p",null,"重复进行指定次数的相同检定。",-1),E={class:"info custom-block"},R=t("p",{class:"custom-block-title"},"示例",-1),y=t("h3",{id:"要求一定难度的检定",tabindex:"-1"},[e("要求一定难度的检定 "),t("a",{class:"header-anchor",href:"#要求一定难度的检定","aria-label":'Permalink to "要求一定难度的检定"'},"​")],-1),K=t("p",null,[t("code",null,".ra <难度><属性表达式>")],-1),L=t("p",null,[e("进行检定,但只有成功等级达到要求的难度才判定为成功。可以指定的难度有 "),t("code",null,"困难"),e("(当前判定线的二分之一)、"),t("code",null,"极难"),e("(当前判定线的五分之一)、"),t("code",null,"大成功"),e("(根据当前房规确定)")],-1),w={class:"info custom-block"},$=t("p",{class:"custom-block-title"},"示例",-1),H=t("p",null,"假设角色的侦查技能是40",-1),O=t("h3",{id:"奖励骰和惩罚骰",tabindex:"-1"},[e("奖励骰和惩罚骰 "),t("a",{class:"header-anchor",href:"#奖励骰和惩罚骰","aria-label":'Permalink to "奖励骰和惩罚骰"'},"​")],-1),j=t("p",null,[t("code",null,".ra (b|p)[<个数>] <属性表达式>")],-1),J=t("p",null,[e("进行检定,并且使用指定个数(如果不指定,为 1 个)的奖励骰("),t("code",null,"b"),e(")或惩罚骰("),t("code",null,"p"),e(")。")],-1),U={class:"info custom-block"},F=t("p",{class:"custom-block-title"},"示例",-1),G=t("h3",{id:"代骰-1",tabindex:"-1"},[e("代骰 "),t("a",{class:"header-anchor",href:"#代骰-1","aria-label":'Permalink to "代骰"'},"​")],-1),M=t("p",null,[e("以上功能均可以通过附加 "),t("code",null,"@其他人"),e(" 来使用对方的技能进行检定。")],-1),Q={class:"info custom-block"},W=t("p",{class:"custom-block-title"},"示例",-1),X=t("p",null,"假定 Szz 的侦查技能是80",-1),Y=t("h3",{id:"以上功能可以组合使用",tabindex:"-1"},[e("以上功能可以组合使用 "),t("a",{class:"header-anchor",href:"#以上功能可以组合使用","aria-label":'Permalink to "以上功能可以组合使用"'},"​")],-1),Z={class:"info custom-block"},tt=t("p",{class:"custom-block-title"},"示例",-1),et=c("",6),ot={class:"info custom-block"},at=t("p",{class:"custom-block-title"},"示例",-1),ct=c("",6),st={class:"info custom-block"},nt=t("p",{class:"custom-block-title"},"示例",-1),lt=t("h3",{id:"使用不同技能对抗",tabindex:"-1"},[e("使用不同技能对抗 "),t("a",{class:"header-anchor",href:"#使用不同技能对抗","aria-label":'Permalink to "使用不同技能对抗"'},"​")],-1),dt=t("p",null,[t("code",null,".rav <自己的属性表达式> <对手的属性表达式> @对手")],-1),it=t("p",null,"使用自己的一个属性/技能对抗对手的另一属性/技能,或者相同属性/技能应用不同调整值。",-1),rt={class:"info custom-block"},ht=t("p",{class:"custom-block-title"},"示例",-1),_t=c("",9),pt={class:"info custom-block"},ut=t("p",{class:"custom-block-title"},"示例",-1),bt=c("",8),mt={class:"info custom-block"},kt=t("p",{class:"custom-block-title"},"示例",-1),gt=c("",26),Pt={class:"info custom-block"},ft=t("p",{class:"custom-block-title"},"示例",-1),qt=c("",12);function Tt(vt,xt,St,zt,Ct,At){const d=s("Badge"),a=s("ChatBox"),l=s("PluginTabsTab"),i=s("PluginTabs");return _(),h("div",null,[u,t("p",null,[e("从 "),o(d,{type:"tip",text:"v1.4.2"}),e(" 开始,海豹核心兼容了简化卡格式 "),b,e(",这相当于分别使用 "),m,e(" 指令设置角色名,然后设定属性值。")]),k,t("div",g,[P,o(a,{messages:[{content:".st &手枪伤害=1d6+1",send:!0},{content:"<木落>的coc7属性录入完成,本次录入了1条数据"},{content:".r 手枪伤害",send:!0},{content:"<木落>掷出了 手枪伤害=[手枪伤害=5[1d6=5] + 1]=6"}]})]),f,q,T,v,x,t("div",S,[z,o(a,{messages:[{content:".st 侦查80 @Szz",send:!0},{content:`由<木落>代骰: +的coc7属性录入完成,本次录入了1条数据`},{content:".st hp-1 @Szz",send:!0},{content:`由<木落>代骰: +的属性变化: +生命值: 10 ➯ 9 (扣除-1=-1)`},{content:".st show hp @Szz",send:!0},{content:`由<木落>代骰: +的个人属性为: +生命值:9/10`}]})]),C,t("div",A,[D,V,o(a,{messages:[{content:".ra 侦查",send:!0},{content:'<木落>的"侦查"检定结果为: D100=64/40 失败'},{content:".ra 侦查+10",send:!0},{content:'<木落>的"侦查"检定结果为: D100=15/50 困难成功'},{content:".ra 侦查99",send:!0},{content:'<木落>的"侦查"检定结果为: D100=30/99 困难成功'}]})]),I,N,B,t("div",E,[R,o(a,{messages:[{content:".ra 3# 侦查",send:!0},{content:`对<木落>的"侦查"进行了3次检定,结果为: +D100=87/40 失败 +D100=24/40 成功 +D100=1/40 大成功`}]})]),y,K,L,t("div",w,[$,H,o(a,{messages:[{content:".ra 困难侦查+10",send:!0},{content:'<木落>的"困难侦查+10"检定结果为: D100=30/25 失败'}]})]),O,j,J,t("div",U,[F,o(a,{messages:[{content:".ra b2 侦查",send:!0},{content:'<木落>的"侦查"检定结果为: b2=1/40, ([D100=51, 奖励 0 2]) 大成功!'}]})]),G,M,t("div",Q,[W,X,o(a,{messages:[{content:".ra 侦查 @Szz",send:!0},{content:`由<木落>代骰: +的"侦查"检定结果为: D100=65/80 成功`}]})]),Y,t("div",Z,[tt,o(a,{messages:[{content:".ra 3# p 困难侦查+10 @Szz",send:!0},{content:`由<木落>代骰: +对的"困难侦查+10"进行了3次检定,结果为: +p=36/45, ([D100=16, 惩罚 3]) 成功 +p=91/45, ([D100=91, 惩罚 8]) 失败 +p=75/45, ([D100=5, 惩罚 7]) 失败`}]})]),et,t("div",ot,[at,o(i,null,{default:n(()=>[o(l,{label:"跑团群"},{default:n(()=>[o(a,{messages:[{username:"PL",avatar:"user1",content:"我要对这个 NPC 使用心理学"},{username:"KP",avatar:"user3",content:"可以",send:!0},{username:"KP",avatar:"user3",content:".rah 心理学 @PL",send:!0},{content:`由代骰: +悄悄进行了一项心理学检定`}]})]),_:1}),o(l,{label:"KP 收到的私聊信息"},{default:n(()=>[o(a,{messages:[{content:`来自群<跑团群>(群号)的暗中检定: +的"心理学"检定结果为:D100=70/70 成功`}]})]),_:1})]),_:1})]),ct,t("div",st,[nt,o(a,{messages:[{content:".rav 侦查+10 @Szz",send:!0},{content:`对抗检定: +木落 侦查+10-> 属性值:35 判定值:3 极难成功 +Szz 侦查+10-> 属性值:90 判定值:23 困难成功 +木落胜出!`}]})]),lt,dt,it,t("div",rt,[ht,o(a,{messages:[{content:".rav 潜行,b 侦查 @Szz",send:!0},{content:`对抗检定: +木落 潜行-> 属性值:20 判定值:7[[D100=97, 奖励 0]] 困难成功 +Szz 侦查-> 属性值:80 判定值:28 困难成功 +平手!请自行根据场景(如属性比较、攻击对反击,攻击对闪避)做出判断`}]})]),_t,t("div",pt,[ut,o(a,{messages:[{content:".sc 1/1D4+1",send:!0},{content:`<木落>的理智检定: +d100=9/60 极难成功 +理智变化: 60 ➯ 59 (扣除1=1点)`}]})]),bt,t("div",mt,[kt,o(a,{messages:[{content:".sc 0/1 @Szz",send:!0},{content:`由<木落>代骰: +的理智检定: +d100=82/60 失败! +理智变化: 60 ➯ 59 (扣除1=1点)`}]})]),gt,t("div",Pt,[ft,o(a,{messages:[{content:".coc 2",send:!0},{content:`<木落>的七版COC人物作成: +力量:65 敏捷:80 意志:55 +体质:50 外貌:45 教育:90 +体型:70 智力:75 +HP:12 幸运:45 [530/575] + +力量:40 敏捷:60 意志:65 +体质:60 外貌:75 教育:60 +体型:50 智力:75 +HP:11 幸运:55 [485/540]`}]})]),qt])}const It=r(p,[["render",Tt]]);export{Vt as __pageData,It as default}; diff --git a/assets/use_core.md.CDav3pOf.js b/assets/use_core.md.CDav3pOf.js new file mode 100644 index 000000000..f1c251a41 --- /dev/null +++ b/assets/use_core.md.CDav3pOf.js @@ -0,0 +1,47 @@ +import{_ as i,D as a,c as _,j as t,I as e,w as s,a as o,a8 as c,o as p}from"./chunks/framework.C7ysi3tu.js";const de=JSON.parse('{"title":"核心指令","description":"","frontmatter":{"lang":"zh-cn","title":"核心指令"},"headers":[],"relativePath":"use/core.md","filePath":"use/core.md","lastUpdated":1718381802000}'),h={name:"use/core.md"},u=c('

核心指令

本节内容

本节将介绍海豹核心的核心指令。

核心指令是无法被关闭的指令。与之相对的概念是扩展指令,扩展指令可以被关闭。

.master 骰主指令

此指令只能由具有 Master 权限的用户使用。

.master add @A 为 A 添加 Master 权限。

.master del @A 移除 A 的 Master 权限。

.master list 查看当前 Master 权限列表。

.master relogin 30 秒后重新登录,有可能使骰子失联。

.master reboot 重新启动海豹核心(需要二次确认)。

.master checkupdate 检查并进行远程更新(需要二次确认)。

.master unlock <解锁码> 清空 Master 权限列表,并给自己重新添加 Master 权限。

.master backup 做一次备份。

.master reload (deck|js|helpdoc) 重新加载牌堆/js/帮助文档。

.master quitgroup <群组 ID> [<理由>] 从指定群组中退出,必须在同一平台使用。

注意:保护好你的骰子

我们认为,拥有海豹核心的最终判定方式是可以接触到 WebUI。因此,该解锁码仅能通过 WebUI 的「综合设置 - 基本设置」获取。

你可以将 Master 权限授予若干位维护人员。但是,确保只有你完全信任的人能够接触到你骰子的 WebUI 与本地文件。

如果你的 WebUI 可以通过公开互联网访问,确保你设置了合适的密码。

.ban 黑白名单指令

注意:统一 ID

在海豹核心的指令和后台设置中,你会经常用到统一 ID。这是海豹核心用于标识不同平台的用户和群组的通用格式。对于每个用户,其形式为 平台:序列号;对于群组,其形式为 平台-Group:序列号

使用 .userid 指令查看自己和所在群聊的统一 ID。

在 QQ 平台,序列号即为 QQ 号与群号。

.ban help 查看帮助。

.ban add <统一 ID> [<原因>] 使用统一 ID,将指定用户拉入黑名单,理由可不填。

.ban trust <统一 ID> 使用统一 ID,将指定用户添加至信任列表。

.ban rm <统一 ID> 使用统一 ID,将指定用户移出黑名单/信任列表。

.ban list 展示列表。

.ban list (ban|warn|trust) 只显示被禁用/被警告/信任用户。

.ban query <统一 ID> 查看指定用户黑白名单情况。

.bot 骰子管理

你必须 AT 骰子账号,才能使用 bot 命令。为了简单,在以下示例中略去 AT 的部分。

',26),b={class:"info custom-block"},m=t("p",{class:"custom-block-title"},"示例",-1),g=c('

.ext 扩展管理

除了本节所述的「核心指令」之外,海豹的其他功能都作为「扩展」提供。每一个扩展提供若干指令和其他功能,并可以单独开关。你可在每个群聊中启用不同的扩展。

.ext list 查看扩展列表和开启情况。

.ext <扩展名> 查询指定扩展的信息。

.ext <扩展名> (on|off) 开启、关闭指定扩展。

目前,海豹提供 7 个内置扩展,它们的详细信息在本章的后续内容中逐一介绍。同时,海豹核心也支持通过装载 JavaScript 脚本添加第三方扩展。

',6),f={class:"info custom-block"},k=t("p",{class:"custom-block-title"},"示例",-1),T=c('

可以在 UI 界面中「综合设置 - 基本设置」的最底下,设置各个扩展及其指令的默认开启状态。

.set 骰子面数管理

海豹默认骰子面数为100,你可以通过以下指令在 coc/dnd 规则中切换,更多规则请看其它规则支持

.set info 查看当前面数设置。

.set <面数> 设置群内骰子面数。

.set dnd 设置群内骰子面数为20,并自动开启对应扩展。

.set (coc|coc7) 设置群内骰子面数为100,并自动开启对应扩展。

.set clr 清除群内骰子面数设置。

.r 骰点

.r <表达式> [<原因>]

别名:.roll

常用示例

',12),x={class:"info custom-block"},P=t("p",{class:"custom-block-title"},"示例",-1),A=t("p",null,[o("或许你已注意到,"),t("code",null,".r"),o(" 指令的表达式在不包含骰子算符时,相当于计算器。海豹的计算只支持整数,出现的小数被立即舍弃。")],-1),C=t("h3",{id:"多轮骰点",tabindex:"-1"},[o("多轮骰点 "),t("a",{class:"header-anchor",href:"#多轮骰点","aria-label":'Permalink to "多轮骰点"'},"​")],-1),D={class:"info custom-block"},v=t("p",{class:"custom-block-title"},"示例",-1),I=t("h3",{id:"在骰点中使用属性值",tabindex:"-1"},[o("在骰点中使用属性值 "),t("a",{class:"header-anchor",href:"#在骰点中使用属性值","aria-label":'Permalink to "在骰点中使用属性值"'},"​")],-1),S=t("p",null,"你可在表达式中包含属性值或其他变量。",-1),q={class:"info custom-block"},V=t("p",{class:"custom-block-title"},"示例",-1),N=t("p",null,"此时木落的侦查技能点是 53",-1),B=t("h3",{id:"奖励骰与惩罚骰",tabindex:"-1"},[o("奖励骰与惩罚骰 "),t("a",{class:"header-anchor",href:"#奖励骰与惩罚骰","aria-label":'Permalink to "奖励骰与惩罚骰"'},"​")],-1),M=t("p",null,"CoC 规则中,对于百分骰的一种补偿骰法,通过额外骰一定数量的十位骰,选择组成的最好结果或最坏结果。",-1),y={class:"info custom-block"},E=t("p",{class:"custom-block-title"},"示例",-1),R=t("h3",{id:"优势骰与劣势骰",tabindex:"-1"},[o("优势骰与劣势骰 "),t("a",{class:"header-anchor",href:"#优势骰与劣势骰","aria-label":'Permalink to "优势骰与劣势骰"'},"​")],-1),O=t("p",null,"D&D 规则中对 20 面骰的一种补偿骰法。额外骰一次,取较高或较低结果。",-1),Y={class:"info custom-block"},w=t("p",{class:"custom-block-title"},"示例",-1),W=t("p",null,"优势骰与劣势骰也可使用通用的表达式表达",-1),Z={class:"info custom-block"},U=t("p",{class:"custom-block-title"},"示例",-1),X=t("h3",{id:"fvtt-骰点兼容",tabindex:"-1"},[o("fvtt 骰点兼容 "),t("a",{class:"header-anchor",href:"#fvtt-骰点兼容","aria-label":'Permalink to "fvtt 骰点兼容"'},"​")],-1),z={class:"info custom-block"},Q=t("p",{class:"custom-block-title"},"示例",-1),$=t("p",null,"骰 4 个排除 1 个最低值:",-1),j=t("p",null,"骰 4 个排除 1 个最高值:",-1),L=t("h3",{id:"fate-命运骰",tabindex:"-1"},[o("fate 命运骰 "),t("a",{class:"header-anchor",href:"#fate-命运骰","aria-label":'Permalink to "fate 命运骰"'},"​")],-1),J=t("p",null,"一种特殊的六面骰,六个面分别为 -、-、0、0、+、+,分别代表 -1、0、1。",-1),F=t("p",null,"骰点时投掷 4 次,加在一起为结果。",-1),G={class:"info custom-block"},H=t("p",{class:"custom-block-title"},"示例",-1),K=c('

WOD 骰点

WOD 骰点规则是一个多轮骰点规则,国内多见于无限团。

进行 WOD 骰点需要设定以下参数:骰池数量 X、加骰线 Y、骰子面数 Z、成功线 N,其中 X Y 是必须的,成功线默认为 8,骰子面数默认为 10。

骰 X 个 Z 面骰,每有一个大于等于成功线 N 的骰,成功数加 1,每有一个大于等于加骰线 Y 的骰,加骰数加 1,进入下一轮。

在第二轮中,骰上一轮中加骰数个 Z 面骰,重复进行计算。以此类推。

最后计算总计成功数。

表达式形如 <X>a<Y>[m<Z>][k<N>]。其中的大写字母用相应参数替换。

',7),tt={class:"info custom-block"},et=t("p",{class:"custom-block-title"},"示例",-1),ot=c("

在计算过程中,每一轮骰点被包含在一对花括号 {} 中;达到加骰线 Y 的骰点用 <> 标记;达到成功线 N 的骰点用 * 标记。

你可指定 Y = 0,这时不进行加骰而只骰一轮。

你可将 k<N> 替换成 q<M>,这时,最终计算的是小于等于 M的骰子总数。

",3),nt={class:"info custom-block"},ct=t("p",{class:"custom-block-title"},"示例",-1),st=c('

双十字骰点

双十字规则是一种多轮的骰点规则。

进行双十字骰点需要设定以下参数:骰池数量 X、暴击线 Y、骰子面数 Z,其中 X Y 是必须的,骰子面数 Z 默认为 10。

骰 X 个 Z 面骰,出目大于等于暴击线的骰子称为此骰子「暴击」。只要存在暴击的骰子,就称本轮暴击,进入下一轮;否则计算最终骰点。

第二轮中,骰 上一轮中暴击的骰子数 个 Z 面骰,统计暴击数,判断进入下一轮或结束。以此类推。

最终的骰点结果为:暴击轮数 * 10 + 最后一轮中最大点数。

表达式形如 <X>c<Y>[m<Z>]。其中的大写字母用相应参数替换。

',7),dt={class:"info custom-block"},at=t("p",{class:"custom-block-title"},"示例",-1),lt=t("p",null,[o("在计算过程中,每一轮骰点被包含在一对花括号 "),t("code",null,"{}"),o(" 中;达到暴击线 Y 的骰点用 "),t("code",null,"<>"),o(" 标记。")],-1),rt=t("h3",{id:"混合运算",tabindex:"-1"},[o("混合运算 "),t("a",{class:"header-anchor",href:"#混合运算","aria-label":'Permalink to "混合运算"'},"​")],-1),it=t("p",null,[o("以上所有骰法,加、减、乘、除、乘方等 5 个数学运算,以及括号 "),t("code",null,"()"),o(" 可以被组合使用,以进行更复杂的运算。")],-1),_t={class:"info custom-block"},pt=t("p",{class:"custom-block-title"},"示例",-1),ht=c("

特别地,上文所述的「骰法」d b p f a c 均可作为运算符使用。

",1),ut={class:"info custom-block"},bt=t("p",{class:"custom-block-title"},"示例",-1),mt=c('

.rh 暗骰

这个指令的格式与普通骰点 .r 完全相同,区别在于发送骰点结果的方式。

在发送指令的群聊中,海豹核心会进行提示,但提示不包含骰点结果。

骰点结果将由海豹核心私聊给指令发送者。

收不到结果?

在 QQ 平台上,如果你不是海豹账号的好友,将无法进行私聊。也就无法收到暗骰结果。

',5),gt={class:"info custom-block"},ft=t("p",{class:"custom-block-title"},"示例",-1),kt=t("h2",{id:"rx-rxh-特殊骰点",tabindex:"-1"},[t("code",null,".rx"),o(" / "),t("code",null,".rxh"),o(" 特殊骰点 "),t("a",{class:"header-anchor",href:"#rx-rxh-特殊骰点","aria-label":'Permalink to "`.rx` / `.rxh` 特殊骰点"'},"​")],-1),Tt=t("p",null,[o("这个指令的格式与普通骰点 "),t("code",null,".r"),o(" 完全相同,区别在于允许额外 AT 其他人,以使用对方的属性。")],-1),xt=t("p",null,"这种操作称为「代骰」,你会在许多其他指令中看到代骰用法。",-1),Pt={class:"info custom-block"},At=t("p",{class:"custom-block-title"},"示例",-1),Ct=t("p",null,"此时木落的侦查是 75,Szz 的侦查是 80",-1),Dt=c('

.nn 角色名设定

.nn 查看当前角色名。

.nn <角色名> 修改角色名,角色名中不能带有空格。

.nn clr 重置角色名,即,将角色名设置为 IM 平台的昵称。

角色名被用于在进行各种操作和记录 Log 时显示。

',5),vt={class:"info custom-block"},It=t("p",{class:"custom-block-title"},"示例",-1),St=c('

.pc 角色卡管理

信息

为了使用这个指令,需要先介绍海豹核心管理你角色卡的方式。

在每个群聊(对于这里,私聊也被认为是一个特殊的群聊)中,你都自动拥有一张独立的角色卡。这些角色卡互相无任何影响。

你还可以拥有若干与特定群聊无关的角色卡,这些角色卡可以被绑定到任意数量的群聊。这时,绑定的群聊中角色数据互相同步,在一处的修改就会影响其他各处。

pc 指令的作用是管理上述第二种群聊无关角色卡。

.pc new <角色名> 新建一张角色卡,并绑定到当前群聊。

.pc save [<角色名>] 将你当前群聊中的独立卡数据保存为个人角色卡。你可指定保存的角色名,如不指定,将使用当前群聊中你的角色名。

.pc list 列出你所保存的所有角色。

.pc tag (<角色名>|<角色序号>) 将指定角色卡绑定到当前群聊。

.pc tag 不带有角色名参数,将本群的绑定关系解除。你在本群的角色将会恢复为独立卡的数据。

.pc untagAll (<角色名>|<角色序号>) 将指定角色卡从其绑定的所有群解绑。

.pc load (<角色名>|<角色序号>) 使用指定角色卡的数据覆盖当前群聊的独立卡。这不会将角色卡绑定到当前群聊。

.pc del/rm (<角色名>|<角色序号>) 删除指定角色卡。

.find 词条查询指令

海豹核心默认搭载了 CoC 的《怪物之锤》、《魔法大典》和 D&D 规则的一系列资料。这些资料在海豹的 data/helpdpc 目录下的不同文件中被整理成词条,并支持使用此指令进行查询。

.find [#<分组名>] <关键字> [--num=<页大小>] [--page=<页码>] 用关键字进行词条查询;如果提供了分组名,则只在指定分组中进行查询;可指定每页大小和页码,默认为每页 4 条,显示第 1 页。

「分组名」是指海豹 data/helpdoc 目录下的子目录名。对于内置的帮助文档,分组名分别是「COC」和「DND」。

.find <数字ID> 显示该 ID 的词条。

.find --rand 显示随机词条。

别名:.查询

查询功能在不同设备上的实现是不同的。在 x86 设备上,海豹核心使用稍微更多的内存使用全文搜索,这赋予了查询指令强大的获取能力。在其他平台上,由于搜索库的限制,海豹核心使用词条标题模糊搜索。

',18),qt={id:"指定默认查询分组",tabindex:"-1"},Vt=t("a",{class:"header-anchor",href:"#指定默认查询分组","aria-label":'Permalink to "指定默认查询分组 "'},"​",-1),Nt=t("p",null,[t("code",null,".find config --group"),o(" 查看当前群组的默认查询分组。")],-1),Bt=t("p",null,[t("code",null,".find config --group=<分组名>"),o(" 设置当前群组的默认查询分组。")],-1),Mt=t("p",null,[t("code",null,".find config --groupclr"),o(" 清除当前群组的默认查询分组。")],-1),yt={class:"info custom-block"},Et=t("p",{class:"custom-block-title"},"示例",-1),Rt=t("h3",{id:"全文搜索",tabindex:"-1"},[o("全文搜索 "),t("a",{class:"header-anchor",href:"#全文搜索","aria-label":'Permalink to "全文搜索"'},"​")],-1),Ot={class:"info custom-block"},Yt=t("p",{class:"custom-block-title"},"示例",-1),wt=t("p",null,"因为多个文本匹配度相近,因此没有列出最佳匹配条目的正文内容。用这条指令可以查看:",-1),Wt={class:"info custom-block"},Zt=t("p",{class:"custom-block-title"},"示例",-1),Ut=t("p",null,[t("strong",null,"这么好用,那代价是什么呢?")],-1),Xt=t("p",null,"更多的内存占用和变慢的启动速度。",-1),zt=t("p",null,[o("大致来说,"),t("strong",null,"每 1 MB 帮助文本会产生约 15 MB 额外内存占用"),o("。")],-1),Qt=t("h3",{id:"快速文档查找",tabindex:"-1"},[o("快速文档查找 "),t("a",{class:"header-anchor",href:"#快速文档查找","aria-label":'Permalink to "快速文档查找"'},"​")],-1),$t={class:"info custom-block"},jt=t("p",{class:"custom-block-title"},"示例",-1),Lt=c('

致谢

CoC《怪物之锤》的整理者为:蜜瓜包October

CoC 魔法大典的整理者为:魔骨NULLDr.Amber

D&D 系列资料的整理者主要为 DicePP 项目组成员,包括Farevell梨子花作噫邪恶惠惠赵小安等。

这些资料的原始出处和译者很多已经不可考,此处无法一一列出,甚为遗憾。

也在此感谢一代又一代无名作者和译者做出的工作。

.help 帮助指令

.help [<词条名>] 显示指定词条的帮助文档。

.help reload 重新装载帮助文档。仅 Master 可用。

.set 设定默认骰子面数 / 设定游戏系统

.set info 查看当前默认骰子面数。如果从未设置过,将显示为「0」。

.set dnd 设置群内骰子面数为 20,并自动开启 D&D 扩展。

.set (coc|coc7) 设置群内骰子面数为 100,并自动开启 CoC 扩展。

.set <面数> 设定群内默认骰子面数。

.set <面数> --my 设定个人专属默认骰子面数。

.set clr 清除群内骰子面数设置。

.set clr --my 清除个人骰子面数设置。

如果通过「规则模板」机制添加了自设规则,并有相关配置,可以使用 .set <规则名> 切换为对应规则的默认骰面数。你可以通过 .set help 来查看当前可用的关键字。

',18),Jt={class:"info custom-block"},Ft=t("p",{class:"custom-block-title"},"示例",-1),Gt=c('

.botlist 机器人列表

这个指令用于标记同一群聊内的其他机器人。

当一个账号被标记后,对于与 TA 相关的消息,海豹核心会按以下规则进行忽略:

  1. 如果 TA 被 AT,忽略;
  2. 如果是 TA 发出的消息,忽略。

这可避免机器人互相响应造成的危险的循环。

.botlist add @A @B @C 标记 A、B、C 为机器人。

.botlist add @A @B --s 同上,不过骰子不会做出回复。

.botlist del @A @B @C 去除 A、B、C 的标记。

.botlist list 查看当前标记列表。

',9);function Ht(Kt,te,ee,oe,ne,ce){const n=a("ChatBox"),d=a("PluginTabsTab"),l=a("PluginTabs"),r=a("Badge");return p(),_("div",null,[u,t("div",b,[m,e(n,{messages:[{content:".bot on",send:!0},{content:"<海豹bot> 已启用 SealDice <版本号>"},{content:".bot off",send:!0},{content:"<海豹bot> 停止服务"},{content:".bot bye",send:!0},{content:"收到指令,5s后将退出当前群组"},{content:".bot",send:!0},{content:"SealDice <版本号>"}]})]),g,t("div",f,[k,e(n,{messages:[{content:".ext",send:!0},{content:`检测到以下扩展: +1. [开]coc7 - 版本:1.0.0 作者:木落 +2. [开]log - 版本:1.0.0 作者:木落 +3. [开]fun - 版本:1.0.0 作者:木落 +4. [开]deck - 版本:1.0.0 作者:木落 +5. [关]reply - 版本:1.0.0 作者:木落 +6. [开]dnd5e - 版本:1.0.0 作者:木落 +7. [开]story - 版本:1.0.0 作者:木落 +使用命令: .ext <扩展名> on/off 可以在当前群开启或关闭某扩展。 +命令: .ext <扩展名> 可以查看扩展介绍及帮助`},{content:".ext coc7 on",send:!0},{content:"打开扩展 coc7"},{content:".ext reply",send:!0},{content:`> [reply] 版本1.2.0 作者木落 +> 自定义回复模块,支持各种文本匹配和简易脚本`},{content:".ext reply off",send:!0},{content:"关闭扩展 reply"}]})]),T,t("div",x,[P,e(n,{messages:[{content:".r",send:!0},{content:"<木落>掷出了 D100=69"},{content:".r d50",send:!0},{content:"<木落>掷出了 d50=[1d50=48]=48"},{content:".r d50 天气不错",send:!0},{content:"由于天气不错,<木落>掷出了 d50=[1d50=4]=4"},{content:".r 5d24 骰5个24面骰",send:!0},{content:"由于骰5个24面骰,<木落>掷出了 5d24=[5d24=60, 7+20+15+1+17]=60"},{content:".r 4d6k3 骰4个6面骰,选3个最大的",send:!0},{content:"由于骰4个6面骰,选3个最大的,<木落>掷出了 4d6k3=[{6 5 3 | 1 }]=14"},{content:".r 100 + 3 * 2",send:!0},{content:"<木落>掷出了 100 + 3 * 2=100 + 6=106"}]})]),A,C,t("div",D,[v,e(n,{messages:[{content:".r 2#d10",send:!0},{content:`<木落>掷骰2次: +d10=[1d10=7]=7 +d10=[1d10=8]=8`}]})]),I,S,t("div",q,[V,N,e(n,{messages:[{content:".r 侦查+10",send:!0},{content:"<木落>掷出了 侦查+10=53[侦查=53] + 10=63"}]})]),B,M,t("div",y,[E,e(n,{messages:[{content:".r b",send:!0},{content:"<木落>掷出了 b=[D100=72, 奖励 4]=42"},{content:".r b3",send:!0},{content:"<木落>掷出了 b3=[D100=96, 奖励 4 6 3]=36"},{content:".r p4 惩罚骰",send:!0},{content:"由于惩罚骰,<木落>掷出了 p4=[D100=27, 惩罚 5 6 8 7]=87"}]})]),R,O,t("div",Y,[w,e(n,{messages:[{content:".set 20",send:!0},{content:"设定默认骰子面数为 20"},{content:".r d20优势",send:!0},{content:"<木落>掷出了 d20优势=[{7 | 6 }]=7"},{content:".r d劣势",send:!0},{content:"<木落>掷出了 d劣势=[{16 | 18 }]=16"}]})]),W,t("div",Z,[U,e(n,{messages:[{content:".r 2d20k1 等于优势骰",send:!0},{content:"由于等于优势骰,<木落>掷出了 2d20k1=[{19 | 17 }]=19"},{content:".r 2d20q1 等于劣势骰",send:!0},{content:"由于等于劣势骰,<木落>掷出了 2d20k1=[{19 | 17 }]=17"}]})]),X,t("div",z,[Q,e(l,null,{default:s(()=>[e(d,{label:"优势骰"},{default:s(()=>[e(n,{messages:[{content:".r d20kh",send:!0},{content:"<木落>掷出了 d20kh=[{10 | 3 }]=10"}]})]),_:1}),e(d,{label:"劣势骰"},{default:s(()=>[e(n,{messages:[{content:".r d20kl",send:!0},{content:"<木落>掷出了 d20kl=[{6 | 15 }]=6"}]})]),_:1}),e(d,{label:"排除低值"},{default:s(()=>[$,e(n,{messages:[{content:".r 4d6dl1",send:!0},{content:"<木落>掷出了 4d6dl1=[{5 3 2 | 1 }]=10"}]})]),_:1}),e(d,{label:"排除高值"},{default:s(()=>[j,e(n,{messages:[{content:".r 4d6dh1",send:!0},{content:"<木落>掷出了 4d6dh1=[{3 3 5 | 6 }]=11"}]})]),_:1})]),_:1})]),L,J,F,t("div",G,[H,e(l,null,{default:s(()=>[e(d,{label:"一般使用"},{default:s(()=>[e(n,{messages:[{content:".r f",send:!0},{content:"<木落>掷出了 f=[---+]=-2"}]})]),_:1}),e(d,{label:"带补正的情况"},{default:s(()=>[e(n,{messages:[{content:".r f+1",send:!0},{content:"<木落>掷出了 f+1=0[+0-0] + 1=1"}]})]),_:1})]),_:1})]),K,t("div",tt,[et,e(n,{messages:[{content:".r 5a6",send:!0},{content:"<木落>掷出了 5a6=[成功2/8 轮数:3 {4,<10*>,<10*>,5,1},{5,<6>},{1}]=2"},{content:".r 10a6k4m9",send:!0},{content:"<木落>掷出了 10a6k4m9=[成功11/16 轮数:3 {1,<6*>,5*,3,<8*>,5*,<8*>,<6*>,2,<8*>},{5*,2,<9*>,1,4*},{5*}]=11"}]})]),ot,t("div",nt,[ct,e(n,{messages:[{content:".r 5a6q4",send:!0},{content:"<木落>掷出了 5a6q4=[成功4/9 轮数:3 {<9>,5,<9>,3*,<9>},{<10>,3*,2*},{2*}]=4"}]})]),st,t("div",dt,[at,e(n,{messages:[{content:".r 4c3m7",send:!0},{content:"<木落>掷出了 4c3m7=[出目32/9 轮数:4 {<4>,2,<4>,<5>},{<7>,1,2},{<7>},{2}]=32"}]})]),lt,rt,it,t("div",_t,[pt,e(n,{messages:[{content:".r 30 + (-1d20) + 49",send:!0},{content:"<木落>掷出了 30 + (-1d20) + 49=30 + -1[1d20=1] + 49=78"},{content:".r d50 * 3 + 2",send:!0},{content:"<木落>掷出了 d50 * 3 + 2=21[1d50=21] * 3 + 2=65"},{content:".r d50 * 3 + (2 - p2) 多项式",send:!0},{content:"由于多项式,<木落>掷出了 d50 * 3 + (2 - p2)=25[1d50=25] * 3 + -64[D100=6, 惩罚 6 5]=11"}]})]),ht,t("div",ut,[bt,e(n,{messages:[{content:".r 1d1d1d1d1d1d1d1d1d1d1d1d1d1d(20+1d3*4)",send:!0},{content:"<木落>掷出了 1d1d1d1d1d1d1d1d1d1d1d1d1d1d(20+1d3*4)=13"},{content:".r 1d10+(1+32)d(4*6)d20",send:!0},{content:"<木落>掷出了 1d10+(1+32)d(4*6)d20=1[1d10=1] + 3941[33d24=384,384d20=3941]=3942"}]})]),mt,t("div",gt,[ft,e(l,null,{default:s(()=>[e(d,{label:"群聊"},{default:s(()=>[e(n,{messages:[{content:".rh d50",send:!0},{content:"命运正在低语!"}]})]),_:1}),e(d,{label:"收到的私聊"},{default:s(()=>[e(n,{messages:[{content:`来自群<群名>(群号)的暗骰: +<木落>掷出了 d10=[1d10=3]=3`}]})]),_:1})]),_:1})]),kt,Tt,xt,t("div",Pt,[At,Ct,e(n,{messages:[{content:".rx 侦查+1d20**2",send:!0},{content:"<木落>掷出了 侦查+1d20**2=75[侦查=75] + 324[1d20=18]=399"},{content:".rx 侦查+1d20**2 @Szz",send:!0},{content:`由<木落>代骰: +掷出了 侦查+1d20**2=80[侦查=80] + 144[1d20=12]=224`}]})]),Dt,t("div",vt,[It,e(n,{messages:[{content:".nn 简·拉基·茨德",send:!0},{content:"<木落>(IM 账号)的昵称被设定为<简·拉基·茨德>"},{content:".r",send:!0},{content:"<简·拉基·茨德>掷出了 D100=16"},{content:".nn",send:!0},{content:"玩家的当前昵称为: <简·拉基·茨德>"},{content:".nn clr",send:!0},{content:"<简·拉基·茨德>(IM 账号)的昵称已重置为<木落>"}]})]),St,t("p",null,[o("从 "),e(r,{type:"tip",text:"v1.4.2"}),o(" 版本起,你可以在 WebUI 的「扩展功能 - 帮助文档」中设置分组的别名。")]),t("h3",qt,[o("指定默认查询分组 "),e(r,{type:"tip",text:"v1.4.2"}),o(),Vt]),t("p",null,[o("从 "),e(r,{type:"tip",text:"v1.4.2"}),o(" 版本起,海豹支持在每个群组中分别设置默认的查询分组。")]),Nt,Bt,Mt,t("div",yt,[Et,e(n,{messages:[{content:".find config --group=COC",send:!0},{content:"指定默认搜索分组为COC"},{content:".find 火球术",send:!0},{content:"未找到搜索结果"},{content:".find config --groupclr",send:!0},{content:"已清空默认搜索分组,原分组为COC"},{content:".find 火球术",send:!0},{content:`[全文搜索]最优先结果: +词条: PHB法术:火球术`}]})]),Rt,t("div",Ot,[Yt,e(n,{messages:[{content:".find 30尺 法术",send:!0},{content:`全部结果: +[序号3066]【术士:超魔法:远程法术】 匹配度 0.16 +[序号3015]【游侠:驯兽师:法术共享】 匹配度 0.13 +[序号2396]【法术详述:迷踪步】 匹配度 0.12 +[序号1319]【法术详述:阿迦纳萨喷火术】 匹配度 0.12 +[序号507]【法术详述:智能堡垒/智力堡垒/智慧堡垒/智能壁垒/心智堡垒/心智壁垒】 匹配度 0.12 +[序号2514]【法术详述:水下呼吸/水中呼吸】 匹配度 0.11 +[序号2212]【法术详述:原力法阵】 匹配度 0.11 +[序号1403]【法术详述:众星冠冕/星辰冠冕/星之冠冕】 匹配度 0.11 +[序号2243]【法术详述:造水/枯水术/造水术/枯水术】 匹配度 0.11 +[序号2176]【法术详述:秘法眼】 匹配度 0.11 + +(本次搜索由全文搜索完成)`}]})]),wt,t("div",Wt,[Zt,e(n,{messages:[{content:".find 2212",send:!0},{content:`词条: 法术详述:原力法阵 +原力法阵 Circle of Power +圣武士 +5环 防护 +施法时间:1动作 +施法距离:自身(30尺半径) +法术成分:V +持续时间:专注,至多10分钟 +你身上发出神圣能量并以扭曲散溢的魔法能量构成一个半径30尺的球状力场。法术持续时间内力场将以你为中心随你移动。力场范围内的友方生物(包括你自己)为对抗法术或其他魔法效应而进行的豁免检定具有优势。此外,受本法术效应影响的生物在对抗豁免成功则伤害减半的法术或魔法效应时,若成功则不受伤害。`}]})]),Ut,Xt,zt,Qt,t("div",$t,[jt,e(n,{messages:[{content:".find 测试词条",send:!0},{content:`最优先结果: +词条: 测试:测试词条 +他在命运的沉浮中随波逐流, 扮演着受害与加害者的双重角色 + +全部结果: +[序号2]【测试:测试词条】 匹配度 67.00 + +(本次搜索由快速文档查找完成)`}]})]),Lt,t("div",Jt,[Ft,e(n,{messages:[{content:".set 20",send:!0},{content:"设定默认骰子面数为 20"},{content:".set coc",send:!0},{content:`设定群组默认骰子面数为 100 +提示:已切换至100面骰,并自动开启coc7扩展`},{content:".set dnd",send:!0},{content:`设定群组默认骰子面数为 20 +提示:已切换至20面骰,并自动开启dnd5e扩展。`},{content:".set info",send:!0},{content:`个人骰子面数: 0 +群组骰子面数: 20 +当前骰子面数: 20`}]})]),Gt])}const ae=i(h,[["render",Ht]]);export{de as __pageData,ae as default}; diff --git a/assets/use_core.md.CDav3pOf.lean.js b/assets/use_core.md.CDav3pOf.lean.js new file mode 100644 index 000000000..d5cff1b61 --- /dev/null +++ b/assets/use_core.md.CDav3pOf.lean.js @@ -0,0 +1,47 @@ +import{_ as i,D as a,c as _,j as t,I as e,w as s,a as o,a8 as c,o as p}from"./chunks/framework.C7ysi3tu.js";const de=JSON.parse('{"title":"核心指令","description":"","frontmatter":{"lang":"zh-cn","title":"核心指令"},"headers":[],"relativePath":"use/core.md","filePath":"use/core.md","lastUpdated":1718381802000}'),h={name:"use/core.md"},u=c("",26),b={class:"info custom-block"},m=t("p",{class:"custom-block-title"},"示例",-1),g=c("",6),f={class:"info custom-block"},k=t("p",{class:"custom-block-title"},"示例",-1),T=c("",12),x={class:"info custom-block"},P=t("p",{class:"custom-block-title"},"示例",-1),A=t("p",null,[o("或许你已注意到,"),t("code",null,".r"),o(" 指令的表达式在不包含骰子算符时,相当于计算器。海豹的计算只支持整数,出现的小数被立即舍弃。")],-1),C=t("h3",{id:"多轮骰点",tabindex:"-1"},[o("多轮骰点 "),t("a",{class:"header-anchor",href:"#多轮骰点","aria-label":'Permalink to "多轮骰点"'},"​")],-1),D={class:"info custom-block"},v=t("p",{class:"custom-block-title"},"示例",-1),I=t("h3",{id:"在骰点中使用属性值",tabindex:"-1"},[o("在骰点中使用属性值 "),t("a",{class:"header-anchor",href:"#在骰点中使用属性值","aria-label":'Permalink to "在骰点中使用属性值"'},"​")],-1),S=t("p",null,"你可在表达式中包含属性值或其他变量。",-1),q={class:"info custom-block"},V=t("p",{class:"custom-block-title"},"示例",-1),N=t("p",null,"此时木落的侦查技能点是 53",-1),B=t("h3",{id:"奖励骰与惩罚骰",tabindex:"-1"},[o("奖励骰与惩罚骰 "),t("a",{class:"header-anchor",href:"#奖励骰与惩罚骰","aria-label":'Permalink to "奖励骰与惩罚骰"'},"​")],-1),M=t("p",null,"CoC 规则中,对于百分骰的一种补偿骰法,通过额外骰一定数量的十位骰,选择组成的最好结果或最坏结果。",-1),y={class:"info custom-block"},E=t("p",{class:"custom-block-title"},"示例",-1),R=t("h3",{id:"优势骰与劣势骰",tabindex:"-1"},[o("优势骰与劣势骰 "),t("a",{class:"header-anchor",href:"#优势骰与劣势骰","aria-label":'Permalink to "优势骰与劣势骰"'},"​")],-1),O=t("p",null,"D&D 规则中对 20 面骰的一种补偿骰法。额外骰一次,取较高或较低结果。",-1),Y={class:"info custom-block"},w=t("p",{class:"custom-block-title"},"示例",-1),W=t("p",null,"优势骰与劣势骰也可使用通用的表达式表达",-1),Z={class:"info custom-block"},U=t("p",{class:"custom-block-title"},"示例",-1),X=t("h3",{id:"fvtt-骰点兼容",tabindex:"-1"},[o("fvtt 骰点兼容 "),t("a",{class:"header-anchor",href:"#fvtt-骰点兼容","aria-label":'Permalink to "fvtt 骰点兼容"'},"​")],-1),z={class:"info custom-block"},Q=t("p",{class:"custom-block-title"},"示例",-1),$=t("p",null,"骰 4 个排除 1 个最低值:",-1),j=t("p",null,"骰 4 个排除 1 个最高值:",-1),L=t("h3",{id:"fate-命运骰",tabindex:"-1"},[o("fate 命运骰 "),t("a",{class:"header-anchor",href:"#fate-命运骰","aria-label":'Permalink to "fate 命运骰"'},"​")],-1),J=t("p",null,"一种特殊的六面骰,六个面分别为 -、-、0、0、+、+,分别代表 -1、0、1。",-1),F=t("p",null,"骰点时投掷 4 次,加在一起为结果。",-1),G={class:"info custom-block"},H=t("p",{class:"custom-block-title"},"示例",-1),K=c("",7),tt={class:"info custom-block"},et=t("p",{class:"custom-block-title"},"示例",-1),ot=c("",3),nt={class:"info custom-block"},ct=t("p",{class:"custom-block-title"},"示例",-1),st=c("",7),dt={class:"info custom-block"},at=t("p",{class:"custom-block-title"},"示例",-1),lt=t("p",null,[o("在计算过程中,每一轮骰点被包含在一对花括号 "),t("code",null,"{}"),o(" 中;达到暴击线 Y 的骰点用 "),t("code",null,"<>"),o(" 标记。")],-1),rt=t("h3",{id:"混合运算",tabindex:"-1"},[o("混合运算 "),t("a",{class:"header-anchor",href:"#混合运算","aria-label":'Permalink to "混合运算"'},"​")],-1),it=t("p",null,[o("以上所有骰法,加、减、乘、除、乘方等 5 个数学运算,以及括号 "),t("code",null,"()"),o(" 可以被组合使用,以进行更复杂的运算。")],-1),_t={class:"info custom-block"},pt=t("p",{class:"custom-block-title"},"示例",-1),ht=c("",1),ut={class:"info custom-block"},bt=t("p",{class:"custom-block-title"},"示例",-1),mt=c("",5),gt={class:"info custom-block"},ft=t("p",{class:"custom-block-title"},"示例",-1),kt=t("h2",{id:"rx-rxh-特殊骰点",tabindex:"-1"},[t("code",null,".rx"),o(" / "),t("code",null,".rxh"),o(" 特殊骰点 "),t("a",{class:"header-anchor",href:"#rx-rxh-特殊骰点","aria-label":'Permalink to "`.rx` / `.rxh` 特殊骰点"'},"​")],-1),Tt=t("p",null,[o("这个指令的格式与普通骰点 "),t("code",null,".r"),o(" 完全相同,区别在于允许额外 AT 其他人,以使用对方的属性。")],-1),xt=t("p",null,"这种操作称为「代骰」,你会在许多其他指令中看到代骰用法。",-1),Pt={class:"info custom-block"},At=t("p",{class:"custom-block-title"},"示例",-1),Ct=t("p",null,"此时木落的侦查是 75,Szz 的侦查是 80",-1),Dt=c("",5),vt={class:"info custom-block"},It=t("p",{class:"custom-block-title"},"示例",-1),St=c("",18),qt={id:"指定默认查询分组",tabindex:"-1"},Vt=t("a",{class:"header-anchor",href:"#指定默认查询分组","aria-label":'Permalink to "指定默认查询分组 "'},"​",-1),Nt=t("p",null,[t("code",null,".find config --group"),o(" 查看当前群组的默认查询分组。")],-1),Bt=t("p",null,[t("code",null,".find config --group=<分组名>"),o(" 设置当前群组的默认查询分组。")],-1),Mt=t("p",null,[t("code",null,".find config --groupclr"),o(" 清除当前群组的默认查询分组。")],-1),yt={class:"info custom-block"},Et=t("p",{class:"custom-block-title"},"示例",-1),Rt=t("h3",{id:"全文搜索",tabindex:"-1"},[o("全文搜索 "),t("a",{class:"header-anchor",href:"#全文搜索","aria-label":'Permalink to "全文搜索"'},"​")],-1),Ot={class:"info custom-block"},Yt=t("p",{class:"custom-block-title"},"示例",-1),wt=t("p",null,"因为多个文本匹配度相近,因此没有列出最佳匹配条目的正文内容。用这条指令可以查看:",-1),Wt={class:"info custom-block"},Zt=t("p",{class:"custom-block-title"},"示例",-1),Ut=t("p",null,[t("strong",null,"这么好用,那代价是什么呢?")],-1),Xt=t("p",null,"更多的内存占用和变慢的启动速度。",-1),zt=t("p",null,[o("大致来说,"),t("strong",null,"每 1 MB 帮助文本会产生约 15 MB 额外内存占用"),o("。")],-1),Qt=t("h3",{id:"快速文档查找",tabindex:"-1"},[o("快速文档查找 "),t("a",{class:"header-anchor",href:"#快速文档查找","aria-label":'Permalink to "快速文档查找"'},"​")],-1),$t={class:"info custom-block"},jt=t("p",{class:"custom-block-title"},"示例",-1),Lt=c("",18),Jt={class:"info custom-block"},Ft=t("p",{class:"custom-block-title"},"示例",-1),Gt=c("",9);function Ht(Kt,te,ee,oe,ne,ce){const n=a("ChatBox"),d=a("PluginTabsTab"),l=a("PluginTabs"),r=a("Badge");return p(),_("div",null,[u,t("div",b,[m,e(n,{messages:[{content:".bot on",send:!0},{content:"<海豹bot> 已启用 SealDice <版本号>"},{content:".bot off",send:!0},{content:"<海豹bot> 停止服务"},{content:".bot bye",send:!0},{content:"收到指令,5s后将退出当前群组"},{content:".bot",send:!0},{content:"SealDice <版本号>"}]})]),g,t("div",f,[k,e(n,{messages:[{content:".ext",send:!0},{content:`检测到以下扩展: +1. [开]coc7 - 版本:1.0.0 作者:木落 +2. [开]log - 版本:1.0.0 作者:木落 +3. [开]fun - 版本:1.0.0 作者:木落 +4. [开]deck - 版本:1.0.0 作者:木落 +5. [关]reply - 版本:1.0.0 作者:木落 +6. [开]dnd5e - 版本:1.0.0 作者:木落 +7. [开]story - 版本:1.0.0 作者:木落 +使用命令: .ext <扩展名> on/off 可以在当前群开启或关闭某扩展。 +命令: .ext <扩展名> 可以查看扩展介绍及帮助`},{content:".ext coc7 on",send:!0},{content:"打开扩展 coc7"},{content:".ext reply",send:!0},{content:`> [reply] 版本1.2.0 作者木落 +> 自定义回复模块,支持各种文本匹配和简易脚本`},{content:".ext reply off",send:!0},{content:"关闭扩展 reply"}]})]),T,t("div",x,[P,e(n,{messages:[{content:".r",send:!0},{content:"<木落>掷出了 D100=69"},{content:".r d50",send:!0},{content:"<木落>掷出了 d50=[1d50=48]=48"},{content:".r d50 天气不错",send:!0},{content:"由于天气不错,<木落>掷出了 d50=[1d50=4]=4"},{content:".r 5d24 骰5个24面骰",send:!0},{content:"由于骰5个24面骰,<木落>掷出了 5d24=[5d24=60, 7+20+15+1+17]=60"},{content:".r 4d6k3 骰4个6面骰,选3个最大的",send:!0},{content:"由于骰4个6面骰,选3个最大的,<木落>掷出了 4d6k3=[{6 5 3 | 1 }]=14"},{content:".r 100 + 3 * 2",send:!0},{content:"<木落>掷出了 100 + 3 * 2=100 + 6=106"}]})]),A,C,t("div",D,[v,e(n,{messages:[{content:".r 2#d10",send:!0},{content:`<木落>掷骰2次: +d10=[1d10=7]=7 +d10=[1d10=8]=8`}]})]),I,S,t("div",q,[V,N,e(n,{messages:[{content:".r 侦查+10",send:!0},{content:"<木落>掷出了 侦查+10=53[侦查=53] + 10=63"}]})]),B,M,t("div",y,[E,e(n,{messages:[{content:".r b",send:!0},{content:"<木落>掷出了 b=[D100=72, 奖励 4]=42"},{content:".r b3",send:!0},{content:"<木落>掷出了 b3=[D100=96, 奖励 4 6 3]=36"},{content:".r p4 惩罚骰",send:!0},{content:"由于惩罚骰,<木落>掷出了 p4=[D100=27, 惩罚 5 6 8 7]=87"}]})]),R,O,t("div",Y,[w,e(n,{messages:[{content:".set 20",send:!0},{content:"设定默认骰子面数为 20"},{content:".r d20优势",send:!0},{content:"<木落>掷出了 d20优势=[{7 | 6 }]=7"},{content:".r d劣势",send:!0},{content:"<木落>掷出了 d劣势=[{16 | 18 }]=16"}]})]),W,t("div",Z,[U,e(n,{messages:[{content:".r 2d20k1 等于优势骰",send:!0},{content:"由于等于优势骰,<木落>掷出了 2d20k1=[{19 | 17 }]=19"},{content:".r 2d20q1 等于劣势骰",send:!0},{content:"由于等于劣势骰,<木落>掷出了 2d20k1=[{19 | 17 }]=17"}]})]),X,t("div",z,[Q,e(l,null,{default:s(()=>[e(d,{label:"优势骰"},{default:s(()=>[e(n,{messages:[{content:".r d20kh",send:!0},{content:"<木落>掷出了 d20kh=[{10 | 3 }]=10"}]})]),_:1}),e(d,{label:"劣势骰"},{default:s(()=>[e(n,{messages:[{content:".r d20kl",send:!0},{content:"<木落>掷出了 d20kl=[{6 | 15 }]=6"}]})]),_:1}),e(d,{label:"排除低值"},{default:s(()=>[$,e(n,{messages:[{content:".r 4d6dl1",send:!0},{content:"<木落>掷出了 4d6dl1=[{5 3 2 | 1 }]=10"}]})]),_:1}),e(d,{label:"排除高值"},{default:s(()=>[j,e(n,{messages:[{content:".r 4d6dh1",send:!0},{content:"<木落>掷出了 4d6dh1=[{3 3 5 | 6 }]=11"}]})]),_:1})]),_:1})]),L,J,F,t("div",G,[H,e(l,null,{default:s(()=>[e(d,{label:"一般使用"},{default:s(()=>[e(n,{messages:[{content:".r f",send:!0},{content:"<木落>掷出了 f=[---+]=-2"}]})]),_:1}),e(d,{label:"带补正的情况"},{default:s(()=>[e(n,{messages:[{content:".r f+1",send:!0},{content:"<木落>掷出了 f+1=0[+0-0] + 1=1"}]})]),_:1})]),_:1})]),K,t("div",tt,[et,e(n,{messages:[{content:".r 5a6",send:!0},{content:"<木落>掷出了 5a6=[成功2/8 轮数:3 {4,<10*>,<10*>,5,1},{5,<6>},{1}]=2"},{content:".r 10a6k4m9",send:!0},{content:"<木落>掷出了 10a6k4m9=[成功11/16 轮数:3 {1,<6*>,5*,3,<8*>,5*,<8*>,<6*>,2,<8*>},{5*,2,<9*>,1,4*},{5*}]=11"}]})]),ot,t("div",nt,[ct,e(n,{messages:[{content:".r 5a6q4",send:!0},{content:"<木落>掷出了 5a6q4=[成功4/9 轮数:3 {<9>,5,<9>,3*,<9>},{<10>,3*,2*},{2*}]=4"}]})]),st,t("div",dt,[at,e(n,{messages:[{content:".r 4c3m7",send:!0},{content:"<木落>掷出了 4c3m7=[出目32/9 轮数:4 {<4>,2,<4>,<5>},{<7>,1,2},{<7>},{2}]=32"}]})]),lt,rt,it,t("div",_t,[pt,e(n,{messages:[{content:".r 30 + (-1d20) + 49",send:!0},{content:"<木落>掷出了 30 + (-1d20) + 49=30 + -1[1d20=1] + 49=78"},{content:".r d50 * 3 + 2",send:!0},{content:"<木落>掷出了 d50 * 3 + 2=21[1d50=21] * 3 + 2=65"},{content:".r d50 * 3 + (2 - p2) 多项式",send:!0},{content:"由于多项式,<木落>掷出了 d50 * 3 + (2 - p2)=25[1d50=25] * 3 + -64[D100=6, 惩罚 6 5]=11"}]})]),ht,t("div",ut,[bt,e(n,{messages:[{content:".r 1d1d1d1d1d1d1d1d1d1d1d1d1d1d(20+1d3*4)",send:!0},{content:"<木落>掷出了 1d1d1d1d1d1d1d1d1d1d1d1d1d1d(20+1d3*4)=13"},{content:".r 1d10+(1+32)d(4*6)d20",send:!0},{content:"<木落>掷出了 1d10+(1+32)d(4*6)d20=1[1d10=1] + 3941[33d24=384,384d20=3941]=3942"}]})]),mt,t("div",gt,[ft,e(l,null,{default:s(()=>[e(d,{label:"群聊"},{default:s(()=>[e(n,{messages:[{content:".rh d50",send:!0},{content:"命运正在低语!"}]})]),_:1}),e(d,{label:"收到的私聊"},{default:s(()=>[e(n,{messages:[{content:`来自群<群名>(群号)的暗骰: +<木落>掷出了 d10=[1d10=3]=3`}]})]),_:1})]),_:1})]),kt,Tt,xt,t("div",Pt,[At,Ct,e(n,{messages:[{content:".rx 侦查+1d20**2",send:!0},{content:"<木落>掷出了 侦查+1d20**2=75[侦查=75] + 324[1d20=18]=399"},{content:".rx 侦查+1d20**2 @Szz",send:!0},{content:`由<木落>代骰: +掷出了 侦查+1d20**2=80[侦查=80] + 144[1d20=12]=224`}]})]),Dt,t("div",vt,[It,e(n,{messages:[{content:".nn 简·拉基·茨德",send:!0},{content:"<木落>(IM 账号)的昵称被设定为<简·拉基·茨德>"},{content:".r",send:!0},{content:"<简·拉基·茨德>掷出了 D100=16"},{content:".nn",send:!0},{content:"玩家的当前昵称为: <简·拉基·茨德>"},{content:".nn clr",send:!0},{content:"<简·拉基·茨德>(IM 账号)的昵称已重置为<木落>"}]})]),St,t("p",null,[o("从 "),e(r,{type:"tip",text:"v1.4.2"}),o(" 版本起,你可以在 WebUI 的「扩展功能 - 帮助文档」中设置分组的别名。")]),t("h3",qt,[o("指定默认查询分组 "),e(r,{type:"tip",text:"v1.4.2"}),o(),Vt]),t("p",null,[o("从 "),e(r,{type:"tip",text:"v1.4.2"}),o(" 版本起,海豹支持在每个群组中分别设置默认的查询分组。")]),Nt,Bt,Mt,t("div",yt,[Et,e(n,{messages:[{content:".find config --group=COC",send:!0},{content:"指定默认搜索分组为COC"},{content:".find 火球术",send:!0},{content:"未找到搜索结果"},{content:".find config --groupclr",send:!0},{content:"已清空默认搜索分组,原分组为COC"},{content:".find 火球术",send:!0},{content:`[全文搜索]最优先结果: +词条: PHB法术:火球术`}]})]),Rt,t("div",Ot,[Yt,e(n,{messages:[{content:".find 30尺 法术",send:!0},{content:`全部结果: +[序号3066]【术士:超魔法:远程法术】 匹配度 0.16 +[序号3015]【游侠:驯兽师:法术共享】 匹配度 0.13 +[序号2396]【法术详述:迷踪步】 匹配度 0.12 +[序号1319]【法术详述:阿迦纳萨喷火术】 匹配度 0.12 +[序号507]【法术详述:智能堡垒/智力堡垒/智慧堡垒/智能壁垒/心智堡垒/心智壁垒】 匹配度 0.12 +[序号2514]【法术详述:水下呼吸/水中呼吸】 匹配度 0.11 +[序号2212]【法术详述:原力法阵】 匹配度 0.11 +[序号1403]【法术详述:众星冠冕/星辰冠冕/星之冠冕】 匹配度 0.11 +[序号2243]【法术详述:造水/枯水术/造水术/枯水术】 匹配度 0.11 +[序号2176]【法术详述:秘法眼】 匹配度 0.11 + +(本次搜索由全文搜索完成)`}]})]),wt,t("div",Wt,[Zt,e(n,{messages:[{content:".find 2212",send:!0},{content:`词条: 法术详述:原力法阵 +原力法阵 Circle of Power +圣武士 +5环 防护 +施法时间:1动作 +施法距离:自身(30尺半径) +法术成分:V +持续时间:专注,至多10分钟 +你身上发出神圣能量并以扭曲散溢的魔法能量构成一个半径30尺的球状力场。法术持续时间内力场将以你为中心随你移动。力场范围内的友方生物(包括你自己)为对抗法术或其他魔法效应而进行的豁免检定具有优势。此外,受本法术效应影响的生物在对抗豁免成功则伤害减半的法术或魔法效应时,若成功则不受伤害。`}]})]),Ut,Xt,zt,Qt,t("div",$t,[jt,e(n,{messages:[{content:".find 测试词条",send:!0},{content:`最优先结果: +词条: 测试:测试词条 +他在命运的沉浮中随波逐流, 扮演着受害与加害者的双重角色 + +全部结果: +[序号2]【测试:测试词条】 匹配度 67.00 + +(本次搜索由快速文档查找完成)`}]})]),Lt,t("div",Jt,[Ft,e(n,{messages:[{content:".set 20",send:!0},{content:"设定默认骰子面数为 20"},{content:".set coc",send:!0},{content:`设定群组默认骰子面数为 100 +提示:已切换至100面骰,并自动开启coc7扩展`},{content:".set dnd",send:!0},{content:`设定群组默认骰子面数为 20 +提示:已切换至20面骰,并自动开启dnd5e扩展。`},{content:".set info",send:!0},{content:`个人骰子面数: 0 +群组骰子面数: 20 +当前骰子面数: 20`}]})]),Gt])}const ae=i(h,[["render",Ht]]);export{de as __pageData,ae as default}; diff --git a/assets/use_deck_and_reply.md.BQdf7YKR.js b/assets/use_deck_and_reply.md.BQdf7YKR.js new file mode 100644 index 000000000..2a836e65b --- /dev/null +++ b/assets/use_deck_and_reply.md.BQdf7YKR.js @@ -0,0 +1,29 @@ +import{_ as n,D as s,c as d,j as e,I as o,a8 as a,a as c,o as r}from"./chunks/framework.C7ysi3tu.js";const P=JSON.parse('{"title":"牌堆 自定义回复","description":"","frontmatter":{"lang":"zh-cn","title":"牌堆 自定义回复"},"headers":[],"relativePath":"use/deck_and_reply.md","filePath":"use/deck_and_reply.md","lastUpdated":1712309998000}'),l={name:"use/deck_and_reply.md"},i=a('

牌堆 自定义回复

本节内容

本节将展示牌堆和自定义回复相关的指令,请善用侧边栏和搜索,按需阅读文档。

提示:如何自定义?

牌堆和自定义回复都是海豹提供的扩展性功能,此处只展示相关控制指令,如果你想知道如何进行自定义,请转到 进阶介绍

.draw 抽牌 / 管理牌堆

关于牌堆功能的一般性介绍,请参阅 配置 - 牌堆

.draw help 显示帮助信息。

信息查询

.draw list 列出当前装载的牌堆列表。

.draw keys <牌堆> 查看特定牌堆可抽取的牌组列表。

.draw search <牌组名称> 模糊搜索指定牌组。

.draw desc <牌组名称> 查看牌组所属牌堆的详细信息。

',11),_={class:"info custom-block"},p=e("p",{class:"custom-block-title"},"示例",-1),h=a('

需要说明,在以上的例子中,「GRE单词」同时是牌堆名与牌组名。在 .draw keys GRE单词 中,它作为牌堆名出现;在 .draw desc GRE单词 中,它作为牌组名出现。

.draw keys 列出所有可抽取的牌组列表。

注意:谨慎使用

这一指令会将所有可抽取的牌组列出,在牌组较多时造成刷屏。

抽牌

.draw <牌组名称> (<数量>#) 在指定牌组抽指定数量的牌,默认为抽 1 张。

',5),u={class:"info custom-block"},m=e("p",{class:"custom-block-title"},"示例",-1),k=e("p",null,[c("当指定的牌组名称不存在时,将会进行模糊搜索,效果与 "),e("code",null,"draw search"),c(" 类似。")],-1),f={class:"info custom-block"},E=e("p",{class:"custom-block-title"},"示例",-1),T=a('

牌堆管理

.draw reload 重新加载牌堆,仅限 Master 使用。

.reply 管理自定义回复

关于自定义回复功能的一般性介绍,请参阅 配置 - 自定义回复

.reply (on|off) 开启、关闭本群的自定义回复功能。

以上指令等价于 .ext reply (on|off)

',6);function b(w,R,g,y,G,S){const t=s("ChatBox");return r(),d("div",null,[i,e("div",_,[p,o(t,{messages:[{content:".draw list",send:!0},{content:`载入并开启的牌堆: +- GRE单词 格式: Dice! 作者:于言诺 版本:1.0.1 牌组数量: 1 +- IELTS单词 格式: Dice! 作者:于言诺 版本:1.0.1 牌组数量: 1 +- TOEFL单词 格式: Dice! 作者:于言诺 版本:1.0.1 牌组数量: 1 +- SealDice内置牌堆 格式: Dice! 作者:<因过长略去> 版本:1.2.0 牌组数量: 8`},{content:".draw keys GRE单词",send:!0},{content:`牌组关键字列表: +GRE单词`},{content:".draw search 单词",send:!0},{content:`找到以下牌组: +- GRE单词 +- TOEFL单词 +- IELTS单词`},{content:".draw desc GRE单词",send:!0},{content:`牌堆信息: +牌堆: GRE单词 +格式: Dice! +作者: 于言诺 +版本: 1.0.1 +牌组数量: 1 +时间: 2022/5/23 +更新时间: 2022/8/16 +牌组: GRE单词`}]})]),h,e("div",u,[m,o(t,{messages:[{content:".draw GRE单词 3#",send:!0},{content:`<木落>抽出了: +GRE3178 +invoice n. +发票, 发货单, 货物。`},{content:`<木落>抽出了: +GRE4889 +rig n. +索具装备, 钻探设备, 钻探平台, 钻塔。`},{content:`<木落>抽出了: +GRE5421 +austerity n. +严峻, 严厉, 朴素, 节俭, 苦行。`}]})]),k,e("div",f,[E,o(t,{messages:[{content:".draw 单词",send:!0},{content:`找不到这个牌组,但发现一些相似的: +- GRE单词 +- TOEFL单词 +- IELTS单词`}]})]),T])}const x=n(l,[["render",b]]);export{P as __pageData,x as default}; diff --git a/assets/use_deck_and_reply.md.BQdf7YKR.lean.js b/assets/use_deck_and_reply.md.BQdf7YKR.lean.js new file mode 100644 index 000000000..920b3a027 --- /dev/null +++ b/assets/use_deck_and_reply.md.BQdf7YKR.lean.js @@ -0,0 +1,29 @@ +import{_ as n,D as s,c as d,j as e,I as o,a8 as a,a as c,o as r}from"./chunks/framework.C7ysi3tu.js";const P=JSON.parse('{"title":"牌堆 自定义回复","description":"","frontmatter":{"lang":"zh-cn","title":"牌堆 自定义回复"},"headers":[],"relativePath":"use/deck_and_reply.md","filePath":"use/deck_and_reply.md","lastUpdated":1712309998000}'),l={name:"use/deck_and_reply.md"},i=a("",11),_={class:"info custom-block"},p=e("p",{class:"custom-block-title"},"示例",-1),h=a("",5),u={class:"info custom-block"},m=e("p",{class:"custom-block-title"},"示例",-1),k=e("p",null,[c("当指定的牌组名称不存在时,将会进行模糊搜索,效果与 "),e("code",null,"draw search"),c(" 类似。")],-1),f={class:"info custom-block"},E=e("p",{class:"custom-block-title"},"示例",-1),T=a("",6);function b(w,R,g,y,G,S){const t=s("ChatBox");return r(),d("div",null,[i,e("div",_,[p,o(t,{messages:[{content:".draw list",send:!0},{content:`载入并开启的牌堆: +- GRE单词 格式: Dice! 作者:于言诺 版本:1.0.1 牌组数量: 1 +- IELTS单词 格式: Dice! 作者:于言诺 版本:1.0.1 牌组数量: 1 +- TOEFL单词 格式: Dice! 作者:于言诺 版本:1.0.1 牌组数量: 1 +- SealDice内置牌堆 格式: Dice! 作者:<因过长略去> 版本:1.2.0 牌组数量: 8`},{content:".draw keys GRE单词",send:!0},{content:`牌组关键字列表: +GRE单词`},{content:".draw search 单词",send:!0},{content:`找到以下牌组: +- GRE单词 +- TOEFL单词 +- IELTS单词`},{content:".draw desc GRE单词",send:!0},{content:`牌堆信息: +牌堆: GRE单词 +格式: Dice! +作者: 于言诺 +版本: 1.0.1 +牌组数量: 1 +时间: 2022/5/23 +更新时间: 2022/8/16 +牌组: GRE单词`}]})]),h,e("div",u,[m,o(t,{messages:[{content:".draw GRE单词 3#",send:!0},{content:`<木落>抽出了: +GRE3178 +invoice n. +发票, 发货单, 货物。`},{content:`<木落>抽出了: +GRE4889 +rig n. +索具装备, 钻探设备, 钻探平台, 钻塔。`},{content:`<木落>抽出了: +GRE5421 +austerity n. +严峻, 严厉, 朴素, 节俭, 苦行。`}]})]),k,e("div",f,[E,o(t,{messages:[{content:".draw 单词",send:!0},{content:`找不到这个牌组,但发现一些相似的: +- GRE单词 +- TOEFL单词 +- IELTS单词`}]})]),T])}const x=n(l,[["render",b]]);export{P as __pageData,x as default}; diff --git a/assets/use_dnd5e.md.CyhhMR2Y.js b/assets/use_dnd5e.md.CyhhMR2Y.js new file mode 100644 index 000000000..c35c5f4ed --- /dev/null +++ b/assets/use_dnd5e.md.CyhhMR2Y.js @@ -0,0 +1,60 @@ +import{_ as c,D as d,c as a,j as t,I as o,a8 as s,a as n,o as l}from"./chunks/framework.C7ysi3tu.js";const Pt=JSON.parse('{"title":"龙与地下城 5E","description":"","frontmatter":{"lang":"zh-cn","title":"龙与地下城 5E"},"headers":[],"relativePath":"use/dnd5e.md","filePath":"use/dnd5e.md","lastUpdated":1718381802000}'),i={name:"use/dnd5e.md"},_=s('

龙与地下城 5E

本节内容

本节将展示 D&D 5E 玩家所需指令,请善用侧边栏和搜索,按需阅读文档。

我们假定你已对 D&D 规则有适当了解,本节只涉及如何使用海豹核心完成规则中指定的操作。

龙与地下城

「龙与地下城」(Dungeons & Dragons, D&D, DnD)是一款剑与魔法奇幻背景的叙事性角色扮演游戏。与孩提时代的过家家扮演游戏相似,D&D 依靠的是玩家无穷的想象力。

你所需要做的,即是描述场景如暴风骤雨里,夜空下的某座高耸古堡。然后想象奇幻世界中的冒险者们会如何迎接即将到来的挑战。

.dnd / .dndx 生成随机属性(制卡)

.dnd [<数量>] 随机生成指定组数的待分配属性,如果省略数量将生成 1 组。

.dndx [<数量>] 随机生成带属性名的结果。

',6),h={class:"info custom-block"},r=t("p",{class:"custom-block-title"},"示例",-1),p=s('

.ri 先攻设置

.ri <先攻值> [<角色名>] 为指定角色设定先攻值。如果省略角色名则默认为当前角色,以下的角色名部分相同。

其中,先攻值部分支持以下三种写法

  1. .ri 12 固定值 12;
  2. .ri +2 掷骰 D20+2;
  3. .ri =D20+3 掷骰 D15+3。

.ri <单项>, <单项>, ... 批量设定多个角色的先攻值,每个单项都是 <先攻值> <角色名> 形式。

',5),u={class:"info custom-block"},b=t("p",{class:"custom-block-title"},"示例",-1),f=s('

.init 先攻列表

.init 查看先攻列表。

.init del <单位1> <单位2> ... 从先攻列表中删除指定单位。

.init set <单位名称> <先攻表达式> 为指定单位设定先攻值。

.init clr 清除先攻列表。

.init end 结束当前的回合,并开始下一回合;如果轮到玩家行动,会 at 将要行动的玩家。

.init help 显示帮助。

',7),m={class:"info custom-block"},g=t("p",{class:"custom-block-title"},"示例",-1),k=t("p",null,"已经设置了先攻列表的情况",-1),T=s('

.st 操作角色卡

.st help 获取帮助信息

列出属性

.st show 列出角色卡所有属性。

.st show <属性1> <属性2> ... 列出指定的属性数值。

.st show <数值> 列出高于指定数值的属性。

.st export 导出属性值和法术位。

删除属性

.st (clr|clear) 删除所有属性数值和法术位。

.st del <属性1> <属性2> ... 删除指定属性。

更新属性值

.st 模板 获取角色卡录入模板。

.st <属性>:<值> 设置指定属性,技能加值会自动计算。

.st <属性>=<值> 与前一用法相同,可避免中英文冒号的识别问题。

.st <属性>±<表达式> 将指定属性增加或减去表达式的计算结果。表达式中可以包含骰点。如 .st 生命+1d4

.st hp-1d6 --over 前一用法的特殊情况,不计算临时生命扣血。

',16),x={class:"info custom-block"},P=t("p",{class:"custom-block-title"},"示例",-1),q=t("p",null,"属性修改后,属性调整值会自动变更。不用再行关注。",-1),D={class:"info custom-block"},v=t("p",{class:"custom-block-title"},"对生命值的特殊支持",-1),S=t("ul",null,[t("li",null,"当存在临时生命 (buff 血量),自动优先消耗。若临时生命不足以抵挡伤害,剩余会扣减血量;"),t("li",null,"当生命值归零,若伤害大于等于血量上限,判定人物死亡;"),t("li",null,"当生命值归零,若伤害小于血量上限,人物昏迷;"),t("li",null,"当人物已经昏迷,不足致死的伤害自动折算为死亡豁免失败。")],-1),A=s('

退游小技巧,黑暗录卡:

text
.st 力量:4d6k3 体质:4d6k3 敏捷:4d6k3 智力:4d6k3 感知:4d6k3 魅力:4d6k3 hp:10 hpmax: 10 熟练:2 运动:0 特技:0 巧手:0 隐匿:0 调查:0 奥秘:0 历史:0 自然:0 宗教:0 察觉:0 洞悉:0 驯养:0 医疗:0 生存:0 说服:0 欺诈:0 威吓:0 表演:0

代骰

以上功能均可以通过附加 @其他人 来操作对方的属性值。

.rc 检定

.rc <属性> 进行检定。

.rc <属性>豁免 进行豁免检定。

.rc <表达式> 使用可带调整值的表达式进行检定,如 力量+3

.rc (优势|劣势) <表达式> 进行优势或劣势检定。

',9),C={class:"info custom-block"},V=t("p",{class:"custom-block-title"},"示例",-1),I=t("h3",{id:"代骰-1",tabindex:"-1"},[n("代骰 "),t("a",{class:"header-anchor",href:"#代骰-1","aria-label":'Permalink to "代骰"'},"​")],-1),E=t("p",null,[n("以上功能均可以通过附加 "),t("code",null,"@其他人"),n(" 来使用对方的技能进行检定。")],-1),N=t("h3",{id:"奇妙运用",tabindex:"-1"},[n("奇妙运用 "),t("a",{class:"header-anchor",href:"#奇妙运用","aria-label":'Permalink to "奇妙运用"'},"​")],-1),B=t("p",null,"你可以通过如下方式记录武器的熟练项。",-1),R={class:"info custom-block"},w=t("p",{class:"custom-block-title"},"示例",-1),$=s('

.buff 临时属性

.buff help 显示帮助。

.buff 展示当前 buff。

.buff clr 清除 buff。

.buff del <属性1> <属性2> ... 删除指定属性的 buff。

.buff <属性>:<值> 为指定属性设定 buff。

.buff <属性>±<表达式> 修改指定属性的 buff。

用于设置临时属性,例如虚假生命:

',8),y={class:"info custom-block"},F=t("p",{class:"custom-block-title"},"示例",-1),U=t("p",null,"也可以用来设置其他属性:",-1),j={class:"info custom-block"},z=t("p",{class:"custom-block-title"},"示例",-1),H=t("p",null,"临时的技能熟练(装备或法术效果):",-1),J={class:"info custom-block"},O=t("p",{class:"custom-block-title"},"示例",-1),X=t("p",null,"删除和清空",-1),G={class:"info custom-block"},K=t("p",{class:"custom-block-title"},"示例",-1),L=s('

代骰

以上功能均可以通过附加 @其他人 来操作对方的 buff。

.ss 法术位 (spell slots)

.ss 查看当前法术位状况。

.ss init 4 3 2 设置 1 2 3 环的法术位上限,以此类推,上不封顶。

.ss set 2环 4 单独设置某一环的法术位上限,可用逗号分隔地连写多组。

.ss clr 清除法术位设置。

.ss rest 恢复所有法术位 (不回复 hp)。

.ss 3环 +1 增加一个 3 环法术位(不会超过上限)。

.ss lv3 +1 同上,另一种写法。

.ss 3环 -1 消耗一个 3 环法术位。

',11),M={class:"info custom-block"},Q=t("p",{class:"custom-block-title"},"示例",-1),W=t("h3",{id:"代骰-3",tabindex:"-1"},[n("代骰 "),t("a",{class:"header-anchor",href:"#代骰-3","aria-label":'Permalink to "代骰"'},"​")],-1),Y=t("p",null,[n("以上功能均可以通过附加 "),t("code",null,"@其他人"),n(" 来操作对方的法术位。")],-1),Z=t("h2",{id:"cast-使用法术位",tabindex:"-1"},[t("code",null,".cast"),n(" 使用法术位 "),t("a",{class:"header-anchor",href:"#cast-使用法术位","aria-label":'Permalink to "`.cast` 使用法术位"'},"​")],-1),tt=t("p",null,[t("code",null,".cast <环数> [<消耗数量>]"),n(" 消耗指定数量的指定法术位,省略消耗数量时,消耗 1 个。")],-1),et={class:"info custom-block"},ot=t("p",{class:"custom-block-title"},"示例",-1),nt=s('

代骰

以上功能均可以通过附加 @其他人 来消耗对方的法术位。

.longrest / .长休

.longrest 恢复生命值和法术位。当前角色需已设定最大生命值且当前生命值大于 0。

',4),st={class:"info custom-block"},ct=t("p",{class:"custom-block-title"},"示例",-1),dt=s('

代骰

以上功能均可以通过附加 @其他人 来令对方进行长休。

.ds / .死亡豁免

.ds help 查看帮助。

.ds 进行一次死亡豁免检定,此时角色 hp 必须为 0。

.ds +1d4 检定时添加 1d4 的加值。

.ds (成功|失败)±<变化值> 死亡豁免的成功或失败数量增加或减少指定值。成功和失败可分别简写为 sf

.ds stat 查看当前死亡豁免情况。

st 指令对 hp 的操作也会自动触发死亡豁免。

',9),at={class:"info custom-block"},lt=t("p",{class:"custom-block-title"},"示例",-1),it=t("p",null,"昏迷后被攻击:",-1),_t=t("p",null,"死亡:",-1),ht=t("p",null,"医学奇迹:",-1),rt=t("h3",{id:"代骰-6",tabindex:"-1"},[n("代骰 "),t("a",{class:"header-anchor",href:"#代骰-6","aria-label":'Permalink to "代骰"'},"​")],-1),pt=t("p",null,[n("以上功能均可以通过附加 "),t("code",null,"@其他人"),n(" 来令对方进行死亡豁免。")],-1);function ut(bt,ft,mt,gt,kt,Tt){const e=d("ChatBox");return l(),a("div",null,[_,t("div",h,[r,o(e,{messages:[{content:".dnd 5",send:!0},{content:`<木落>的DnD5e人物作成(自由分配模式): +[16, 16, 14, 11, 10, 9] = 76 +[16, 15, 15, 12, 9, 9] = 76 +[16, 15, 14, 13, 13, 12] = 83 +[18, 17, 15, 14, 13, 8] = 85 +[15, 14, 13, 13, 10, 8] = 73 +获取带属性名的预设请用.dndx`},{content:".dndx 5",send:!0},{content:`<木落>的DnD5e人物作成(预设模式): +力量:16 体质:9 敏捷:14 智力:10 感知:13 魅力:10 共计:72 +力量:13 体质:12 敏捷:8 智力:8 感知:14 魅力:9 共计:64 +力量:16 体质:10 敏捷:11 智力:14 感知:12 魅力:10 共计:73 +力量:9 体质:17 敏捷:15 智力:9 感知:10 魅力:13 共计:73 +力量:12 体质:6 敏捷:8 智力:13 感知:10 魅力:8 共计:57 +自由分配模式请用.dnd`}]})]),p,t("div",u,[b,o(e,{messages:[{content:".ri +2",send:!0},{content:`<木落>对先攻点数设置如下: +1. 木落: 15[1d20=15] + 2=17`},{content:".ri +3 狗头人1",send:!0},{content:`<木落>对先攻点数设置如下: +1. 狗头人1: 15[1d20=15] + 3=18`},{content:".ri =D20+2 狗头人1",send:!0},{content:`<木落>对先攻点数设置如下: +1. 狗头人1: 13`},{content:".ri 30 狗头人1",send:!0},{content:`<木落>对先攻点数设置如下: +1. 狗头人1: 30`},{content:".ri 优势+2 狗头人2",send:!0},{content:`<木落>对先攻点数设置如下: +1. 狗头人2: 13[{13 | 11 }] + 2=15`},{content:".ri +2 狗头人1, 3 狗头人2, =d30 狗头人3, +3",send:!0},{content:`<木落>对先攻点数设置如下: +1. 木落: 19[1d20=19] + 3=22 +2. 狗头人3: 17 +3. 狗头人1: 15[1d20=15] + 2=17 +4. 狗头人2: 3`}]})]),f,t("div",m,[g,k,o(e,{messages:[{content:".init",send:!0},{content:`当前先攻列表为: +1. 木落: 22 +2. 狗头人3: 17 +3. 狗头人1: 17 +4. 狗头人2: 3 +当前回合:木落`},{content:".init del 狗头人2",send:!0},{content:`<木落>将以下单位从先攻列表中移除: +1. 狗头人2`},{content:".init set 狗头人3 16",send:!0},{content:"<木落>已设置 狗头人3 的先攻点为16 16"},{content:".init end",send:!0},{content:"【木落】戏份结束了,下面该【狗头人1】出场了!"}]})]),T,t("div",x,[P,o(e,{messages:[{content:".st 模板",send:!0},{content:`人物卡模板(第二行文本): +.dst 力量:10 体质:10 敏捷:10 智力:10 感知:10 魅力:10 hp:10 hpmax: 10 熟练:2 运动:0 特技:0 巧手:0 隐匿:0 调查:0 奥秘:0 历史:0 自然:0 宗教:0 察觉:0 洞悉:0 驯养:0 医疗:0 生存:0 说服:0 欺诈:0 威吓:0 表演:0 +注意: 技能只填写修正值即可,属性调整值会自动计算。熟练写为“运动*:0”`},{content:".st 力量:12 体质:10 敏捷:10 智力:10 感知:10 魅力:10 hp:10 hpmax: 10 熟练:2 运动*:3 特技:1 巧手:0 隐匿:0 调查:0 奥秘:0 历史:0 自然:0 宗教:0 察觉:0 洞悉:0 驯养:0 医疗:0 生存:0 说服:0 欺诈:0 威吓:0 表演:0",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: 力量:12, 体质:10, 敏捷:10, 智力:10, 感知:10, 魅力:10, hp:10, hpmax:10, 熟练:2, 运动:3[技能, 熟练], 特技:1[技能], 巧手:0[技能], 隐匿:0[技能], 调查:0[技能], 奥秘:0[技能], 历史:0[技能], 自然:0[技能], 宗教:0[技能], 察觉:0[技能], 洞悉:0[技能], 驯养:0[技能], 医疗:0[技能], 生存:0[技能], 说服:0[技能], 欺诈:0[技能], 威吓:0[技能], 表演:0[技能]`},{content:".st show",send:!0},{content:`<木落>的个人属性为: +力量: 12 敏捷: 10 体质: 10 智力: 10 +感知: 10 魅力: 10 hp: 10 hpmax: 10 +EXP: 0 熟练: 2 特技: 1[基础值1] 运动: 6[基础值3] +(下略)`},{content:".st show 力量 运动 熟练",send:!0},{content:`<木落>的个人属性为: +力量: 12 熟练: 2 运动: 6[基础值3]`},{content:".st 力量 + 2",send:!0},{content:`人物属性设置如下: +修改: 力量(12 ➯ 14)`}]})]),q,t("div",D,[v,S,o(e,{messages:[{content:".st hp-3 hp-3 hp-3",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +修改: hp(2 ➯ 0), hp(0 ➯ 0), hp(0 ➯ 0) +<木落>遭受了1点过量伤害,生命值降至0,陷入了昏迷! +<木落>在昏迷状态下遭受了3点过量伤害,死亡豁免失败+1! +<木落>在昏迷状态下遭受了3点过量伤害,死亡豁免失败+1!`}]})]),A,t("div",C,[V,o(e,{messages:[{content:".rc 运动",send:!0},{content:`<木落>的“运动”检定结果为: +8[1d20=8] + 6[运动=6] = 14`},{content:".rc 优势 力量+4",send:!0},{content:`<木落>的“力量+4”检定结果为: +17[{17 | 11 }] + 12[力量=12] + 4 = 33`},{content:".rc 劣势 力量+4 推一下试试",send:!0},{content:`<木落>的“推一下试试”检定结果为: +17[{17 | 18 }] + 12[力量=12] + 4 = 33`}]})]),I,E,N,B,t("div",R,[w,o(e,{messages:[{content:".st 长剑=4",send:!0},{content:"<木落>的属性录入完成,本次录入了1条数据。"},{content:".rc 长剑",send:!0},{content:`<木落>的“长剑”检定(dnd5e)结果为: +16[1d20=16] + 4[长剑=4] = 20`}]})]),$,t("div",y,[F,o(e,{messages:[{content:".st hp:10",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: hp:10`},{content:".buff hp : 1d4+4",send:!0},{content:`<木落>的dnd5e人物Buff属性设置如下: +读入: hp:7`},{content:".st show hp",send:!0},{content:`<木落>的个人属性为: +hp:17[10]`}]})]),U,t("div",j,[z,o(e,{messages:[{content:".st 力量:10 运动:0",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: 力量:10, 运动:0[技能]`},{content:".buff 力量:6",send:!0},{content:`<木落>的dnd5e人物Buff属性设置如下: +读入: 力量:6`},{content:".st show 力量 运动",send:!0},{content:`<木落>的个人属性为: +力量:16[10] 运动:3[0]`}]})]),H,t("div",J,[O,o(e,{messages:[{content:".st 力量:10 运动:0 熟练:3",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: 力量:10, 运动:0[技能], 熟练:3`},{content:".buff 运动*:0",send:!0},{content:`<木落>的dnd5e人物Buff属性设置如下: +读入: 运动:0[技能, 熟练*]`},{content:".st show 力量 运动",send:!0},{content:`<木落>的个人属性为: +力量:16[10] 运动:6[0]`}]})]),X,t("div",G,[K,o(e,{messages:[{content:".buff del hp",send:!0},{content:"<木落>的如下buff属性被成功删除:hp,失败0项"},{content:".buff clr",send:!0},{content:"<木落>的BUFF数据已经清除,共计0条"}]})]),L,t("div",M,[Q,o(e,{messages:[{content:".ss init 3 4 5",send:!0},{content:"为<木落>设置法术位: 1环3个, 2环4个, 3环5个"},{content:".ss 1环 -1",send:!0},{content:"<木落>的1环法术位消耗至2个,上限3个"},{content:".ss",send:!0},{content:"<木落>的法术位状况: 1环:2/3, 2环:4/4, 3环:5/5"},{content:".ss rest",send:!0},{content:"<木落>的法术位已经完全恢复"},{content:".ss set 4环 3",send:!0},{content:"为<木落>设置法术位: 4环3个"}]})]),W,Y,Z,tt,t("div",et,[ot,o(e,{messages:[{content:".cast 2",send:!0},{content:"<木落>的2环法术位消耗至3个,上限4个"}]})]),nt,t("div",st,[ct,o(e,{messages:[{content:".长休",send:!0},{content:"<木落>的长休: hp得到了恢复,现为12 法术位得到了恢复"},{content:".长休",send:!0},{content:"<木落>的长休: 没有设置hpmax,无法回复hp"}]})]),dt,t("div",at,[lt,o(e,{messages:[{content:".st hp:3 hpmax:12",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: hp:3, hpmax:12`},{content:".st hp-10",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +修改: hp(3 ➯ 0) +<木落>遭受了7点过量伤害,生命值降至0,陷入了昏迷!`}]}),it,o(e,{messages:[{content:`<木落>的dnd5e人物属性设置如下: +修改: hp(0 ➯ 0) +<木落>在昏迷状态下遭受了1点过量伤害,死亡豁免失败+1!`}]}),_t,o(e,{messages:[{content:`<木落>的死亡豁免检定: [1d20=3]=3 有些不妙!死亡豁免失败+1 +你获得了3次死亡豁免检定失败,不幸去世了!`}]}),ht,o(e,{messages:[{content:"<木落>的死亡豁免检定: [1d20=20]=20 你觉得你还可以抢救一下!HP回复1点!"}]})]),rt,pt])}const qt=c(i,[["render",ut]]);export{Pt as __pageData,qt as default}; diff --git a/assets/use_dnd5e.md.CyhhMR2Y.lean.js b/assets/use_dnd5e.md.CyhhMR2Y.lean.js new file mode 100644 index 000000000..7628d994b --- /dev/null +++ b/assets/use_dnd5e.md.CyhhMR2Y.lean.js @@ -0,0 +1,60 @@ +import{_ as c,D as d,c as a,j as t,I as o,a8 as s,a as n,o as l}from"./chunks/framework.C7ysi3tu.js";const Pt=JSON.parse('{"title":"龙与地下城 5E","description":"","frontmatter":{"lang":"zh-cn","title":"龙与地下城 5E"},"headers":[],"relativePath":"use/dnd5e.md","filePath":"use/dnd5e.md","lastUpdated":1718381802000}'),i={name:"use/dnd5e.md"},_=s("",6),h={class:"info custom-block"},r=t("p",{class:"custom-block-title"},"示例",-1),p=s("",5),u={class:"info custom-block"},b=t("p",{class:"custom-block-title"},"示例",-1),f=s("",7),m={class:"info custom-block"},g=t("p",{class:"custom-block-title"},"示例",-1),k=t("p",null,"已经设置了先攻列表的情况",-1),T=s("",16),x={class:"info custom-block"},P=t("p",{class:"custom-block-title"},"示例",-1),q=t("p",null,"属性修改后,属性调整值会自动变更。不用再行关注。",-1),D={class:"info custom-block"},v=t("p",{class:"custom-block-title"},"对生命值的特殊支持",-1),S=t("ul",null,[t("li",null,"当存在临时生命 (buff 血量),自动优先消耗。若临时生命不足以抵挡伤害,剩余会扣减血量;"),t("li",null,"当生命值归零,若伤害大于等于血量上限,判定人物死亡;"),t("li",null,"当生命值归零,若伤害小于血量上限,人物昏迷;"),t("li",null,"当人物已经昏迷,不足致死的伤害自动折算为死亡豁免失败。")],-1),A=s("",9),C={class:"info custom-block"},V=t("p",{class:"custom-block-title"},"示例",-1),I=t("h3",{id:"代骰-1",tabindex:"-1"},[n("代骰 "),t("a",{class:"header-anchor",href:"#代骰-1","aria-label":'Permalink to "代骰"'},"​")],-1),E=t("p",null,[n("以上功能均可以通过附加 "),t("code",null,"@其他人"),n(" 来使用对方的技能进行检定。")],-1),N=t("h3",{id:"奇妙运用",tabindex:"-1"},[n("奇妙运用 "),t("a",{class:"header-anchor",href:"#奇妙运用","aria-label":'Permalink to "奇妙运用"'},"​")],-1),B=t("p",null,"你可以通过如下方式记录武器的熟练项。",-1),R={class:"info custom-block"},w=t("p",{class:"custom-block-title"},"示例",-1),$=s("",8),y={class:"info custom-block"},F=t("p",{class:"custom-block-title"},"示例",-1),U=t("p",null,"也可以用来设置其他属性:",-1),j={class:"info custom-block"},z=t("p",{class:"custom-block-title"},"示例",-1),H=t("p",null,"临时的技能熟练(装备或法术效果):",-1),J={class:"info custom-block"},O=t("p",{class:"custom-block-title"},"示例",-1),X=t("p",null,"删除和清空",-1),G={class:"info custom-block"},K=t("p",{class:"custom-block-title"},"示例",-1),L=s("",11),M={class:"info custom-block"},Q=t("p",{class:"custom-block-title"},"示例",-1),W=t("h3",{id:"代骰-3",tabindex:"-1"},[n("代骰 "),t("a",{class:"header-anchor",href:"#代骰-3","aria-label":'Permalink to "代骰"'},"​")],-1),Y=t("p",null,[n("以上功能均可以通过附加 "),t("code",null,"@其他人"),n(" 来操作对方的法术位。")],-1),Z=t("h2",{id:"cast-使用法术位",tabindex:"-1"},[t("code",null,".cast"),n(" 使用法术位 "),t("a",{class:"header-anchor",href:"#cast-使用法术位","aria-label":'Permalink to "`.cast` 使用法术位"'},"​")],-1),tt=t("p",null,[t("code",null,".cast <环数> [<消耗数量>]"),n(" 消耗指定数量的指定法术位,省略消耗数量时,消耗 1 个。")],-1),et={class:"info custom-block"},ot=t("p",{class:"custom-block-title"},"示例",-1),nt=s("",4),st={class:"info custom-block"},ct=t("p",{class:"custom-block-title"},"示例",-1),dt=s("",9),at={class:"info custom-block"},lt=t("p",{class:"custom-block-title"},"示例",-1),it=t("p",null,"昏迷后被攻击:",-1),_t=t("p",null,"死亡:",-1),ht=t("p",null,"医学奇迹:",-1),rt=t("h3",{id:"代骰-6",tabindex:"-1"},[n("代骰 "),t("a",{class:"header-anchor",href:"#代骰-6","aria-label":'Permalink to "代骰"'},"​")],-1),pt=t("p",null,[n("以上功能均可以通过附加 "),t("code",null,"@其他人"),n(" 来令对方进行死亡豁免。")],-1);function ut(bt,ft,mt,gt,kt,Tt){const e=d("ChatBox");return l(),a("div",null,[_,t("div",h,[r,o(e,{messages:[{content:".dnd 5",send:!0},{content:`<木落>的DnD5e人物作成(自由分配模式): +[16, 16, 14, 11, 10, 9] = 76 +[16, 15, 15, 12, 9, 9] = 76 +[16, 15, 14, 13, 13, 12] = 83 +[18, 17, 15, 14, 13, 8] = 85 +[15, 14, 13, 13, 10, 8] = 73 +获取带属性名的预设请用.dndx`},{content:".dndx 5",send:!0},{content:`<木落>的DnD5e人物作成(预设模式): +力量:16 体质:9 敏捷:14 智力:10 感知:13 魅力:10 共计:72 +力量:13 体质:12 敏捷:8 智力:8 感知:14 魅力:9 共计:64 +力量:16 体质:10 敏捷:11 智力:14 感知:12 魅力:10 共计:73 +力量:9 体质:17 敏捷:15 智力:9 感知:10 魅力:13 共计:73 +力量:12 体质:6 敏捷:8 智力:13 感知:10 魅力:8 共计:57 +自由分配模式请用.dnd`}]})]),p,t("div",u,[b,o(e,{messages:[{content:".ri +2",send:!0},{content:`<木落>对先攻点数设置如下: +1. 木落: 15[1d20=15] + 2=17`},{content:".ri +3 狗头人1",send:!0},{content:`<木落>对先攻点数设置如下: +1. 狗头人1: 15[1d20=15] + 3=18`},{content:".ri =D20+2 狗头人1",send:!0},{content:`<木落>对先攻点数设置如下: +1. 狗头人1: 13`},{content:".ri 30 狗头人1",send:!0},{content:`<木落>对先攻点数设置如下: +1. 狗头人1: 30`},{content:".ri 优势+2 狗头人2",send:!0},{content:`<木落>对先攻点数设置如下: +1. 狗头人2: 13[{13 | 11 }] + 2=15`},{content:".ri +2 狗头人1, 3 狗头人2, =d30 狗头人3, +3",send:!0},{content:`<木落>对先攻点数设置如下: +1. 木落: 19[1d20=19] + 3=22 +2. 狗头人3: 17 +3. 狗头人1: 15[1d20=15] + 2=17 +4. 狗头人2: 3`}]})]),f,t("div",m,[g,k,o(e,{messages:[{content:".init",send:!0},{content:`当前先攻列表为: +1. 木落: 22 +2. 狗头人3: 17 +3. 狗头人1: 17 +4. 狗头人2: 3 +当前回合:木落`},{content:".init del 狗头人2",send:!0},{content:`<木落>将以下单位从先攻列表中移除: +1. 狗头人2`},{content:".init set 狗头人3 16",send:!0},{content:"<木落>已设置 狗头人3 的先攻点为16 16"},{content:".init end",send:!0},{content:"【木落】戏份结束了,下面该【狗头人1】出场了!"}]})]),T,t("div",x,[P,o(e,{messages:[{content:".st 模板",send:!0},{content:`人物卡模板(第二行文本): +.dst 力量:10 体质:10 敏捷:10 智力:10 感知:10 魅力:10 hp:10 hpmax: 10 熟练:2 运动:0 特技:0 巧手:0 隐匿:0 调查:0 奥秘:0 历史:0 自然:0 宗教:0 察觉:0 洞悉:0 驯养:0 医疗:0 生存:0 说服:0 欺诈:0 威吓:0 表演:0 +注意: 技能只填写修正值即可,属性调整值会自动计算。熟练写为“运动*:0”`},{content:".st 力量:12 体质:10 敏捷:10 智力:10 感知:10 魅力:10 hp:10 hpmax: 10 熟练:2 运动*:3 特技:1 巧手:0 隐匿:0 调查:0 奥秘:0 历史:0 自然:0 宗教:0 察觉:0 洞悉:0 驯养:0 医疗:0 生存:0 说服:0 欺诈:0 威吓:0 表演:0",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: 力量:12, 体质:10, 敏捷:10, 智力:10, 感知:10, 魅力:10, hp:10, hpmax:10, 熟练:2, 运动:3[技能, 熟练], 特技:1[技能], 巧手:0[技能], 隐匿:0[技能], 调查:0[技能], 奥秘:0[技能], 历史:0[技能], 自然:0[技能], 宗教:0[技能], 察觉:0[技能], 洞悉:0[技能], 驯养:0[技能], 医疗:0[技能], 生存:0[技能], 说服:0[技能], 欺诈:0[技能], 威吓:0[技能], 表演:0[技能]`},{content:".st show",send:!0},{content:`<木落>的个人属性为: +力量: 12 敏捷: 10 体质: 10 智力: 10 +感知: 10 魅力: 10 hp: 10 hpmax: 10 +EXP: 0 熟练: 2 特技: 1[基础值1] 运动: 6[基础值3] +(下略)`},{content:".st show 力量 运动 熟练",send:!0},{content:`<木落>的个人属性为: +力量: 12 熟练: 2 运动: 6[基础值3]`},{content:".st 力量 + 2",send:!0},{content:`人物属性设置如下: +修改: 力量(12 ➯ 14)`}]})]),q,t("div",D,[v,S,o(e,{messages:[{content:".st hp-3 hp-3 hp-3",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +修改: hp(2 ➯ 0), hp(0 ➯ 0), hp(0 ➯ 0) +<木落>遭受了1点过量伤害,生命值降至0,陷入了昏迷! +<木落>在昏迷状态下遭受了3点过量伤害,死亡豁免失败+1! +<木落>在昏迷状态下遭受了3点过量伤害,死亡豁免失败+1!`}]})]),A,t("div",C,[V,o(e,{messages:[{content:".rc 运动",send:!0},{content:`<木落>的“运动”检定结果为: +8[1d20=8] + 6[运动=6] = 14`},{content:".rc 优势 力量+4",send:!0},{content:`<木落>的“力量+4”检定结果为: +17[{17 | 11 }] + 12[力量=12] + 4 = 33`},{content:".rc 劣势 力量+4 推一下试试",send:!0},{content:`<木落>的“推一下试试”检定结果为: +17[{17 | 18 }] + 12[力量=12] + 4 = 33`}]})]),I,E,N,B,t("div",R,[w,o(e,{messages:[{content:".st 长剑=4",send:!0},{content:"<木落>的属性录入完成,本次录入了1条数据。"},{content:".rc 长剑",send:!0},{content:`<木落>的“长剑”检定(dnd5e)结果为: +16[1d20=16] + 4[长剑=4] = 20`}]})]),$,t("div",y,[F,o(e,{messages:[{content:".st hp:10",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: hp:10`},{content:".buff hp : 1d4+4",send:!0},{content:`<木落>的dnd5e人物Buff属性设置如下: +读入: hp:7`},{content:".st show hp",send:!0},{content:`<木落>的个人属性为: +hp:17[10]`}]})]),U,t("div",j,[z,o(e,{messages:[{content:".st 力量:10 运动:0",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: 力量:10, 运动:0[技能]`},{content:".buff 力量:6",send:!0},{content:`<木落>的dnd5e人物Buff属性设置如下: +读入: 力量:6`},{content:".st show 力量 运动",send:!0},{content:`<木落>的个人属性为: +力量:16[10] 运动:3[0]`}]})]),H,t("div",J,[O,o(e,{messages:[{content:".st 力量:10 运动:0 熟练:3",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: 力量:10, 运动:0[技能], 熟练:3`},{content:".buff 运动*:0",send:!0},{content:`<木落>的dnd5e人物Buff属性设置如下: +读入: 运动:0[技能, 熟练*]`},{content:".st show 力量 运动",send:!0},{content:`<木落>的个人属性为: +力量:16[10] 运动:6[0]`}]})]),X,t("div",G,[K,o(e,{messages:[{content:".buff del hp",send:!0},{content:"<木落>的如下buff属性被成功删除:hp,失败0项"},{content:".buff clr",send:!0},{content:"<木落>的BUFF数据已经清除,共计0条"}]})]),L,t("div",M,[Q,o(e,{messages:[{content:".ss init 3 4 5",send:!0},{content:"为<木落>设置法术位: 1环3个, 2环4个, 3环5个"},{content:".ss 1环 -1",send:!0},{content:"<木落>的1环法术位消耗至2个,上限3个"},{content:".ss",send:!0},{content:"<木落>的法术位状况: 1环:2/3, 2环:4/4, 3环:5/5"},{content:".ss rest",send:!0},{content:"<木落>的法术位已经完全恢复"},{content:".ss set 4环 3",send:!0},{content:"为<木落>设置法术位: 4环3个"}]})]),W,Y,Z,tt,t("div",et,[ot,o(e,{messages:[{content:".cast 2",send:!0},{content:"<木落>的2环法术位消耗至3个,上限4个"}]})]),nt,t("div",st,[ct,o(e,{messages:[{content:".长休",send:!0},{content:"<木落>的长休: hp得到了恢复,现为12 法术位得到了恢复"},{content:".长休",send:!0},{content:"<木落>的长休: 没有设置hpmax,无法回复hp"}]})]),dt,t("div",at,[lt,o(e,{messages:[{content:".st hp:3 hpmax:12",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +读入: hp:3, hpmax:12`},{content:".st hp-10",send:!0},{content:`<木落>的dnd5e人物属性设置如下: +修改: hp(3 ➯ 0) +<木落>遭受了7点过量伤害,生命值降至0,陷入了昏迷!`}]}),it,o(e,{messages:[{content:`<木落>的dnd5e人物属性设置如下: +修改: hp(0 ➯ 0) +<木落>在昏迷状态下遭受了1点过量伤害,死亡豁免失败+1!`}]}),_t,o(e,{messages:[{content:`<木落>的死亡豁免检定: [1d20=3]=3 有些不妙!死亡豁免失败+1 +你获得了3次死亡豁免检定失败,不幸去世了!`}]}),ht,o(e,{messages:[{content:"<木落>的死亡豁免检定: [1d20=20]=20 你觉得你还可以抢救一下!HP回复1点!"}]})]),rt,pt])}const qt=c(i,[["render",ut]]);export{Pt as __pageData,qt as default}; diff --git a/assets/use_faq.md.C-CouVzm.js b/assets/use_faq.md.C-CouVzm.js new file mode 100644 index 000000000..bbe442a4e --- /dev/null +++ b/assets/use_faq.md.C-CouVzm.js @@ -0,0 +1,12 @@ +import{_ as a,c as s,o as e,a8 as i}from"./chunks/framework.C7ysi3tu.js";const t="/sealdice-manual-next/assets/image-20221009004030395.3916Tv_z.png",p="/sealdice-manual-next/assets/image-20221009003612068.Wt604XDQ.png",n="/sealdice-manual-next/assets/image-20230109202133901.DO1uTTAZ.png",l="/sealdice-manual-next/assets/image-20230109203431758.TT_W720a.png",o="/sealdice-manual-next/assets/image-20230109205906109.D-KrjuYJ.png",r="/sealdice-manual-next/assets/image-20230109210448115.DDApTHsW.png",_=JSON.parse('{"title":"常见问题","description":"","frontmatter":{"lang":"zh-cn","title":"常见问题"},"headers":[],"relativePath":"use/faq.md","filePath":"use/faq.md","lastUpdated":1714442589000}'),h={name:"use/faq.md"},d=i(`

常见问题

本节内容

本节将提供一些常见问题的解决方式,方便快速解决。如果你的问题并没有在这里得到答案,欢迎加入官方群寻求帮助。

为啥海豹不理我?

可能性一:你尝试私聊海豹核心,但并非是海豹账号的好友;

可能性二:如果是 QQ 平台,骰子账号遭到了风控;

可能性三:你使用的指令/扩展被关闭了。例如当 coc7 扩展关闭时,sc 等指令是不会回应的;这时需要执行 .ext coc7 on 开启对应扩展。

如果你是骰主,可以在 WebUI 查看日志,以确定海豹核心是否收到了指令、是否正确做出了响应。

如果你无法理解发生了什么,或者需要更多帮助,欢迎加入官方答疑群。

可以关闭暗骰吗?

海豹核心不支持关闭暗骰。但是,海豹不会与非好友帐号私聊,所以不必担心暗骰会影响帐号安全。

退群指令?

以下指令均可:

text
.bot bye
+.bot exit
+.dismiss

骰主也可以 WebUI 的群组管理中操作退群。

登录服务器开浏览器使用好麻烦!能远程直接访问 WebUI 吗?

对于大部分有公网 IP 的服务器都可以,但是需要你进行一些配置。

  1. 在 WebUI 修改配置,让海豹 WebUI 运行在公开端口而不是本地端口;

  2. 在基本设置中设置 WebUI 访问密码;

  3. 修改你服务器的防火墙(根据服务提供商,也可能称为「安全组」等),以允许远程 TCP 访问海豹端口。

    1. 如果你使用的是 Oracle Linux 或类似服务器,还需要在服务器系统中放行端口:

      bash
      sudo iptables -I INPUT -s 0.0.0.0/0 -p tcp --dport 3211  -j ACCEPT
    2. 如果你使用 Windows 服务器,需要关闭系统内置防火墙或设置端口放行。

  4. 使用 http://<服务器IP地址>:3211 访问 WebUI。

在服务器上登录时说「需要在同一 WIFI 下扫码」怎么办

首先确认使用安卓协议,并且输入密码登录(不要使用无密码的扫码登录,现在已经很不好用了)。

有几种办法:

1. [首选] 让手机跟服务器真的处于同一个网络

  1. 配置防火墙

    配置你的服务器,允许外部访问 13325 端口。

    补充

    以腾讯云轻量服务器为例,点入「服务器」,再点击卡片。

    服务器配置

    进入后点击「防火墙」,随后「添加规则」,这里选择 TCP 协议,端口输入 13325(演示图片中为 13326),点击确定。

    放通防火墙

    搞定,其他服务商大同小异。

    特别的,如果是 Windows Server 2012R2 及以上系统,请再额外关闭系统防火墙或设置规则放行。具体做法搜索关键字 Windows server 关闭防火墙

  2. 服务器端运行工具

    在海豹骰中集成了 socks 工具,点击图中「辅助工具 -13325 端口」按钮。

    登录弹窗

    稍等片刻后,出现如下窗口。

    辅助工具弹窗

    点击 OK。

    运行起来之后,显示一串这样的文本:

    text
    http/socks5简易工具©sealdice.com
    +将在服务器上开启一个 socks5 服务,端口 13325,默认持续时长为 25 分钟
    +将在服务器上开启一个 http 代理服务,端口 13326,默认持续时长为 25 分钟
    +
    +可能的公网 IP:  12.34.56.78
    +请于服务器管理面板放行你要用的端口 (一般为 13325 即 socks),协议 TCP
    +如果是 Windows Server 2012R2 及以上系统,请再额外关闭系统防火墙或设置规则放行
    +
    +正在启动服务:0.0.0.0:13326
    +正在启动服务:0.0.0.0:13325
  3. 手机端连接

你需要一个代理软件,比如 postern,如果可能的话你可以从 Google Play 下载,你也可以在用户群里找到它。

然后在你将要扫码的手机上启动它,弹出的窗口都点击确定

点击默认存在在的代理,将他删除,然后点击添加代理服务器,按照下图填写。

postern 配置代理服务器

保存后点击左上角 Postern 的图标,点击配置规则,类似前文删除代理,删除掉默认的规则 1 和规则 2,然后点击添加规则。如图选择匹配类型和动作,之后会自动填入代理/代理组。

postern 配置规则

保存后重启软件。

现在就配置完成了。手机上打开浏览器进入 https://ip138.com/,如果显示的 IP 地址和服务器一样,那么配置正确。

如果打不开网页或提示「当前 WiFi 不能访问网络」,可能是防火墙没配置好。如果 IP 不一样,可能是代理没配置上。

如果你使用 iOS 手机,可以使用 Potatso 替代 Postern。

现在可以进入海豹 WebUI,重新进行登录流程了。如果以后再出类似情况,直接重复步骤 2、3 即可。

2. 本机上完成扫码登录,然后将登录过的配置文件覆盖到服务器上

具体目录是 data/default/extra/go-cqhttp-qq12345

当然如果你没做过自定义配置,可以整个复制。

使用密码登录,重试 3 次左右,有概率直接上号

AT 其他骰子做检定的时候,海豹也会回应,怎么办

使用这个指令将其他骰子进行标记:

text
.botlist add @骰子A @骰子B

会有如下效果:

  1. 当有人@该骰发指令,海豹不会做出回应
  2. 该骰发出的指令和消息,海豹不会回应,这可以有效避免关键词触发的无限复读

为啥好像反应慢一拍

首先确定是否为网络问题。如果你是骰主,可在后台的日志中检查收到指令的实际时间和发出响应的实际时间。

对于 QQ 平台,发送消息会有随机延迟,这是为了防止引起企鹅的警惕。随机延迟间隔 0.4 - 0.9 秒,可以在设置中调整。

我希望在我的骰子进群或者被踢出时通知我

在 WebUI 的「综合设置 - 基本设置」页面。在「消息通知列表」中可以添加消息通知的接收者。支持个人、群聊、电子邮箱作为接收者。

在海豹核心发生 收到加群邀请、收到好友邀请、进入群组、被踢出群、被禁言、自动激活、指令退群 时,会给消息通知列表的各个接收者发送通知。

支持 QQ 频道吗?

支持,默认不记录频道消息,也不自动开启。邀请入频道后 @骰子 .bot on 即可开启。

在 WebUI 的「综合设置 - 基本设置」可以进行配置。特别的,骰子不会自动同意频道邀请,需要骰主上号同意。

怎么同时运行多个海豹?

Windows 系统

在 Windows 系统运行两个是很简单的:

我们假设你的第一只海豹已经配置好了,当前正在运行,端口为默认的 3211。

现在,你需要使用安装包,在另一个目录再解压一份海豹核心。

进入新的目录,像运行第一只海豹一样直接双击执行。它会自动检测端口,因为 3211 端口已经被占用,会弹窗询问是否更换端口,直接点是就可以了。

如果你想在 Windows 系统指定端口,需要一点操作

在每一个你需要指定端口的海豹核心目录下创建一个 启动.cmd,用文本编辑器编辑,内容为:

bash
sealdice-core --address=0.0.0.0:<端口号> -m

其中的 <端口号> 替换成你希望指定的端口号。然后双击 启动.cmd 运行。

你只需在第一次启动时这样做,这个端口号会被写入配置中供后续启动使用。

除 Android 外的其他系统

通常来说,你在这些系统上是通过命令行(终端)来启动海豹核心。

将安装包解压到你为新海豹准备的目录,在初次启动海豹时,使用以下命令:

bash
./sealdice-core --address=127.0.0.1:<端口号>

将在你系统上,占用指定的端口号,启动一个不向互联网公开的新海豹核心。

我机器上启动非常慢,而且托盘点不出来右键菜单?

请确认你的硬盘状态是否还好,一般来说是磁盘 I/O 性能过低导致的,常见于软路由设备。

这种情况可以删除 data/helpdoc/ 目录来提速,代价是无法使用查询指令。

能在手机上搭建吗?

手机海豹已经公测啦!详见 搭建 章节。

我是 Master,怎么帮人取出 Log?

详见 这一章节

骰主具有很大的权限,所以还请各位选择自己信任的骰主,也请各位骰主谨慎对待大家的信任!

我忘了 WebUI 密码

首先彻底关闭海豹。

用文本编辑器打开 dice/dice.yaml,删除 uiPasswordHash 一行,保存。

重新启动海豹。

',79),c=[d];function g(k,b,u,m,q,F){return e(),s("div",null,c)}const x=a(h,[["render",g]]);export{_ as __pageData,x as default}; diff --git a/assets/use_faq.md.C-CouVzm.lean.js b/assets/use_faq.md.C-CouVzm.lean.js new file mode 100644 index 000000000..dcbc7225e --- /dev/null +++ b/assets/use_faq.md.C-CouVzm.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as e,a8 as i}from"./chunks/framework.C7ysi3tu.js";const t="/sealdice-manual-next/assets/image-20221009004030395.3916Tv_z.png",p="/sealdice-manual-next/assets/image-20221009003612068.Wt604XDQ.png",n="/sealdice-manual-next/assets/image-20230109202133901.DO1uTTAZ.png",l="/sealdice-manual-next/assets/image-20230109203431758.TT_W720a.png",o="/sealdice-manual-next/assets/image-20230109205906109.D-KrjuYJ.png",r="/sealdice-manual-next/assets/image-20230109210448115.DDApTHsW.png",_=JSON.parse('{"title":"常见问题","description":"","frontmatter":{"lang":"zh-cn","title":"常见问题"},"headers":[],"relativePath":"use/faq.md","filePath":"use/faq.md","lastUpdated":1714442589000}'),h={name:"use/faq.md"},d=i("",79),c=[d];function g(k,b,u,m,q,F){return e(),s("div",null,c)}const x=a(h,[["render",g]]);export{_ as __pageData,x as default}; diff --git a/assets/use_fun.md.DzOhdGiw.js b/assets/use_fun.md.DzOhdGiw.js new file mode 100644 index 000000000..409de92ce --- /dev/null +++ b/assets/use_fun.md.DzOhdGiw.js @@ -0,0 +1,16 @@ +import{_ as i,D as _,c as r,j as e,I as t,a as o,w as n,a8 as a,o as u}from"./chunks/framework.C7ysi3tu.js";const Pe=JSON.parse('{"title":"功能","description":"","frontmatter":{"lang":"zh-cn","title":"功能"},"headers":[],"relativePath":"use/fun.md","filePath":"use/fun.md","lastUpdated":1719473374000}'),p={name:"use/fun.md"},h=a('

功能

本节内容

本节将展示海豹的「功能」扩展提供的指令,主要为快捷指令、ping、welcome 等额外指令,同时也包括今日人品、智能鸽子等娱乐相关指令。

此外,小众规则指令暂时也放在本扩展中。请善用侧边栏和搜索,按需阅读文档。

.jrrp 今日人品

.jrrp

今日人品是一个每个用户独立、每天刷新的 D100 随机数。你可通过 自定义文案 编写对它的解读。

.gugu 人工智能鸽子

.gugu.咕咕

',7),m={class:"info custom-block"},g=e("p",{class:"custom-block-title"},"示例",-1),b=e("p",null,[e("code",null,".gugu 来源"),o(" 查看鸽子背后的故事。")],-1),f={class:"info custom-block"},k=e("p",{class:"custom-block-title"},"示例",-1),T=e("h2",{id:"jsr-不重复骰点",tabindex:"-1"},[e("code",null,".jsr"),o(" 不重复骰点 "),e("a",{class:"header-anchor",href:"#jsr-不重复骰点","aria-label":'Permalink to "`.jsr` 不重复骰点"'},"​")],-1),x=e("p",null,[e("code",null,".jsr <次数># <面数> [<原因>]"),o(" 投掷指定面数的骰子指定次数,使每一次的结果都不相同。")],-1),w={class:"info custom-block"},P=e("p",{class:"custom-block-title"},"示例",-1),v=a('

以这种方式骰出的点数会自动成为一个骰池,供 drl 指令使用。

.drl 骰池抽取

骰池(Draw Lot)是一组来自相同面数骰子、出目互不相同的骰点,支持每次抽取一个。骰池是每个群组共用的。

.drl new <个数># <面数> 创建一个指定数量、指定面数的骰池。

.drl / .drlh 从当前骰池抽取一个数值,后者将结果私聊发送。

',5),S={class:"info custom-block"},D=e("p",{class:"custom-block-title"},"示例",-1),I=e("h2",{id:"text-文本模板测试",tabindex:"-1"},[e("code",null,".text"),o(" 文本模板测试 "),e("a",{class:"header-anchor",href:"#text-文本模板测试","aria-label":'Permalink to "`.text` 文本模板测试"'},"​")],-1),A=e("p",null,[e("code",null,".text <文本模板>")],-1),q=e("p",null,"骰子会将模板内容解析后返回,其中含有的表达式和变量都将被求值。",-1),C={class:"info custom-block"},V=e("p",{class:"custom-block-title"},"示例",-1),N=e("h2",{id:"send-向骰主发送消息-回复消息",tabindex:"-1"},[e("code",null,".send"),o(" 向骰主发送消息 / 回复消息 "),e("a",{class:"header-anchor",href:"#send-向骰主发送消息-回复消息","aria-label":'Permalink to "`.send` 向骰主发送消息 / 回复消息"'},"​")],-1),j=e("p",null,[e("code",null,".send <消息内容>")],-1),y=e("p",null,"拥有 Master 权限的用户将看到消息内容和发送者的 IM 账号,如果是来自群组,也能看到群号。",-1),B={class:"info custom-block"},z=e("p",{class:"custom-block-title"},"示例",-1),R=e("p",null,[e("code",null,".send to <对方ID> <消息内容>")],-1),E=e("p",null,"Master 可以通过这个指令进行回复。目标 ID 可以是群号,也可以是个人的 IM 账号。将收到的消息中的对应 ID 复制到此处即可。",-1),M={class:"info custom-block"},Q=e("p",{class:"custom-block-title"},"示例",-1),$=e("h2",{id:"welcome-新人入群欢迎",tabindex:"-1"},[e("code",null,".welcome"),o(" 新人入群欢迎 "),e("a",{class:"header-anchor",href:"#welcome-新人入群欢迎","aria-label":'Permalink to "`.welcome` 新人入群欢迎"'},"​")],-1),O=e("p",null,[e("code",null,".welcome (on|off)"),o(" 开启、关闭功能")],-1),G=e("p",null,[e("code",null,".welcome show"),o(" 查看当前欢迎语")],-1),W=e("p",null,[e("code",null,".welcome set <欢迎语>"),o(" 设定欢迎语")],-1),Y={id:"ping-指令响应测试",tabindex:"-1"},J=e("code",null,".ping",-1),L=e("a",{class:"header-anchor",href:"#ping-指令响应测试","aria-label":'Permalink to "`.ping` 指令响应测试 "'},"​",-1),U=e("code",null,".ping",-1),Z=e("p",null,[e("code",null,".ping"),o(" 海豹回复你一条消息。")],-1),F={class:"info custom-block"},H=a('

为什么要有这个指令?

对于绝大多数情况,这个指令似乎都没有实际作用。事实上,这个指令的存在是为了解决 QQ 官方 Bot 在频道私聊中的以下问题:

如果你向机器人连续发送 3 条频道私聊消息而没有收到回复,在机器人回复你之前,你将无法继续发送频道私聊消息。 而机器人并不会主动向你发送消息,这就造成了死锁。

此时,你可以在频道中向海豹核心发送 .ping 指令,海豹核心会在频道私聊中回复你,以打破死锁。

',4),K=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"提示"),e("p",null,"如果出现类似场景,可以发现 QQ 会提示你已经禁止再向骰子发送私聊消息,要求在骰子回应后才能再次发送。"),e("p",null,"但用户已经无法再通过私聊发送正确的指令,触发骰子的回应了。"),e("p",null,[o("此时,用户可以去频道公屏发送一个 "),e("code",null,".ping"),o(" 指令。")])],-1),X={id:"alias-定义快捷指令-使用快捷指令",tabindex:"-1"},ee=e("code",null,".alias",-1),te=e("code",null,".&",-1),oe=e("a",{class:"header-anchor",href:"#alias-定义快捷指令-使用快捷指令","aria-label":'Permalink to "`.alias` 定义快捷指令 & `.&` 使用快捷指令 "'},"​",-1),se=e("code",null,".alias",-1),ne=e("code",null,".&/.a <快捷指令>",-1),ce=a("

.alias <别名> <指令>.&<别名> 定义为指定指令的快捷触发方式。在群聊中默认定义群快捷指令。

.alias --my <别名> <指令>.&<别名> 定义为个人快捷指令。

.alias del/rm <别名> 删除快捷指令。在群聊中默认删除群快捷指令。

.alias del/rm --my <别名> 删除个人快捷指令。

.alias show/list 显示目前可用的快捷指令。

使用快捷指令的方式如下,支持携带参数:

.& <别名> [可能的参数].a <别名> [可能的参数]

海豹支持 个人快捷指令群快捷指令 两种模式:

  • 个人快捷指令:与用户关联,定义后用户可以在私聊、骰子所在的所有群进行使用。
  • 群快捷指令:与群关联,定义后该群内所有人都可以使用。
",9),le={class:"info custom-block"},ae=e("p",{class:"custom-block-title"},"快捷指令示例",-1),de=a('

额外 TRPG 规则支持

.ww WOD 规则骰点

.ww <表达式> 骰点,表达式用法请参考 核心指令 节。

特别地,使用 ww 指令时允许省略加骰线 aY,这时将使用默认值进行骰点。

',4),_e={class:"info custom-block"},ie=e("p",{class:"custom-block-title"},"示例",-1),re=a("

.ww set <默认值> 设定默认值,默认值可以由 加骰线 aY、骰子面数 mZ、成功线 kN 中的部分任意组合。默认值的生效范围是当前群组。

.ww set clr 重置默认值为:加骰线 10、面数 10、成功线 8,即 a10m10k8

",2),ue={class:"info custom-block"},pe=e("p",{class:"custom-block-title"},"示例",-1),he=a('

.dx 双重十字规则骰点

.dx <表达式> 骰点,表达式用法请参考 核心指令 节。

.ek 共鸣性怪异规则骰点

.ek <技能名>(+<奖励骰>) (<判定线>)

.ekgen 共鸣性怪异规则属性生成

.ekgen [<数量>] 生成指定数量的共鸣性怪异角色属性。

.rsr 暗影狂奔规则骰点

.rsr <骰数> 骰点。

骰指定数量的 D6。每有一个骰子骰出 5 或 6 称为 1 成功度。

如果超过半数的骰子骰出 1,称为这次骰点「失误」;失误的同时成功度为 0,称为「严重失误」。

',10);function me(ge,be,fe,ke,Te,xe){const s=_("ChatBox"),c=_("Badge"),l=_("PluginTabsTab"),d=_("PluginTabs");return u(),r("div",null,[h,e("div",m,[g,t(s,{messages:[{content:".gugu",send:!0},{content:"🕊️:今天发版本,领导说发不完不让走"}]})]),b,e("div",f,[k,t(s,{messages:[{content:".gugu 来源",send:!0},{content:`🕊️: 前往了一个以前捕鲸的小岛度假~这里人很亲切!但是吃了这里的鱼肉料理之后有点晕晕的诶...想到前几天<木落>的短信,还是别追究他为什么不在了。 + ——鹊鹊结合实际经历创作`}]})]),T,x,e("div",w,[P,t(s,{messages:[{content:".jsr 5# 100",send:!0},{content:`<木落>掷骰5次: +D100=6 +D100=71 +D100=53 +D100=31 +D100=2`}]})]),v,e("div",S,[D,t(s,{messages:[{content:".drl",send:!0},{content:"当前群组无骰池,请使用.drl new创建一个。"},{content:".drl new 10# 1000",send:!0},{content:"创建骰池成功,骰子面数1000,可抽取10次。"},{content:".drl",send:!0},{content:"<木落>掷出了 D1000=568"},{content:".drl # 第 10 次",send:!0},{content:`<木落>掷出了 D1000=539 +骰池已经抽空,现在关闭。`}]})]),I,A,q,e("div",C,[V,t(s,{messages:[{content:".text 看看手气 {1d16}",send:!0},{content:"看看手气 2"}]})]),N,e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.5.0"}),o(" 起,海豹将此指令迁移至「功能」扩展。")]),j,y,e("div",B,[z,t(d,null,{default:n(()=>[t(l,{label:"群聊"},{default:n(()=>[t(s,{messages:[{username:"Szz",avatar:"user2",content:".send 骰主你好!"}]})]),_:1}),t(l,{label:"Master 收到的消息"},{default:n(()=>[t(s,{messages:[{content:`一条来自群组<群名>(群号),作者(用户 IM 账号)的留言: +骰主你好!`}]})]),_:1})]),_:1})]),R,E,e("div",M,[Q,t(d,null,{default:n(()=>[t(l,{label:"Master 回复"},{default:n(()=>[t(s,{messages:[{content:`一条来自群组<群名>(群号),作者(用户 IM 账号)的留言: +骰主你好!`},{content:".send to <群号> 我收到了!",send:!0}]})]),_:1}),t(l,{label:"群聊"},{default:n(()=>[t(s,{messages:[{username:"Szz",avatar:"user2",content:".send 骰主你好!"},{content:`本消息由骰主<木落>通过指令发送: +我收到了!`}]})]),_:1})]),_:1})]),$,e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.5.0"}),o(" 起,海豹将此指令迁移至「功能」扩展。")]),O,G,W,e("h2",Y,[J,o(" 指令响应测试 "),t(c,{type:"tip",text:"v1.4.2"}),o(),L]),e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.4.2"}),o(" 版本起,海豹支持 "),U,o(" 指令,用于指示海豹回复你一条消息。")]),e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.5.0"}),o(" 起,海豹将此指令迁移至「功能」扩展。")]),Z,e("div",F,[H,t(d,null,{default:n(()=>[t(l,{label:"频道私聊"},{default:n(()=>[t(s,{messages:[{content:"我发出第一条消息。",send:!0},{content:"我发出第二条消息。",send:!0},{content:"我发出第三条消息,机器人怎么还不理我?",send:!0}]}),K,t(s,{messages:[{content:"pong!这里是海豹核心!"},{content:"好耶,我又可以发私信给骰子了!",send:!0}]})]),_:1}),t(l,{label:"频道公屏"},{default:n(()=>[t(s,{messages:[{content:"@海豹核心 .ping",send:!0}]})]),_:1})]),_:1})]),e("h2",X,[ee,o(" 定义快捷指令 & "),te,o(" 使用快捷指令 "),t(c,{type:"tip",text:"v1.4.3"}),o(),oe]),e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.4.3"}),o(" 版本起,海豹支持使用"),se,o(" 定义快捷指令。同时使用 "),ne,o(" 触发快捷指令。")]),e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.5.0"}),o(" 起,海豹将此指令迁移至「功能」扩展。")]),ce,e("div",le,[ae,t(d,null,{default:n(()=>[t(l,{label:"私聊"},{default:n(()=>[t(s,{messages:[{content:".alias 终极答案 .r 11+45-14 计算生命、宇宙以及一切的问题的答案",send:!0},{content:`已成功定义指令「.r 11+45-14 计算生命、宇宙以及一切的问题的答案」的个人快捷方式「终极答案」,触发方式: +.&终极答案 或 +.a 终极答案`},{content:".&终极答案",send:!0},{content:`※ 个人快捷指令 .r 11+45-14 计算生命、宇宙以及一切的问题的答案 +由于计算生命、宇宙以及一切的问题的答案,<木落>掷出了 11+45-14=11+45-14=42`}]})]),_:1})]),_:1})]),de,e("div",_e,[ie,t(s,{messages:[{content:".ww 5",send:!0},{content:"<木落>掷出了 5a10=[成功0/5 {6,2,2,7,4}]=0"}]})]),re,e("div",ue,[pe,t(s,{messages:[{content:".ww set a6m10k9",send:!0},{content:`成功线k: 已修改为9 +骰子面数m: 已修改为10 +加骰线a: 已修改为6`},{content:".ww 5",send:!0},{content:"<木落>掷出了 5a6=[成功1/11 轮数:4 {<9*>,5,<6>,3,3},{<6>,<6>},{<6>,<7>},{5,4}]=1"},{content:".ww set clr",send:!0},{content:"骰池设定已恢复默认"}]})]),he])}const ve=i(p,[["render",me]]);export{Pe as __pageData,ve as default}; diff --git a/assets/use_fun.md.DzOhdGiw.lean.js b/assets/use_fun.md.DzOhdGiw.lean.js new file mode 100644 index 000000000..6a11c2f65 --- /dev/null +++ b/assets/use_fun.md.DzOhdGiw.lean.js @@ -0,0 +1,16 @@ +import{_ as i,D as _,c as r,j as e,I as t,a as o,w as n,a8 as a,o as u}from"./chunks/framework.C7ysi3tu.js";const Pe=JSON.parse('{"title":"功能","description":"","frontmatter":{"lang":"zh-cn","title":"功能"},"headers":[],"relativePath":"use/fun.md","filePath":"use/fun.md","lastUpdated":1719473374000}'),p={name:"use/fun.md"},h=a("",7),m={class:"info custom-block"},g=e("p",{class:"custom-block-title"},"示例",-1),b=e("p",null,[e("code",null,".gugu 来源"),o(" 查看鸽子背后的故事。")],-1),f={class:"info custom-block"},k=e("p",{class:"custom-block-title"},"示例",-1),T=e("h2",{id:"jsr-不重复骰点",tabindex:"-1"},[e("code",null,".jsr"),o(" 不重复骰点 "),e("a",{class:"header-anchor",href:"#jsr-不重复骰点","aria-label":'Permalink to "`.jsr` 不重复骰点"'},"​")],-1),x=e("p",null,[e("code",null,".jsr <次数># <面数> [<原因>]"),o(" 投掷指定面数的骰子指定次数,使每一次的结果都不相同。")],-1),w={class:"info custom-block"},P=e("p",{class:"custom-block-title"},"示例",-1),v=a("",5),S={class:"info custom-block"},D=e("p",{class:"custom-block-title"},"示例",-1),I=e("h2",{id:"text-文本模板测试",tabindex:"-1"},[e("code",null,".text"),o(" 文本模板测试 "),e("a",{class:"header-anchor",href:"#text-文本模板测试","aria-label":'Permalink to "`.text` 文本模板测试"'},"​")],-1),A=e("p",null,[e("code",null,".text <文本模板>")],-1),q=e("p",null,"骰子会将模板内容解析后返回,其中含有的表达式和变量都将被求值。",-1),C={class:"info custom-block"},V=e("p",{class:"custom-block-title"},"示例",-1),N=e("h2",{id:"send-向骰主发送消息-回复消息",tabindex:"-1"},[e("code",null,".send"),o(" 向骰主发送消息 / 回复消息 "),e("a",{class:"header-anchor",href:"#send-向骰主发送消息-回复消息","aria-label":'Permalink to "`.send` 向骰主发送消息 / 回复消息"'},"​")],-1),j=e("p",null,[e("code",null,".send <消息内容>")],-1),y=e("p",null,"拥有 Master 权限的用户将看到消息内容和发送者的 IM 账号,如果是来自群组,也能看到群号。",-1),B={class:"info custom-block"},z=e("p",{class:"custom-block-title"},"示例",-1),R=e("p",null,[e("code",null,".send to <对方ID> <消息内容>")],-1),E=e("p",null,"Master 可以通过这个指令进行回复。目标 ID 可以是群号,也可以是个人的 IM 账号。将收到的消息中的对应 ID 复制到此处即可。",-1),M={class:"info custom-block"},Q=e("p",{class:"custom-block-title"},"示例",-1),$=e("h2",{id:"welcome-新人入群欢迎",tabindex:"-1"},[e("code",null,".welcome"),o(" 新人入群欢迎 "),e("a",{class:"header-anchor",href:"#welcome-新人入群欢迎","aria-label":'Permalink to "`.welcome` 新人入群欢迎"'},"​")],-1),O=e("p",null,[e("code",null,".welcome (on|off)"),o(" 开启、关闭功能")],-1),G=e("p",null,[e("code",null,".welcome show"),o(" 查看当前欢迎语")],-1),W=e("p",null,[e("code",null,".welcome set <欢迎语>"),o(" 设定欢迎语")],-1),Y={id:"ping-指令响应测试",tabindex:"-1"},J=e("code",null,".ping",-1),L=e("a",{class:"header-anchor",href:"#ping-指令响应测试","aria-label":'Permalink to "`.ping` 指令响应测试 "'},"​",-1),U=e("code",null,".ping",-1),Z=e("p",null,[e("code",null,".ping"),o(" 海豹回复你一条消息。")],-1),F={class:"info custom-block"},H=a("",4),K=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"提示"),e("p",null,"如果出现类似场景,可以发现 QQ 会提示你已经禁止再向骰子发送私聊消息,要求在骰子回应后才能再次发送。"),e("p",null,"但用户已经无法再通过私聊发送正确的指令,触发骰子的回应了。"),e("p",null,[o("此时,用户可以去频道公屏发送一个 "),e("code",null,".ping"),o(" 指令。")])],-1),X={id:"alias-定义快捷指令-使用快捷指令",tabindex:"-1"},ee=e("code",null,".alias",-1),te=e("code",null,".&",-1),oe=e("a",{class:"header-anchor",href:"#alias-定义快捷指令-使用快捷指令","aria-label":'Permalink to "`.alias` 定义快捷指令 & `.&` 使用快捷指令 "'},"​",-1),se=e("code",null,".alias",-1),ne=e("code",null,".&/.a <快捷指令>",-1),ce=a("",9),le={class:"info custom-block"},ae=e("p",{class:"custom-block-title"},"快捷指令示例",-1),de=a("",4),_e={class:"info custom-block"},ie=e("p",{class:"custom-block-title"},"示例",-1),re=a("",2),ue={class:"info custom-block"},pe=e("p",{class:"custom-block-title"},"示例",-1),he=a("",10);function me(ge,be,fe,ke,Te,xe){const s=_("ChatBox"),c=_("Badge"),l=_("PluginTabsTab"),d=_("PluginTabs");return u(),r("div",null,[h,e("div",m,[g,t(s,{messages:[{content:".gugu",send:!0},{content:"🕊️:今天发版本,领导说发不完不让走"}]})]),b,e("div",f,[k,t(s,{messages:[{content:".gugu 来源",send:!0},{content:`🕊️: 前往了一个以前捕鲸的小岛度假~这里人很亲切!但是吃了这里的鱼肉料理之后有点晕晕的诶...想到前几天<木落>的短信,还是别追究他为什么不在了。 + ——鹊鹊结合实际经历创作`}]})]),T,x,e("div",w,[P,t(s,{messages:[{content:".jsr 5# 100",send:!0},{content:`<木落>掷骰5次: +D100=6 +D100=71 +D100=53 +D100=31 +D100=2`}]})]),v,e("div",S,[D,t(s,{messages:[{content:".drl",send:!0},{content:"当前群组无骰池,请使用.drl new创建一个。"},{content:".drl new 10# 1000",send:!0},{content:"创建骰池成功,骰子面数1000,可抽取10次。"},{content:".drl",send:!0},{content:"<木落>掷出了 D1000=568"},{content:".drl # 第 10 次",send:!0},{content:`<木落>掷出了 D1000=539 +骰池已经抽空,现在关闭。`}]})]),I,A,q,e("div",C,[V,t(s,{messages:[{content:".text 看看手气 {1d16}",send:!0},{content:"看看手气 2"}]})]),N,e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.5.0"}),o(" 起,海豹将此指令迁移至「功能」扩展。")]),j,y,e("div",B,[z,t(d,null,{default:n(()=>[t(l,{label:"群聊"},{default:n(()=>[t(s,{messages:[{username:"Szz",avatar:"user2",content:".send 骰主你好!"}]})]),_:1}),t(l,{label:"Master 收到的消息"},{default:n(()=>[t(s,{messages:[{content:`一条来自群组<群名>(群号),作者(用户 IM 账号)的留言: +骰主你好!`}]})]),_:1})]),_:1})]),R,E,e("div",M,[Q,t(d,null,{default:n(()=>[t(l,{label:"Master 回复"},{default:n(()=>[t(s,{messages:[{content:`一条来自群组<群名>(群号),作者(用户 IM 账号)的留言: +骰主你好!`},{content:".send to <群号> 我收到了!",send:!0}]})]),_:1}),t(l,{label:"群聊"},{default:n(()=>[t(s,{messages:[{username:"Szz",avatar:"user2",content:".send 骰主你好!"},{content:`本消息由骰主<木落>通过指令发送: +我收到了!`}]})]),_:1})]),_:1})]),$,e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.5.0"}),o(" 起,海豹将此指令迁移至「功能」扩展。")]),O,G,W,e("h2",Y,[J,o(" 指令响应测试 "),t(c,{type:"tip",text:"v1.4.2"}),o(),L]),e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.4.2"}),o(" 版本起,海豹支持 "),U,o(" 指令,用于指示海豹回复你一条消息。")]),e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.5.0"}),o(" 起,海豹将此指令迁移至「功能」扩展。")]),Z,e("div",F,[H,t(d,null,{default:n(()=>[t(l,{label:"频道私聊"},{default:n(()=>[t(s,{messages:[{content:"我发出第一条消息。",send:!0},{content:"我发出第二条消息。",send:!0},{content:"我发出第三条消息,机器人怎么还不理我?",send:!0}]}),K,t(s,{messages:[{content:"pong!这里是海豹核心!"},{content:"好耶,我又可以发私信给骰子了!",send:!0}]})]),_:1}),t(l,{label:"频道公屏"},{default:n(()=>[t(s,{messages:[{content:"@海豹核心 .ping",send:!0}]})]),_:1})]),_:1})]),e("h2",X,[ee,o(" 定义快捷指令 & "),te,o(" 使用快捷指令 "),t(c,{type:"tip",text:"v1.4.3"}),o(),oe]),e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.4.3"}),o(" 版本起,海豹支持使用"),se,o(" 定义快捷指令。同时使用 "),ne,o(" 触发快捷指令。")]),e("p",null,[o("从 "),t(c,{type:"tip",text:"v1.5.0"}),o(" 起,海豹将此指令迁移至「功能」扩展。")]),ce,e("div",le,[ae,t(d,null,{default:n(()=>[t(l,{label:"私聊"},{default:n(()=>[t(s,{messages:[{content:".alias 终极答案 .r 11+45-14 计算生命、宇宙以及一切的问题的答案",send:!0},{content:`已成功定义指令「.r 11+45-14 计算生命、宇宙以及一切的问题的答案」的个人快捷方式「终极答案」,触发方式: +.&终极答案 或 +.a 终极答案`},{content:".&终极答案",send:!0},{content:`※ 个人快捷指令 .r 11+45-14 计算生命、宇宙以及一切的问题的答案 +由于计算生命、宇宙以及一切的问题的答案,<木落>掷出了 11+45-14=11+45-14=42`}]})]),_:1})]),_:1})]),de,e("div",_e,[ie,t(s,{messages:[{content:".ww 5",send:!0},{content:"<木落>掷出了 5a10=[成功0/5 {6,2,2,7,4}]=0"}]})]),re,e("div",ue,[pe,t(s,{messages:[{content:".ww set a6m10k9",send:!0},{content:`成功线k: 已修改为9 +骰子面数m: 已修改为10 +加骰线a: 已修改为6`},{content:".ww 5",send:!0},{content:"<木落>掷出了 5a6=[成功1/11 轮数:4 {<9*>,5,<6>,3,3},{<6>,<6>},{<6>,<7>},{5,4}]=1"},{content:".ww set clr",send:!0},{content:"骰池设定已恢复默认"}]})]),he])}const ve=i(p,[["render",me]]);export{Pe as __pageData,ve as default}; diff --git a/assets/use_introduce.md.C_XjQB89.js b/assets/use_introduce.md.C_XjQB89.js new file mode 100644 index 000000000..8ac8566ff --- /dev/null +++ b/assets/use_introduce.md.C_XjQB89.js @@ -0,0 +1,6 @@ +import{_ as e,c as a,o,a8 as c}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"基础概念","description":"","frontmatter":{"lang":"zh-cn","title":"基础概念"},"headers":[],"relativePath":"use/introduce.md","filePath":"use/introduce.md","lastUpdated":1718381802000}'),t={name:"use/introduce.md"},d=c(`

基础概念

本节内容

这里讲的是使用海豹核心的相关事项,如果要了解如何搭建和部署骰子,请参考 部署 - 快速开始

以下内容针对从未接触过骰子的用户准备。如果你已经有使用其他骰系的经验,可以 跳过本节

什么是骰子?

骰子这里特指在即时聊天软件(如 QQ、KOOK、Discord)中为 TRPG(跑团)玩家提供方便的机器人。顾名思义,骰子提供各种基于各种跑团规则(如 CoC、D&D)的骰点服务, 同时还包括技能检定、日志记录(Log)等功能。一些骰子服务,包括 SealDice,还提供一系列的自定义和娱乐功能。

获取和使用

最简单的方法就是自己 搭建 一个海豹骰自用(私骰),也可以从 SealDice 公骰列表 中寻找一个面向公众提供服务的骰子(公骰)。

一般而言,公骰是免费的。但他们的维护者(骰主)一般都要求用户严格遵循使用协议,使用前请使用 .help 协议 指令了解你需要注意哪些事项。

危险:QQ 骰子的使用注意项

QQ 并未提供公开的机器人接口,因此机器人只能使用第三方软件作为假用户接入。QQ 可能会检测到这些机器人,将它们视为诈骗而予以警告、封禁,甚至永久冻结。

因此,在 QQ 使用骰子有许多约定俗成的规则,例如必须使用指令使骰子退群,而严禁直接移出群聊。为了尊重骰主的劳动成果,你应该遵守这些规则。

在 QQ 上,你需要和骰子成为好友,然后拉入群组使用;在其他平台,一般使用邀请链接或者其他方式(详细操作请查看对应平台的相关使用文档)将机器人邀请进服务器、频道,或群组。之后,你可以通过触发 指令回复自定义回复 来使用骰子机器人了。

指令回复

指令是和骰子互动的基本方式。一个指令由指令前缀、指令名、指令参数、指令标志组成。

指令前缀

为了避免意外触发,指令前面都带有前缀,如 .help 协议 中的 .。按照习惯,指令前缀一般是便于输入的中英文句号,通常是 .

海豹核心提供了自定义指令前缀功能,因此,其他符号如 /,甚至一段话 哦,我的骰子, 都可以被用作前缀。如果你使用公骰,请注意查阅它的使用说明。

指令名

.help 协议 为例,其中的 help 就是指令名。指令可以有别名,例如 查询 就是 find 的别名。

指令的行为与预期不符?

海豹通过 扩展 来组织功能和指令,指令名只要求在同一扩展内不重复。

如果你发现指令的回复与预期不符合,有可能是没有开启正确的扩展,从而执行了来自其他扩展的指令。

例如,CoC 和 D&D 都存在掷骰检定指令 rc,你需要通过扩展管理指令 ext 来开启其中一个、关闭另一个,以控制指令的行为。

指令参数

.help 协议 为例,其中 协议 就是指令参数,参数提供指令所需要的信息。

虽然海豹在一定程度上可以兼容 .help协议 这种情况,但是在指令名与参数、参数与参数之间添加空格能保证海豹骰识别指令时准确无误,避免出现预期外情况。

提示:获取指令帮助

多数情况下,第一个参数为 help,或者没有正确提供指令所需参数时会返回指令的帮助信息。例如,下面是 find 指令返回的帮助信息:

text
查询指令,通常使用全文搜索(x86 版)或快速查询(arm, 移动版)
+.find/查询 <关键字>      // 查找文档。关键字可以多个,用空格分割
+.find#<分组> <关键字>    // 查找指定分组下的文档。关键字可以多个,用空格分割
+.find <数字 ID>          // 显示该 ID 的词条
+.find --rand           // 显示随机词条
+.find <关键字> --num=10 // 需要更多结果

依照惯例,帮助说明中的的一些符号有特定含义,说明如下:

  1. <关键字> 的尖括号 <> 表示你应以相应内容替换此处内容。

    正常的用例:.find 火球术 错误的用例:.find <火球术>

  2. 不带有尖括号的内容是字面量,你应该原样输入这里的内容。

  3. [关键字] 的括号 [] 表示此参数可以被省略。

  4. (关键字1|关键字2) 的圆括号 () 搭配竖线 | 表示必须在所列各项中选择一个。

  5. [关键字1|关键字2] 的方括号 [] 搭配竖线 | 表示可以在所列各项中选择一个,或不选择此项。

指令标志

标志(flag)和参数相似,但不同于参数往往需要处于按照一定的顺序出现,标志可以无序排列。标志通过特定的关键字(key)来辅助识别,一般形式为 --key=value 或者 --key

注意

一些系统(如 iOS)会将两个连字符(hyphen)-- 自动转换为短画线(en dash),输入 flag 时请注意辨别。

自定义回复

自定义回复 形式自由,触发机制多样(关键字、正则表达式等),并且能配合海豹核心独特的变量系统使用。

海豹核心没有预置的自定义回复,完全由骰主自行设定。因此每个骰子使用自定义回复的方法可能完全不同。

如果你使用公骰,请参阅相应的使用文档以了解骰主设定的自定义回复。

`,28),s=[d];function l(n,p,i,r,h,u){return o(),a("div",null,s)}const g=e(t,[["render",l]]);export{f as __pageData,g as default}; diff --git a/assets/use_introduce.md.C_XjQB89.lean.js b/assets/use_introduce.md.C_XjQB89.lean.js new file mode 100644 index 000000000..ac6bffe70 --- /dev/null +++ b/assets/use_introduce.md.C_XjQB89.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o,a8 as c}from"./chunks/framework.C7ysi3tu.js";const f=JSON.parse('{"title":"基础概念","description":"","frontmatter":{"lang":"zh-cn","title":"基础概念"},"headers":[],"relativePath":"use/introduce.md","filePath":"use/introduce.md","lastUpdated":1718381802000}'),t={name:"use/introduce.md"},d=c("",28),s=[d];function l(n,p,i,r,h,u){return o(),a("div",null,s)}const g=e(t,[["render",l]]);export{f as __pageData,g as default}; diff --git a/assets/use_log.md.DyRSNH8s.js b/assets/use_log.md.DyRSNH8s.js new file mode 100644 index 000000000..3ef3f36a0 --- /dev/null +++ b/assets/use_log.md.DyRSNH8s.js @@ -0,0 +1 @@ +import{_ as o,c as e,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"日志","description":"","frontmatter":{"lang":"zh-cn","title":"日志"},"headers":[],"relativePath":"use/log.md","filePath":"use/log.md","lastUpdated":1718381802000}'),c={name:"use/log.md"},d=t('

日志

本节内容

本节将展示记录跑团日志相关的指令,请善用侧边栏和搜索,按需阅读文档。

.log 跑团日志

记录日志

对于每个群组,有若干个日志记录和一个当前日志。日志记录是本群记录过的所有日志。当前日志指向本群的其中一个日志记录,可以为空,但不会存在多个。

注意

海豹核心的日志记录只在骰子启用时进行。

即,如果你在一个群中通过 .bot off 关闭了骰子,即使有记录中的日志,也会暂停。

.log new <日志名>

新建一份日志,并且开始记录。

如果本群的当前日志不为空,则不能创建。如果创建成功,将本群的当前日志设定成新日志。

.log on [<日志名>]

如果不指定日志名,如果当前日志存在,则开始记录本群的当前日志。

如果指定日志名,则开始记录指定的日志,当前日志设定为指定的日志。

.log off

暂停记录当前日志。

.log halt / .log end

停止记录当前日志,将本群的当前日志设定为空。

如果使用的是 .log end,还会向海豹日志染色器上传日志,并返回一个获取链接。

停止的日志并不会丢失,仍然存在于本群的日志记录中,可以使用 .log on <日志名> 继续记录。

数据统计

.log stat [<日志名>] / .stat log [<日志名>]

统计指定日志中检定的成功失败数量,与角色的属性数值变化。

如果本群的当前日志不为空,可以省略日志名,统计当前日志。

管理日志

.log list

列出本群的所有日志记录。

.log get <日志名>

重新获取指定日志的染色器链接。

.log del <日志名>

删除指定日志。

注意

删除的日志在海豹核心中永远失去,无法再继续记录。

如果已经上传到染色器,该链接仍然可以使用。你也可以在海豹核心中的 data/default/log-exports/ 目录寻找日志的文件快照。

.log export <日志名>

如果平台支持发送文件,海豹核心将以 txt 文本文件的形式发送指定日志的全文。

.log export <日志名> <邮箱地址> [<更多邮箱地址>...]

如果骰子配置了发件邮箱(见 UI「综合设置 - 基本设置」),海豹核心可以以 txt 文件附件的形式,向每个指定的邮箱地址发送指定日志的全文。

多个收件邮箱用空格隔开。

骰主代取 Log

对于已经解散/退出的群聊,如果还想要取出其中的日志,需要知道对应的群号。

你可在任意有 Master 权限的交互平台做以下操作:

首先使用 .log list <群号> 列出该群的所有日志记录。

然后,使用 .log masterget <群号> <日志名> 获取指定日志记录的染色器链接。

UI 中管理跑团 Log

作为骰主,你也可以在管理后台的 扩展功能 - 跑团日志 界面,管理所有群的所有日志。

.ob 旁观

.ob

让使用者成为观众。

这个指令的作用实际是给使用者的名字上前缀 ob。不会造成其他的效果。

对于海豹日志染色器,名字前缀有 ob 的用户发言可以被一键去除。

.ob exit

如果使用者的名字有ob前缀,这个指令将其去除。

.sn 自动群名片

开启后,当用户角色卡的数值变化时,自动更新用户的群名片。

更改其他玩家的名片,需要骰子账号有适当的权限。

对于 QQ,这个权限是群主或群管理员。

预设模板

.sn coc / .sn cocL角色名 SAN70 HP14/14 DEX60

克苏鲁的呼唤常用格式,使用 cocL 以在名片中使用小写字母。

.sn dnd角色名 HP10/10 AC8 DC6 PP8

龙与地下城常用格式。

.sn none角色名

空白名片,当角色名变化时也会自动更新。

扩展规则

有些插件提供的扩展规则也定义了名片模板。对于这样的扩展规则,可以使用 .sn <规则名> 使用其模板。

自定义模板

.sn expr <模板>

在模板中使用变量以自动更新。

例如,CoC 模板的等价写法是 .sn expr {$t玩家_RAW} SAN{san} HP{hp}/{hpmax} DEX{dex}

关闭自动修改

.sn off

.hiy 数据统计

海豹核心不提供统计整体成功率的功能。

',68),p=[d];function l(s,r,i,n,h,g){return a(),e("div",null,p)}const m=o(c,[["render",l]]);export{u as __pageData,m as default}; diff --git a/assets/use_log.md.DyRSNH8s.lean.js b/assets/use_log.md.DyRSNH8s.lean.js new file mode 100644 index 000000000..198231e3f --- /dev/null +++ b/assets/use_log.md.DyRSNH8s.lean.js @@ -0,0 +1 @@ +import{_ as o,c as e,o as a,a8 as t}from"./chunks/framework.C7ysi3tu.js";const u=JSON.parse('{"title":"日志","description":"","frontmatter":{"lang":"zh-cn","title":"日志"},"headers":[],"relativePath":"use/log.md","filePath":"use/log.md","lastUpdated":1718381802000}'),c={name:"use/log.md"},d=t("",68),p=[d];function l(s,r,i,n,h,g){return a(),e("div",null,p)}const m=o(c,[["render",l]]);export{u as __pageData,m as default}; diff --git a/assets/use_other_rules.md.B5IXaaX8.js b/assets/use_other_rules.md.B5IXaaX8.js new file mode 100644 index 000000000..fe4f9046d --- /dev/null +++ b/assets/use_other_rules.md.B5IXaaX8.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,a8 as o}from"./chunks/framework.C7ysi3tu.js";const _=JSON.parse('{"title":"其它规则支持","description":"","frontmatter":{"lang":"zh-cn","title":"其它规则支持"},"headers":[],"relativePath":"use/other_rules.md","filePath":"use/other_rules.md","lastUpdated":1715446720000}'),t={name:"use/other_rules.md"},s=o('

其它规则支持

本节内容

本节是海豹支持的其他 TRPG 规则的索引。

这些规则因指令数量少或仍在预览阶段的原因,未被单独作为扩展。下面将引导你跳转到对应规则的具体命令支持页。

绿色三角洲 Delta Green

「绿色三角洲」(Delta Green,简称 DG)是克苏鲁的呼唤(CoC)的拓展规则,同时也是作为游戏核心的秘密组织的名字。绿色三角洲是保护人类免遭旧日支配者威胁的「抗神组织」,其队员(特工)大多在政府部门工作,组织本身是非官方且非法的存在。他们的敌人不仅是旧日支配者的眷族或崇拜者,同时也包括操弄禁忌知识的人类势力。

参阅 克苏鲁的呼唤 7 版 # 设置房规,使用 .setcoc dg 切换到 DG 支持。

黑暗世界 World of Darkness

「黑暗世界」(World of Darkness,简称 WOD)是一款超自然题材的 TRPG 游戏。在这个世界中,所有阴谋论都是真的,都市传说不再是什么可以轻松无视的「故事」。你可能会从镜子里召唤出血腥玛丽,也可能登上电梯后不慎消失在超市的某个漆黑楼层中。

参阅 功能 # WOD 规则骰点

双重十字 Double Cross

「双重十字」(Double Cross,简称 DX)是一款日系超能力战斗 TRPG 游戏。在病毒感染了绝大多数人类使得他们进化为超能力者的时代,PL 在 GM 的指引下为了守护重要的人或者日常生活而战斗。

参阅 功能 # 双重十字规则骰点

暗影狂奔 Shadowrun

「暗影狂奔」(Shadowrun,简称 SR)是一款科学奇幻 TRPG 游戏,背景设定在近未来的灵气复苏赛博朋克虚构世界中。

参阅 功能 # 暗影狂奔规则骰点

共鸣性怪异 Emoklore

与我们所生活的现实颇为相似的另一个世界。

超常的存在——「怪异」——确确实实地存在于人们身边的世界。

这就是《共鸣性怪异 TRPG》的舞台。

参阅 功能 # 共鸣性怪异规则骰点

更多规则

除了上述由官方提供支持的规则之外,海豹社区还通过插件的形式为其它规则提供了支持,向你所使用的骰子主人请求安装相应插件吧。

参阅 配置 - JavaScript 插件,在插件仓库中获取相应插件。

',22),l=[s];function n(h,d,c,i,p,u){return r(),a("div",null,l)}const m=e(t,[["render",n]]);export{_ as __pageData,m as default}; diff --git a/assets/use_other_rules.md.B5IXaaX8.lean.js b/assets/use_other_rules.md.B5IXaaX8.lean.js new file mode 100644 index 000000000..23a8269be --- /dev/null +++ b/assets/use_other_rules.md.B5IXaaX8.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,a8 as o}from"./chunks/framework.C7ysi3tu.js";const _=JSON.parse('{"title":"其它规则支持","description":"","frontmatter":{"lang":"zh-cn","title":"其它规则支持"},"headers":[],"relativePath":"use/other_rules.md","filePath":"use/other_rules.md","lastUpdated":1715446720000}'),t={name:"use/other_rules.md"},s=o("",22),l=[s];function n(h,d,c,i,p,u){return r(),a("div",null,l)}const m=e(t,[["render",n]]);export{_ as __pageData,m as default}; diff --git a/assets/use_quick-start.md.C38Ae4xU.js b/assets/use_quick-start.md.C38Ae4xU.js new file mode 100644 index 000000000..867b9f656 --- /dev/null +++ b/assets/use_quick-start.md.C38Ae4xU.js @@ -0,0 +1 @@ +import{_ as t,c as d,o as e,a8 as o}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"快速上手","description":"","frontmatter":{"lang":"zh-cn","title":"快速上手"},"headers":[],"relativePath":"use/quick-start.md","filePath":"use/quick-start.md","lastUpdated":1718381802000}'),c={name:"use/quick-start.md"},a=o('

快速上手

本节内容

本节将展示 TRPG 跑团过程玩家使用海豹骰的常用指令和一般流程,请善用搜索,按需阅读文档。

常用指令速查

核心指令
动作指令
移出骰子.bot bye / .dismiss
开关骰子.bot on/off
开关自定义回复.reply on/off
新建日志.log new <日志名>
暂停/恢复日志记录.log off/on
结束并获取日志.log end
重新获取日志.log get <日志名>
掷骰
动作指令
掷骰.r <x>d<y>,并有诸多扩展写法
检定.ra <技能>
暗骰 / 暗中检定.rh <x>d<y> / .rah <技能>
代替检定.ra <技能> @代替目标
设定默认骰子面数.set <面数>
角色卡
动作指令
新建空白卡.pc new <角色名>
修改角色名.nn <角色名>
录入数据.st <属性><值>
列出数据.st show [<属性>]
列出角色卡.pc list
绑定角色卡.pc tag <角色名>
删除角色卡.pc del <角色名>
自动名片.sn (参考说明)
CoC 7th
动作指令
切换到 CoC 规则.set coc
生成随机属性数值.coc <数量>
理智检定.sc <成功时失去理智>/<失败时失去理智>
对抗检定.rav <自身技能> <对手技能> @对手
奖励骰与惩罚骰.ra (b|p)<数量> <技能>
疯狂症状.ti 即时疯狂症状,.li 总结性疯狂症状
技能成长.en <技能>
切换房规.setcoc details 列出房规,.setcoc <序号> 设定房规
D&D 5E
动作指令
切换到 D&D 规则.set dnd
生成随机属性值.dnd <数量>
优势/劣势掷骰.r d(优势|劣势)
检定.rc [优势|劣势] <技能>[+<调整值>]
先攻.ri (<角色名>)
先攻列表.init
随机 D&D 名字.namednd <种族> <数量>
其它
动作指令
给骰主发送消息.send <消息>
获取帮助.help <指令名称>
搜索词条.find <关键字>
暗影狂奔掷骰.rsr
WoD 掷骰.ww
双十字掷骰.dx
共鸣性怪异掷骰 / 生成属性.ek / .ekgen

通常流程

玩家视角

这一段落是以玩家视角而非主持人视角编写的。

如果你想主持游戏,我们推荐你较为完整地了解海豹核心提供的各种指令,尤其是 CoC 指令与 D&D 指令相冲突的部分。

游戏主持人邀请你进入群聊(根据平台不同,也可能是频道、服务器等,本节以群聊代称)。

提示:尊重主持人与其他玩家

如果你对于玩法还不熟悉,在主持人要求你使用骰子时才动作,或者在动作前请求主持人的许可。

你可能用到以下指令:

  • nn 命名角色卡
  • st 设置和修改角色卡属性
  • sn 设置自动名片
  • r 掷骰:需要产生一个随机数的时候,例如伤害值
  • ra/rc 检定:你使用一个技能
  • 根据你使用的规则,你还可能用到其他指令,请参考下面的段落。

如果还需要使用这张人物卡,并且不在这个群聊使用:

  • pc save 保存到角色卡列表
  • 你还会用到其他指令才能在其他群聊使用这张角色卡。参考 .pc help

秘密团

按照主持人的要求,你需要在不同群聊中使用同一角色卡,并且需要数据互相同步。

  • pc new <角色名> 创建一张可以跨群聊使用的角色卡并绑定到当前群聊
  • pc tag <角色名> 将指定角色卡绑定到当前群聊

通过这种方式,你可在不同群聊之间使用同一角色卡。在任意群聊产生的数据修改都会自动同步到其他绑定的群聊。

进行 CoC 游戏

创作角色卡

.coc <数量> 生成指定数量的随机属性。

理智检定 San Check

.sc <成功时失去理智>/<失败时失去理智>

例如:.sc 0/1 .sc 1/1d4 .sc 1d10/1d100

抽取疯狂症状

.ti 抽取即时疯狂症状;

或者,在主持人要求时 .li 抽取总结性疯狂症状。

技能成长

.en <技能> 对技能进行一次成长。

进行 D&D 游戏

创作角色卡

.dnd <数量> 生成指定数量的随机属性。

设定先攻值

.ri <先攻值> 设定自己的先攻值。

先攻值支持以下三种写法:

  1. 12 直接写数值
  2. +2 写调整值,表示 D20+2
  3. =D20+2 写骰点式

设定临时属性

.buff <参数> 设定临时属性。参数的写法参考角色数据录入的 st 指令。

法术位

.ss 指令设定角色的法术位。请使用 .ss help 查看用法。

.cast 指令使用法术。请使用 .cast help 查看用法。

长休

.longrest 指令使角色进行长休。

死亡豁免

.ds 指令进行死亡豁免。请使用 .ds help 查看用法。

',48),r=[a];function l(s,i,h,n,p,b){return e(),d("div",null,r)}const g=t(c,[["render",l]]);export{m as __pageData,g as default}; diff --git a/assets/use_quick-start.md.C38Ae4xU.lean.js b/assets/use_quick-start.md.C38Ae4xU.lean.js new file mode 100644 index 000000000..b71e2ccc9 --- /dev/null +++ b/assets/use_quick-start.md.C38Ae4xU.lean.js @@ -0,0 +1 @@ +import{_ as t,c as d,o as e,a8 as o}from"./chunks/framework.C7ysi3tu.js";const m=JSON.parse('{"title":"快速上手","description":"","frontmatter":{"lang":"zh-cn","title":"快速上手"},"headers":[],"relativePath":"use/quick-start.md","filePath":"use/quick-start.md","lastUpdated":1718381802000}'),c={name:"use/quick-start.md"},a=o("",48),r=[a];function l(s,i,h,n,p,b){return e(),d("div",null,r)}const g=t(c,[["render",l]]);export{m as __pageData,g as default}; diff --git a/assets/use_story.md.B8DUcfxT.js b/assets/use_story.md.B8DUcfxT.js new file mode 100644 index 000000000..99e8d2f46 --- /dev/null +++ b/assets/use_story.md.B8DUcfxT.js @@ -0,0 +1 @@ +import{_ as a,D as d,c,j as e,I as l,a8 as o,o as s}from"./chunks/framework.C7ysi3tu.js";const P=JSON.parse('{"title":"故事","description":"","frontmatter":{"lang":"zh-cn","title":"故事"},"headers":[],"relativePath":"use/story.md","filePath":"use/story.md","lastUpdated":1718381802000}'),n={name:"use/story.md"},i=o('

故事

本节内容

本节将展示对故事发展有帮助的一些指令,请善用侧边栏和搜索,按需阅读文档。

.name 随机名字

.name [cn|en|jp] [<数量>] [男|女]

抽取随机名字。

可以指定语言,如果不指定,默认是中文。可以指定数量,如果不指定,默认是 5 个。可以指定性别,如果不指定,默认随机生成。

.namednd 随机 DND 名字

.namednd <种族> [<数量>]

抽取指定种族的随机名字。可以指定数量,默认是 5 个。

补充:可以选用的种族
  • 达马拉人
  • 卡林珊人
  • 莱瑟曼人
  • 受国人
  • 精灵
  • 矮人
  • 兽人
  • 海族
  • 地精

.who 随机排列顺序

.who <排列元素>...

随机打乱提供的元素。

',13),p={class:"info custom-block"},r=e("p",{class:"custom-block-title"},"示例",-1),m=o('

.modu 魔都模组查询

感谢魔都的章鱼站长给予的许可和支持!

.modu search <关键字> [<页码>]

使用关键字进行搜索。

.modu rec <关键字> [<页码>]

使用关键字对编辑推荐模组进行搜索。

.modu author <关键字> [<页码>]

搜索作者符合关键字的模组。

.modu luck [<页码>]

查看编辑推荐。

.modu get <编号>

查看指定模组的详细内容。

.modu roll

随机抽取一个模组。

.modu help

显示帮助。

',16);function h(_,u,g,b,f,k){const t=d("ChatBox");return s(),c("div",null,[i,e("div",p,[r,l(t,{messages:[{content:".who 1 2 3 4 5 6 7 8 9",send:!0},{content:"打乱顺序: 9, 7, 6, 3, 1, 4, 8, 5, 2"}]})]),m])}const q=a(n,[["render",h]]);export{P as __pageData,q as default}; diff --git a/assets/use_story.md.B8DUcfxT.lean.js b/assets/use_story.md.B8DUcfxT.lean.js new file mode 100644 index 000000000..47bbddef4 --- /dev/null +++ b/assets/use_story.md.B8DUcfxT.lean.js @@ -0,0 +1 @@ +import{_ as a,D as d,c,j as e,I as l,a8 as o,o as s}from"./chunks/framework.C7ysi3tu.js";const P=JSON.parse('{"title":"故事","description":"","frontmatter":{"lang":"zh-cn","title":"故事"},"headers":[],"relativePath":"use/story.md","filePath":"use/story.md","lastUpdated":1718381802000}'),n={name:"use/story.md"},i=o("",13),p={class:"info custom-block"},r=e("p",{class:"custom-block-title"},"示例",-1),m=o("",16);function h(_,u,g,b,f,k){const t=d("ChatBox");return s(),c("div",null,[i,e("div",p,[r,l(t,{messages:[{content:".who 1 2 3 4 5 6 7 8 9",send:!0},{content:"打乱顺序: 9, 7, 6, 3, 1, 4, 8, 5, 2"}]})]),m])}const q=a(n,[["render",h]]);export{P as __pageData,q as default}; diff --git a/config/README.html b/config/README.html new file mode 100644 index 000000000..3275838b3 --- /dev/null +++ b/config/README.html @@ -0,0 +1,49 @@ + + + + + + 配置 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/config/backup.html b/config/backup.html new file mode 100644 index 000000000..0652be95c --- /dev/null +++ b/config/backup.html @@ -0,0 +1,49 @@ + + + + + + 备份 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

备份

本节内容

本节将介绍关于备份、自动备份、自动清理旧备份的相关设置。

在本节中的一些部分,你将使用到 cron 表达式。这是一种表达一个或一系列时间点的语法。你可以参考以下内容以学习 cron 表达式。

请注意,海豹核心使用不含秒数、由 5 个部分组成的 cron 格式,这也是 Linux 系统中使用的格式;而不是包含秒数、由 6 个部分组成的格式。

关于备份

经常备份是避免数据损失的最佳手段。海豹核心默认提供每 12 小时一次的自动备份。海豹核心产生的所有备份都位于 backups/ 目录下。

v1.5.0 起,备份文件的命名遵循以下格式:bak_年月日_时分秒[_auto]_rXX_XXXXXXXX.zip

如果你使用的是 v1.4.5 或之前版本,文件名格式是:bak-年月日_时分秒[_auto]_随机数.zip

文件名中含有 auto 字样的是自动生成的备份。

你也可以对备份行为进行设置。相关设置均位于 WebUI 的「综合设置 - 备份」页面。

在此页面上,你将看到:自动备份设置、自动清理设置、当前备份文件列表。在更改任何设置后,你需要点击右上角的「保存设置」使之生效。

手动备份

点击页面右上角的「立即备份」按钮,可以立即生成一份备份。

v1.5.0 起,你可以在手动备份时调整备份范围。

自动备份

勾选「开启」启用自动备份。

在「备份间隔」项可以通过 cron 表达式规定自动备份的时机。

v1.5.0 起,在「备份范围」项,你可选择每次自动备份的范围。

自动清理

在「清理模式」中选择「保留一定数量」或「保留一定时间内」启用自动清理。

配置清理范围

在「保留一定数量」模式下,自动清理时将保留最新的指定数量的备份文件,更老的文件将被删除。

在「保留一定时间内」模式下,自动清理时将保留创建时间在指定时间范围内的备份文件,更老的文件将被删除。

配置清理时机

勾选「触发方式」中的「自动备份后」和/或「定时」以设置自动清理时机。两种触发方式可以同时使用。

如果勾选了「自动备份后」,在每次自动备份完成后将执行一次自动清理。

如果勾选了「定时」,按输入的 cron 表达式指定自动清理的时机。

备份列表

在「已备份文件」中按时间从新到旧列出了当前存在的备份文件。

你可通过「进入批量删除页面」进行手动批量删除。

点击每一个备份文件右边的「下载」以下载对应文件,点击垃圾桶图标按钮以删除单个备份文件。

+ + + + \ No newline at end of file diff --git a/config/ban.html b/config/ban.html new file mode 100644 index 000000000..5c72ec270 --- /dev/null +++ b/config/ban.html @@ -0,0 +1,49 @@ + + + + + + 黑白名单 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

黑白名单

本节内容

本节将介绍黑白名单的设置,请善用侧边栏和搜索,按需阅读文档。

如何设置黑白名单?

黑白名单是骰子拉黑/豁免的用户/群的列表。来源可能是骰主在后台设置的,也可能是因为触发了某些自动规则添加的。

黑白名单

点击海豹 UI 界面的「综合设置 - 黑白名单」选项,你就可以进入黑白名单管理页面。

添加黑白名单

UI 手动添加

点击「添加」按钮,可在后台手动添加黑(白)名单。

UI 手动添加黑白名单

指令添加

使用 - 核心指令

自动添加

触发某些自动规则时,可能会自动添加用户进黑名单,如:

黑白名单设置

点开「设置选项」,可以对黑白名单进行一些设置。

黑白名单设置

黑名单惩罚:

  • 拒绝回复:骰子不回复黑名单用户;
  • 拒绝邀请:骰子自动拒绝黑名单用户的邀请;
  • 退出事发群:比如禁言骰子触发了黑名单事件,会退出禁言的事发群;
  • 使用时立即退出群:有黑名单用户在其他群尝试使用骰子时,骰子会立即退群。

连带责任:当有用户触发黑名单事件时,对应的群组和邀请人会按 设置的比例 增加怒气值。

+ + + + \ No newline at end of file diff --git a/config/basic.html b/config/basic.html new file mode 100644 index 000000000..a08f70b36 --- /dev/null +++ b/config/basic.html @@ -0,0 +1,49 @@ + + + + + + 基础设置 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

基础设置

本节内容

本节将介绍基础设置内的内容。

Master 管理

在这里你可以管理你的骰娘的 Master 列表。

Master 解锁码

获取 Master 解锁码。Master 解锁码的用法参见 骰主指令。每次获取有效期 20 分钟。

Master 列表

在这里你可以添加、删除或更改 Master。请使用统一 ID,可使用 .userid 指令查看你的账号 ID。

你也可添加群组 ID,在指定的群中所有人均视为有 Master 权限

消息通知列表

会对以下消息进行通知:加群邀请、好友邀请、进入群组、被踢出群、被禁言、自动激活、指令退群。

此处应使用统一 ID。在你开启「邮箱通知」后,给通知列表中的 QQ 号发送通知时会自动转换成对应邮箱。

邮箱通知

为处理某些平台通知频繁引起的问题,开启此功能后只会通过邮件进行通知。请慎重决定是否开启,避免出现 为什么我的骰娘不发通知了? 的情况。

发件邮箱

填写你希望的发件邮箱,你指定的邮箱需支持通过 SMTP 协议发信,特别提醒:QQ 号被冻结后对应账号的邮箱也无法使用。

邮箱密钥

填写邮箱密钥。

对于一些邮箱,密钥并不是登陆密码;例如:QQ 邮箱的 SMTP 功能需使用单独生成的授权码。

SMTP 地址

填写你邮箱服务提供商的 SMTP 地址。例如:QQ 邮箱为 smtp.qq.com

私骰模式

因 QQ 的实现变更,此功能暂无实际作用。

允许自由开关

允许任何人执行 bot on/off 和 ext on/off,否则只有邀请者、管理员和 Master 进行操作。

启用戳一戳

仅 QQ 平台,关闭后不回应戳一戳。

由于最新版 NTQQ 暂不支持戳一戳,所以 内置客户端/Lagrange/NapCat/LLOneBot 等基于 NTQQ 的连接方案均无法回应戳一戳,同时建议使用上述客户端连接 QQ 的用户关闭此开关,以免产生不必要的报错和麻烦。

限制 .text 指令

默认开启。开启后只有 Master 和信任用户可使用 .text 指令。如果你不了解这个指令,一定要开启。

忽略 .bot 裸指令

默认关闭。开启后在群聊中只有 AT 骰子才会响应 .bot 指令。

存活确认

定期向通知列表发送消息,以便于骰主知晓存活状态。

存活消息间隔写法:@every 1h30m10s 表示 1 小时 30 分 10 秒。更多请参阅 cron 文档

注意:重启骰子后重新计时。

日志记录提示

开启后,每记录 N 条文本后,主动发送一条提醒信息,避免忘记 .log off

刷屏警告

默认关闭。开启后会对使用指令过快的用户和群组进行警告,警告后继续使用指令会增加怒气值,只对 QQ 平台有效。

刷屏警告工作原理为令牌桶算法,具体请看 wiki

注意

如果您感觉难以理解,为了稳定性还是不要更改比较好!

对速率限制的所有更改 重启后生效

速率设置支持以下格式:

@every 3s 每 3 秒一个;

3 每秒 3 个。

访问控制

对于 UI 界面地址由 {Host:Port} 两部分组成。

Host 可分为两种,0.0.0.0 主要用于服务器,代表可以在公网中用你的手机和电脑访问;127.0.0.1 主要用于自己的电脑/手机,只能在当前设备上管理海豹。

Port 为海豹核心运行的端口,默认为 3211,想开多个海豹必须修改端口号!

注意:重启骰子后生效!

当你的海豹核心运行在公网时可设置密码,避免他人访问。

登录后会自动记住一段时间。如果忘记密码请看 我忘了 WebUI 密码

QQ 频道设置

开启后将回应频道消息。基于 NTQQ 的连接方案暂不支持 QQ 频道。

加好友验证

仅当 QQ 账号选用「回答问题并由我确认」方式时有效。

如果留空,则海豹核心将通过所有好友请求。

你设定的答案不应含有空格。如果设置了多个问题,将所有答案用空格连接起来。例如:

问题 1:以 dis 开头的退群指令是什么

问题 2:你是否已阅读使用说明

则在 WebUI 应填写为:dismiss 是

自动退出不活跃群组 v1.4.2

这是 v1.4.2 版本新增的功能。

你可以设定一个时间线,单位是 天。

每天凌晨 4 时,海豹核心会检查在每个 QQ 群组中最后一次发送消息的时间。如果未发送消息的天数超过了你的设定,海豹核心会自动从该群组中退出。

退出前,海豹会向通知列表发送一条通知。

将时间线设置为 0 即可关闭自动退群功能。

v1.4.4 版本做了优化调整。

自动退群将会按批次执行。你可以在 WebUI 中设置每个批次的数量和批次间隔时间。每两批之间将会间隔你所指定的分钟数。每批次内退出两个群将间隔 10 秒。

+ + + + \ No newline at end of file diff --git a/config/censor.html b/config/censor.html new file mode 100644 index 000000000..41b5e7d64 --- /dev/null +++ b/config/censor.html @@ -0,0 +1,49 @@ + + + + + + 拦截 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

拦截

本节内容

本节将介绍拦截功能和相关设置,请善用侧边栏和搜索,按需阅读文档。

什么是拦截功能?

  • 我不希望我的骰子被用来跑粉红团,如何避免?

  • 发生了超过普通人类认知的离谱事情,如何设置骰子收到了某些词语时自动拦截掉这些用户?

  • ……

「拦截管理」提供检查骰子收到的消息内容中是否有敏感词汇,命中时进行相应处理的能力。

点击海豹 UI 界面的「扩展功能 - 拦截管理」选项,你就可以进入拦截管理页面。

拦截管理

如果显示未启用的话,点击左上角开关来启用拦截。

配置拦截

拦截设置主要分为两部分:「匹配选项」,即设置拦截什么样的消息;「响应设置」,即命中敏感词后要如何处理。下面我们将一一介绍。

匹配选项

匹配选项

匹配选项中最重要的设置就是 「拦截范围」,这个选项决定了什么范围的内容会进行拦截检查。

  • 发出的消息:拦截骰子发出的消息文本(包括指令回复和自定义回复,总之所有骰子发的内容)进行检查
  • 收到的指令:拦截骰子收到的命令文本进行检查,如收到「.rd 进行一次骰点」时,会检查其中的「进行一次骰点」,不受 bot off 影响
  • 收到的所有消息:拦截骰子收到的所有消息进行检查,包括不以 . 等开头的消息,不受 bot off 影响

其余选项可以参看对应的提示,悬浮在问号上即可看见对应帮助。

响应设置

海豹核心的敏感词主要分为四个等级:提醒 注意 警告 危险,程度依次升高。你可以对不同等级的处理方式做不同的设置。

当消息命中敏感词的时候,将取命中词汇中的 最高等级 作为处理等级。当同一个用户触发同一等级的次数超过对应设置时,将进行对应等级配置的操作,同时清空用户该等级的计数,重新计算。

匹配设置

  • 发送警告:会向触发用户发送警告信息;
  • 通知 Master:会通知骰主;
  • 拉黑用户/群/邀请人,增加怒气值:拉黑和怒气值机制,见 黑白名单

敏感词管理

将标签页切换到「敏感词管理」,可以看到如下的两个列表:「词库列表」和「敏感词列表」。

页面中也提供了相应的帮助信息,可以点开查看。

敏感词管理

敏感词库通常为 txttoml 格式的文件,通过「导入」按钮可以导入多个词库,词库同时生效,其中重复的词取设置的最高等级。导入后点击「重载拦截」按钮以生效变更。

提示:为什么没有默认的敏感词库?

「当你在凝视深渊的时候,深渊也正在凝视着你。」

敏感词库本身属于敏感信息,故海豹官方不提供默认的敏感词库。

下方的敏感词列表会展示当前加载的敏感词,如果设置中勾选了「匹配拼音」,也会将实际去匹配的拼音展示出来。

查看拦截日志

在「拦截日志」标签页,你可以看到在何时、何地、哪个用户触发了什么等级的敏感词,具体的内容是什么。

拦截日志

如何让用户/群豁免检查?

给用户/群配置白名单,即可豁免检查。设置白名单见 黑白名单

如何编写敏感词库?

在「敏感词管理」标签页,提供了词库模板的下载。

具体的编写帮助见 进阶 - 编写敏感词库

+ + + + \ No newline at end of file diff --git a/config/custom_text.html b/config/custom_text.html new file mode 100644 index 000000000..4d36f3497 --- /dev/null +++ b/config/custom_text.html @@ -0,0 +1,49 @@ + + + + + + 自定义文案 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

自定义文案

本节内容

本节将介绍自定义文案的设置,请善用侧边栏和搜索,按需阅读文档。

什么是自定义文案?

  • 骰子的回复内容太过单调,要怎样让它丰富起来呢?

  • 骰子的回复内容太过繁琐,要怎样让它简洁起来呢?

  • 我的骰子有自己的人设,怎么修改那些固定的回复词,让 TA 符合人设呢?

  • ……

如果你想要修改骰子向用户回复的提示词,那么你就需要修改自定义文案。

海豹骰子的回复内容几乎可以进行完全的自定义,绝大部分指令的文案都可以进行修改。修改的文案内容还支持插入图片和 CQ 码。

如何修改文案?

在海豹 UI 界面的「自定义文案」选项中,你可以看见文案被按照几个大类放置在一起。

自定义文案设置页

左侧是分类,可以看见,文案目前被分为以下几个大类:

  • CoC:内置的 CoC 支持相关的文案;
  • DND:内置的 DND 支持相关的文案;
  • 其它:一些杂项文案设置;
  • 功能:内置 功能 的相关文案,如 .jrrp 的文案;
  • 日志:跑团日志 功能相关的文案;
  • 核心:海豹核心功能的文案。

在每一个分类中,都可以在右侧看见当前分类的「文案列表」与上方的「筛选」,接下来将依次介绍它们。

文案列表

在「文案列表」中,每一个文案都以类似下图的格式展示,我们以「大成功」的文案来举例:

大成功文案

可以看见,对于「大成功」文案,它归属于 判定-常规 这个小类中,结果有两行文案,这意味着骰子会 随机抽取 其中的一行文案来使用。例如:

示例

木落
.ra 力量
头像
头像
海豹核心
<木落>的力量检定结果为:D100=3/30=([1d100=3]) 大成功!
木落
.ra 力量
头像
头像
海豹核心
<木落>的力量检定结果为:D100=2/30=([1d100=3]) 运气不错,大成功!

如果想要添加一行,那么点击左侧「加号」按钮:

增加文案选项

如果你觉得某一行不满意,点左侧「删除」按钮。当然,至少需要保留一个选项。

删除文案选项

修改好之后,不要忘记保存!

等待保存

注意:尽早保存!

对文案的修改建议及时保存,同时注意 保存前不要切换左侧的分类,否则未保存的修改将丢失!

最后,如果你想回到初始设置,点击右上角的「刷子」图标。

重置为初始设置

随后会弹出确认框,点击确定后,一切就是刚开始的样子了。

筛选文案

我们可以看见,为了方便在本组中查找到对应的条目,在文案列表的上方都有着对应的「筛选」功能。

文案筛选

  • 搜索:搜索文案的小类和具体文案名。
  • 指定类别:
    • 全部:显示全部文案;
    • 默认文案:显示当前大类下未修改过的文案;
    • 修改过:已修改过的文案;
    • 指定分组:选中后会多出一个「分组」下拉框,用于筛选出指定小类下的文案条目;
    • 旧版文案:海豹的更新有时会调整和删除部分文案条目,但旧的数据不会删除。海豹从旧版升级后,可以通过此项筛选出那些不用的条目。

文案的导入/导出

  • 我不想自己一条条修改文案,如何快速导入?

  • 我想给我的小伙伴分享我的文案,他们要如何导入进去?

如果需要导入/导出文案内容,可以点击右上角的「导入/导出」按钮进入页面复制粘贴,就能快速分享相关设置了。

注意:确认内容完整再导入

粘贴文案内容时,注意检查自己导入的内容是不是完整复制进来的。

请不要在新版本导入旧版本的文案,这种做法会绕过文案版本的迁移变更,导致缺少条目,并且很难处理。

自定义文案组合

在「自定义文案」中你可以经常看见一个文案调用其他文案的情况,下面将简单介绍他们之间的关系。

COC

以下为 COC 扩展的文案介绍。

.ra/rc 检定

检定 中的 {$t结果文本} 即调用 检定_单项结果文本

检定_多轮 中的 {$t结果文本} 即调用 n 次 检定_单项结果文本

检定_单项结果文本 中的 {$t判定结果} 即调用 判定-常规 对应的回复词,当你的检定为多轮检定时,将调用 判定-简短

对于 判定_必须_困难_失败 此类必须判定的回复词,使用于指定检定难度的情况,如 .ra 困难侦察

检定_暗中_群内 即进行暗骰时发在群里的回复词。

检定_暗中_私聊_前缀 即进行暗骰时发送到私聊的回复词的前缀,实际发送内容为前缀 + 射击检定

.st 属性设置

属性设置_增减 中的 {$t变更列表} 即调用 属性设置_增减_单项,当你的增减表达式错误时,则调用 属性设置_增减_错误的值

.sc 理智检定

理智检定 中的 {$t结果文本} 即调用 理智检定_单项结果文本{$t附加语} 即调用 理智检定_附加语_大失败 等对应的回复词;{$t提示_角色疯狂} 即调用 提示_临时疯狂,当理智归零时则调用 提示_永久疯狂

.en 技能成长

技能成长中{$t结果文本} 即调用 技能成长_结果_成功,当成长失败且没有失败成长值时则调用 技能成长_结果_失败,当成长失败且有失败成长值时则调用 技能成长_结果_失败变更

技能成长_批量 中的 {$t总结果文本} 即调用 n 次 技能成长_批量_单条技能成长_批量_分隔符 为每一单条中间的分隔符。

技能成长_批量_单条 中的 {$t结果文本} 即调用 技能成长_结果_成功_无后缀,当成长失败且没有失败成长值时则调用 技能成长_结果_失败_无后缀,当成长失败且有失败成长值时则调用 技能成长_结果_失败变更_无后缀

对于 技能成长_属性未录入 等回复语,你可以参考上面的内容自行对比理解。

注意:无前缀/无后缀

此处内容较为复杂,你可以看出很多回复语都有普通无前缀/无后缀两条区分,这主要是为了批量成长时便于引用无前缀/无后缀的回复,使前缀/后缀不会反复出现在批量成长中。

核心

.r 骰点

暗骰_群内 为暗骰时发送到群内的回复语,暗骰_私聊_前缀 为私聊发指令者的回复语的前缀,实际内容为 暗骰_私聊_前缀 + 骰点

骰点{$t原因句子} 即调用 骰点_原因{$t结果文本} 即调用 骰点_单项结果文本

进行多轮骰点时 骰点_多轮 将替换 骰点 进行回复,{$t结果文本} 即调用 n 条 骰点_单项结果文本

.alias 快捷指令

快捷指令_列表 中的 {$t列表内容} 即调用 快捷指令_列表_单行,当有多条指令时以 快捷指令_列表_分隔符 为分隔符,若没有快捷指令则调用 快捷指令_列表_空

快捷指令触发_前缀 中的 {$t指令来源}群/个人{$t目标指令} 即快捷指令指向的原指令。

文案插入图片和 CQ 码

将图片放在骰子的适当目录(建议放在 data/images),再按照相应图片的路径插入这样一段文本即可。以图片 data/images/sealdice.png 为例:

插入文本为 [图:data/images/sealdice.png]

例如修改骰子进群的文案:

文案图片示例

全文案为:

text
<{核心:骰子名字}> 已经就绪。可通过.help 查看指令列表\n[图:data/images/sealdice.png]

效果如下:

文案回复图片效果

文案变量标签

你可能注意到,有些词条下面有这样的内容,如下图的 $t群组骰子面数

有变量标签的文案

文案下方的标签代表了被默认文案所使用的特殊变量,你可以使用 {变量名} 来插入他们,例如 {$t群组骰子面数}

除此之外,有些变量可以在所有文案中使用,具体列表可以见 进阶 - 内置脚本语言

在一个文案中使用另一个文案

所有的自定义文案都可以嵌套使用,例如:

text
这里是{核心:骰子名字},我是一个示例

默认会被解析为:

text
这里是海豹,我是一个示例

危险:禁止递归嵌套!

千万不要递归嵌套,会发生很糟糕的事情!

文案常见问题

骰子进群和成为好友的问候语是哪个?

核心:骰子进群

核心:骰子成为好友

更复杂的文案设置

  • 我希望能根据骰点结果显示不同的文案,要怎么实现?

  • 我希望骰子能有多套回复词,要如何设置?

  • ……

更复杂的文案设置涉及到逻辑的编写,见 进阶 - 编写复杂文案

+ + + + \ No newline at end of file diff --git a/config/deck.html b/config/deck.html new file mode 100644 index 000000000..9278007f5 --- /dev/null +++ b/config/deck.html @@ -0,0 +1,50 @@ + + + + + + 牌堆 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

牌堆

本节内容

本节将介绍牌堆功能,请善用侧边栏和搜索,按需阅读文档。

牌堆是什么?

「牌堆」是一组有名字的文本,你可以把它想象成一组扑克牌,通过 .draw 命令来随机抽取其中的内容发送。为了便于骰子读取增加相应的说明内容,牌堆以某种结构化的格式保存成文件。

提示:牌堆

牌堆以 json yamltoml 格式组织起来,但其本质只是一段文本,只是编写需要遵循对应的结构方便读取。

获取牌堆

你可以在 牌堆仓库 或官方群的群文件中找到其他骰主分享的牌堆。

提示:无法访问仓库?

仓库位于 GitHub,访问时请确认你的网络状况。

怎么上传牌堆到骰子?怎么管理牌堆?

点击海豹 UI 界面的「扩展功能 - 牌堆管理」选项,你就可以进入牌堆的管理页面。

牌堆管理

可以看见有一个「上传牌堆」按钮,点击它选择本地的牌堆文件上传后即可读取牌堆。

在上图中已经有一个名为「常规抽取与放回抽取示例」牌堆被读取到了,它的版本号是 1.1,格式是 json,其他信息也相应展示。

你可以通过「删除」按钮来删掉对应的牌堆。

提示:重载牌堆

新增/删除牌堆通常会自动重载,但如果出现牌堆未更新等情况时,可以手动点击「重载牌堆」按钮进行刷新。

怎么使用牌堆?

在上面的「常规抽取与放回抽取示例」中,我们可以看见有名为 常规抽取 放回抽取 的两个牌组。可以使用 .draw 命令来抽取它们。

text
.draw 常规抽取
+.draw 放回抽取

更多牌堆命令,见 使用 - 扩展:牌堆 自定义回复

牌堆更新与云牌堆

在加载某些牌堆之后,你可能会发现一些牌堆拥有特殊的功能:

带有更新和云内容的牌堆示例

牌堆更新

一些牌堆作者为牌堆提供了更新链接,方便你快速获取最新的牌堆内容。

点击「更新」按钮后会取获取最新的牌堆,随后弹出获取到的新牌堆与当前牌堆的对比:

牌堆对比

对比弹窗的右上角可以控制显示的样式,如勾选「折叠无变更」可以收起过长的内容。

确认牌堆的更新内容之后,点击「确认更新」即可升级到最新的牌堆。

牌堆云端内容

一些牌堆作者为牌堆提供了云端内容,这意味着这个牌堆在抽取时,可能会去拉取远程内容作为牌堆项。

所有含有云端内容的牌堆,海豹 UI 都会给出「提供云端内容」的提示。

注意:云端内容

牌堆作者可以实时调整云端内容,可能存在风险,请自行考虑是否使用这样的牌堆。

如何编写牌堆?

进阶 - 编写牌堆

+ + + + \ No newline at end of file diff --git a/config/helpdoc.html b/config/helpdoc.html new file mode 100644 index 000000000..212ea3d5c --- /dev/null +++ b/config/helpdoc.html @@ -0,0 +1,49 @@ + + + + + + 帮助文档 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

帮助文档

本节内容

本节将介绍帮助文档功能,请善用侧边栏和搜索,按需阅读文档。

什么是帮助文档?

「帮助文档」是提供给骰子使用的查询资料,一般用于各种规则的资料查询,也可用于编写骰子的使用帮助。

获取帮助文档

你可以在 帮助文档仓库 或官方群的群文件中找到其他骰主分享的帮助文档。

提示:无法访问仓库?

仓库位于 GitHub,访问时请确认你的网络状况。

海豹目前可以健康食用的 helpdoc 格式为 json 以及 xlsx,其中更多使用后者来编写资料查询文档。

海豹官方安装包中也默认提供了 CoC 和 D&D 的资料查询文档,无需额外下载即可使用相关内容搜索。

如何使用帮助文档?

当你在帮助文档中写下 词条A 后,通过 .help 词条A 即可返回对应词条内容。

对于资料查询,更建议使用 .find 来搜索词条内容。

使用 - 核心指令

如何管理帮助文档?

点击海豹 UI 界面的「扩展功能 - 帮助文档」选项,你就可以进入帮助文档的管理页面。

帮助文档管理

我们可以看到默认置入的 CoC 与 D&D 的资料文档已经在列表中展示出来了。

帮助文档列表以文件树的形式展示。文件夹内部的文档在一级文件夹下平铺展示,最外层的 一级文件夹名将作为其中所有文档的分组名,用于精确控制查询范围的分组。

v1.4.2 版本起,支持通过指令在每个群组中设置默认搜索分组。

详见 使用 - 核心指令

修改帮助文档后,需要点击「重载帮助文档」来刷新。

提示:重载帮助文档

帮助文档的文本量较大,重载过程需要一定时间(通常为几分钟,与文档数量、机器性能有关)。在重载期间,搜索功能会暂时不可用,所以建议在骰子使用的低峰期进行重载。

上传帮助文档

点击「上传」按钮,即可弹出帮助文档的上传框:

帮助文档的上传

「分组」即是一级文件夹,可以选择已有的分组,也可手动填写新的分组名来创建文件夹。

选择分组和相应文档后,点击「上传」即可将文档上传至骰子。

提示:默认分组

分组选择中存在一个「默认」分组,代表位于文档根目录的帮助文档位置,和一级文件夹同级。

非常不建议你将文档放在这个文件夹中进行管理。 对指定分组的搜索需要有意义的分组名。

为分组添加别名 v1.4.2

v1.4.2 版本起,你可以为每个分组添加若干别名。

帮助文档分组别名

点击页面上的「设置」按钮,将列出现有的所有分组和它们的别名,你可按需要进行编辑。

删除帮助文档

如需删除某些帮助文档,勾选对应文档前的选框后点击「删除所选」,即可批量删除帮助文档。

尝试删除帮助文档

查看帮助文档词条

切换标签页到「词条」,即可浏览当前已经加载的帮助文档词条。

帮助文档词条

通过筛选可以快速查找到相应的词条内容。

如何编写帮助文档?

进阶 - 编写帮助文档

+ + + + \ No newline at end of file diff --git a/config/jsscript.html b/config/jsscript.html new file mode 100644 index 000000000..63f82bc9b --- /dev/null +++ b/config/jsscript.html @@ -0,0 +1,49 @@ + + + + + + JavaScript 插件 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

JavaScript 插件

本节内容

本节将介绍 JavaScript 插件功能,请善用侧边栏和搜索,按需阅读文档。

JavaScript 插件是什么

为了给有能力的用户提供更大的自定义空间,海豹核心支持使用 JavaScript 语言编写扩展插件。

JavaScript

JavaScript(JS)是一门基于原型和头等函数的多范式高级解释型编程语言,它支持面向对象程序设计、指令式编程和函数式编程。它提供方法来操控文本、数组、日期以及正则表达式等。

—— WIKI

获取 JS 插件

你可以在 JS 插件仓库 或官方群的群文件中找到其他骰主分享的 JS 插件。

提示:无法访问仓库?

仓库位于 GitHub,访问时请确认你的网络状况。

如何安装和管理 JS 插件?

点击海豹 UI 界面的「扩展功能-JS 扩展」选项,你就可以进入 JS 插件的管理页面。

JS 扩展

如果左上角的开关未打开,可以点击启用 JS 插件的支持。可以看见,在管理界面中有多个标签页,下面将一一介绍。

插件列表

在「插件列表」页,可以查看当前的 JS 插件列表并进行管理。

JS 插件列表

在每一个插件名前都有一个开关,用来单独控制这个插件是否开启。

点击「上传插件」,选择获取的插件文件,即可上传到海豹核心。在插件的右侧有「删除」按钮来删除不想要的插件。

在对插件进行调整后,需要点击「重载 JS」来使修改生效。

插件的更新

一些插件作者为扩展提供了更新链接,方便你快速获取最新的插件。

点击「更新」按钮后会取获取最新的插件数据,随后弹出获取到的新数据与当前插件数据的对比:

对比弹窗的右上角可以控制显示的样式,如勾选「折叠无变更」可以收起过长的内容。

确认插件的更新内容之后,点击「确认更新」即可升级到最新。

控制台

为了方便插件作者编写插件,海豹核心提供了「控制台」,方便直接测试代码。

JS 插件控制台

在代码框中编写代码,点击「执行代码」即可运行,运行结果将显示在下方。

插件设置

进阶 - 编写 JS 插件 - 注册插件配置项

如何使用 JS 插件?

不同的 JS 插件的使用方法不同,不过一般都是提供了一些 . 开头的命令,可以查看相应扩展的说明来获取使用帮助。

如何编写 JS 插件?

进阶 - 编写 JS 插件

+ + + + \ No newline at end of file diff --git a/config/reply.html b/config/reply.html new file mode 100644 index 000000000..fbc43bb20 --- /dev/null +++ b/config/reply.html @@ -0,0 +1,49 @@ + + + + + + 自定义回复 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

自定义回复

本节内容

本节将介绍自定义回复功能,请善用侧边栏和搜索,按需阅读文档。

什么是自定义回复?

  • 我希望让骰子能回复用户发送的早安、午安、晚安,应该怎么做?
  • 我不会 JavaScript,有没有更简单的方式给骰子编写功能呢?
  • ……

如果希望骰子能对某些关键词做出响应,最简单的方式就是使用「自定义回复」功能。

示例

木落
v我50
头像
头像
海豹核心
¥50

「自定义回复」是海豹核心提供的一种功能扩展方式。它能够在收到的消息符合一定条件时,做出灵活的回应。

自定义回复的形式自由,触发机制多样(关键字、正则表达式等),并且能配合海豹核心的变量系统与牌堆功能使用。无论你只是想增加简单的回复,还是需要复杂的判断和响应,都可以尝试使用自定义回复。

在哪编写自定义回复?

点击海豹 UI 界面的「扩展功能 - 自定义回复」选项,你就可以进入「自定义回复」的设置页面。

自定义回复页

默认情况下,自定义回复功能是被关闭的,你可以点击 页面左上角的开关 打开这一功能,在同意许可协议后,你就可以看到自定义回复的设置页面,下面我们将一一介绍其中的功能。

自定义回复设置页

在页面的上半部分,你可以看见一些帮助信息,阅读它们也能为编写自定义回复带来帮助。

当前回复文件

自定义回复文件

「自定义回复」支持多个设置文件,你可以在下拉框选择进行切换。默认状态下,会有一个名为 reply.yaml 的初始自定义回复文件,可以直接在该文件中进行自定义回复的编写。

你可以分别控制回复文件的启用与否。启用了的回复文件会显示「已启用」,如果显示「未启用」,可以点击它启用该文件。

未启用的自定义回复文件

对于每一个自定义回复文件,都可以进行「删除」和「下载」操作,方便你管理和分享它们。

在编写过程中,可以勾选「开启回复调试日志」项,来为你编写回复提供更多有用信息。

危险:谨慎删除!

点击「删除」时,会弹出二次确认框。一旦点击确认,删除的文件将无法找回,务必在删除时小心确认。

可以选择点击「已启用」按钮禁用它来代替删除。

新建/导入自定义回复文件

在当前文件的右侧有几个按钮,它们是快速创建新自定义回复的不同方式:

  • 新建:创建一个新的自定义回复文件。在你想要将不同的回复区分开,方便管理的时候,可以新建一个文件;
  • 上传:直接上传 .yaml 格式的自定义回复文件,通常来说这是其他人分享给你的。

获取自定义回复文件

你可以在 自定义回复仓库 或官方群的群文件中找到其他骰主分享的文件,使用「上传」功能导入它们。

提示:无法访问仓库?

仓库位于 GitHub,访问时请确认你的网络状况。

公共条件 v1.5.0

v1.5.0 版本开始,在当前文件信息的下面、本文件所有回复项目上方新增了「公共条件」选项。

公共条件属于当前自定义回复文件,而不属于任何一个回复项。每一项公共条件是一个逻辑判断,它的含义与 单个回复项的条件 相同。

在判定一个自定义回复是否能执行时,会首先判断文件的公共条件是否全部满足;如果全部满足,才会依次判断每个回复项的条件;否则,将跳过本文件内的所有回复项。

设置回复项

在自定义回复页的左下角有一个「添加一项」按钮,点击可以向当前文件中添加一条回复项。

添加回复项

每一个自定义回复项都包括两个部分:「条件」「结果」,分别对应着该回复项的触发条件和骰子的回复动作。

在回复项的左上角可以控制该项的启用与否,右上角可以删除这一条回复项。当回复项较多的时候,可以点击「收缩」来将不重要的项折叠起来。

提示:随时保存修改

记得随时保存自己的修改,防止改动内容丢失。

回复项的条件

在回复项的左上角是该项的匹配模式,可以理解为当什么情况下会触发这一条回复项。目前提供了三种匹配模式:

  • 文本匹配:即设置什么样的内容会触发这条回复项;
  • 文本长度:即当回复内容的长度满足什么条件时会触发这条回复项;
  • 表达式为真:此处不介绍,见 更复杂的回复

回复项的条件支持多个,点击「增加」即可为该回复项增加一个条件。当回复项有多个条件时,必须同时满足所有条件 才会触发该回复项。

提示:如何实现多个内容中任意一个均可触发回复项?

  • 我希望 v我50vme50 任意一个都能触发同样的回复,我该不会需要编写两条相同的回复项吧?

当然不用!你可以使用文本匹配中的「任意相符」方式来实现,或者直接使用「正则匹配」方式。见 文本匹配

文本匹配

文本匹配支持多种方式,在内容中填写要匹配的内容,即可按设置的方式匹配触发回复项。

  • 精准匹配:当骰子收到和内容 完全一致 的消息时,触发该回复项;
  • 任意相符:收到符合任意一个内容的消息时,都能触发该回复项,如 aa|bb,则 aa 或 bb 均可触发;
  • 包含文本:消息包含此内容时触发;
  • 不含文本:消息不包含此内容时触发;
  • 模糊匹配:消息与内容相似时触发该回复项;(普通用户无需纠结什么叫相似)
  • 正则匹配:消息匹配正则表达式时触发,此处不介绍,见 更复杂的回复
  • 前缀匹配:消息以内容为开头时触发;
  • 后缀匹配:消息以此内容为结尾时触发。

「任意相符」示例

设置:任意相符,文本 a|b,回复 c

木落
a
头像
头像
海豹核心
c

提示:常用方式

「精准匹配」与「任意相符」是最常用的模式。当然,对于了解正则表达式的用户,「正则匹配」也是经常被使用的。

文本长度

指定字数,当消息长度「大于等于」或「小于等于」给定的字数时触发对应回复项。

注意:注意汉字的长度

在文本长度匹配中,一个汉字算作两个字符。如 你好 两字可以触发大于等于 4 的文本长度匹配。

回复项的结果

每一个回复项可以有一个或者多个「回复结果」,多个回复结果将 从上到下依次执行。点击「增加」可以新增一条结果,也可以通过「删除结果」按钮去掉对应结果。

每一个回复结果可以有多条回复文本,结果会在这些文本中 随机抽取 一条作为结果。

回复可以是直接的回复,也可以指定是「私聊回复」或者「群内回复」。

提示

回复项有几个结果,该回复项就会发送几条消息。

回复结果延迟

可以给回复结果设置延迟,消息将在此延迟后发送,单位是秒,可以是小数。

注意

QQ 消息的随机延迟仍会被加入,如果你希望保证发言顺序,记得考虑这点。

更复杂的回复

  • 自定义回复要怎么抽取牌堆?
  • 我想控制只有私聊才触发回复,要怎样设置?
  • 我希望编写有一定逻辑的自定义回复,我要怎么做?
  • 前缀/后缀/包含等文本匹配方式不够用/出现误判,听说可以用正则匹配解决?要怎样使用呢?
  • ……

更复杂的自定义回复编写,会涉及到海豹提供的其他系统,如牌堆、内置脚本语法、变量机制等。也有可能要求你有其它知识的了解,如正则表达式等。

如果你有复杂回复编写的需要,或想了解更多细节,可以跳转到 进阶 - 编写自定义回复 进行阅读。

+ + + + \ No newline at end of file diff --git a/config/utilities.html b/config/utilities.html new file mode 100644 index 000000000..fcd27eef2 --- /dev/null +++ b/config/utilities.html @@ -0,0 +1,49 @@ + + + + + + 辅助工具 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

辅助工具

本节内容

本节将介绍 WebUI 中提供的一些辅助工具。

v1.5.0 起,海豹核心添加了「资源管理」功能,与「指令测试」在 WebUI 共同归于「辅助工具」类目下。

如果你使用的是 v1.4.5 或之前版本,你在 WebUI 只会看到单独的「指令测试」。

指令测试

你可通过指令测试功能测试你的海豹核心对于消息的反应。在指令测试中产生的角色卡等数据都会被保留,但是消息记录会随页面刷新而丢失。

v1.5.0 版本开始,指令测试界面的右上角提供一个切换开关,可以选择「私聊」或「群」模式。

如果你使用的是 v1.4.5 或之前版本,你的指令测试只能模拟私聊。

在私聊模式下,你的用户 ID 是 UI:1001

在群聊模式下,群的 ID 是 UI-Group:2001,你的用户 ID 是 UI:1002,你在该虚拟群聊中拥有群主权限。

资源管理 v1.5.0

v1.5.0 版本开始,海豹核心 WebUI 提供资源管理功能。

你可在这个页面查看目前在 data/images 目录下的图片资源,在每个图片右侧提供三个按钮,供你查看大图、下载原图和删除图片文件。

你也可以通过这个功能上传本地图片到海豹核心。

在引用图片时,请使用该页面展示的路径。

+ + + + \ No newline at end of file diff --git a/deploy/README.html b/deploy/README.html new file mode 100644 index 000000000..be77d829a --- /dev/null +++ b/deploy/README.html @@ -0,0 +1,49 @@ + + + + + + 部署 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content
+ + + + \ No newline at end of file diff --git a/deploy/about_file.html b/deploy/about_file.html new file mode 100644 index 000000000..4142f8f94 --- /dev/null +++ b/deploy/about_file.html @@ -0,0 +1,67 @@ + + + + + + 海豹的本地文件 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

海豹的本地文件

本节内容

本节将介绍海豹核心主要的本地文件和它们的作用,以及一些与文件相关的问题。

SealDice 文件目录树

text
├─backups                    // 备份文件目录,里面是备份的压缩包
+├─data                       // 数据目录
+│  ├─censor                  // 敏感词库文件
+|  ├─decks                   // 牌堆文件
+|  ├─default
+│  │  ├─configs              // 自定义骰点回执
+|  |  ├─extantions           // 各个模块的特化文件放在这里,也是插件的数据目录
+|  |  |  ├─coc7
+|  |  |  ├─dnd5e
+|  |  |  └─reply             // 比如你的自定义回复文件
+|  |  ├─extra                // 放置你使用的QQ客户端配置文件
+|  |  |  └─lagrange-qq123456 // 此处 123456 代指你骰子的QQ,是内置客户端的配置文件夹。
+|  |  ├─log-exports          // log end 后导出的 log 文件
+|  |  └─scripts              // 插件脚本
+|  ├─helpdoc                 // 查询文档放置位置
+|  ├─images                  // 放置图片资源的文件夹,海豹为了安全不允许调用非海豹文件夹内的图片
+|  └─names                   // 姓名文件 . name 指令无法使用可以看看
+├─_help_cache                // 全文搜索索引缓存
+└─lagrange                   // 内置客户端的二进制文件

常用文件

  • ./data/dice.yaml 配置核心文件。

  • ./data/main.log 核心日志,可以查看报错消息。

  • ./data/default/serve.yaml 账号协议配置文件。

  • ./data/default/record.log 运行日志文件,可以查看报错信息。

  • ./data/default/data.db 数据库文件,存有人物卡、群组状态等信息。

  • ./data/default/data-logs.db log 数据库文件,存有 log 日志。

  • ./data/default/data-censor.db 敏感词数据库文件,存有拦截日志等信息。

  • ./data/default/configs/text-temple.yaml 自定义文案的本体。

  • ./data/default/extra/lagrange-qq[骰子QQ] 内置客户端的配置文件夹。

安卓端文件路径

请查看安卓端文件路径一节。

数据库检查和修复

请查看数据库检查和修复一节。

数据迁移

请看迁移一节。

+ + + + \ No newline at end of file diff --git a/deploy/android.html b/deploy/android.html new file mode 100644 index 000000000..452db05dc --- /dev/null +++ b/deploy/android.html @@ -0,0 +1,49 @@ + + + + + + 安卓海豹常见问题 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

安卓海豹常见问题

本节内容

本节将介绍安卓端海豹核心常见问题和解决方法。

安卓端登录

安装下载的 APK 包,给予适当的权限并配置安卓端保活

只有一个设备,但登录需要扫码

使用 TIM 可以从相册扫码。

经常掉线

为了使海豹在后台运行,请查看配置安卓端保活对应系统修改系统设置,确保海豹核心能够在后台存活。

同时开启两个海豹实例

方法一:使用系统的双开功能

如果你的手机系统支持「应用双开」(或「应用分身」等,不同系统可能名称不同),可以直接使用系统的双开功能。

方法二:使用 NP 管理器等软件

下载「NP 管理器」修改海豹核心安装包。

信息

1.下载 NP 管理器并安装。

2.打开 NP 管理器,找到海豹核心安装包。

3.选择「功能」-「APK 共存」。

APK 共存

4.安装改过的安装包,打开海豹核心。

5.选择右上角小齿轮,修改 UI 界面地址和启动参数,将里面的 3211 改成 3212。

修改 UI 界面地址和启动参数

6.启动核心。

海豹文件路径

安卓端海豹文件无法直接被读取,需要先停止核心,点击「导出数据」按钮,数据导出路径为 /storage/emulated/0/Documents/com.sealdice.dice/sealdice/

修改完文件后需要点击「导入数据」按钮才可被海豹核心读取。

注意

在安卓端海豹上,每次导入数据前都进行一次导出,导出后不要再运行海豹核心。

这是因为,安卓端海豹不会实时更新导出的文件,它们是海豹数据在导出时的一份快照。

如果在上次导出后产生了新数据,而再次进行导入,会导致新产生的数据被之前导出的数据覆盖,丢失这段时间以来录入的角色卡、Log、修改的自定义文案等海豹内部的数据。

发送图片

引用图片正确格式示例:[图:data/images/1.jpg],涉及到的符号均是英文符号,不要使用 \

添加图片的方法

  1. 利用导入导出功能将图片放入海豹的导出文件夹,然后导入。

  2. 使用 MT 管理器的「APK 一键注入文件提供器功能」,配合「添加本地储存」这两个功能访问海豹的私有目录。

如何更新

手机版不能通过指令或 WebUI 操作更新。你需要下载新版 APK 替换安装。

安卓端尚在公测,以防万一最好导出一次保留数据。

电脑海豹转安卓端海豹

查看迁移数据到手机,手机转电脑同理。

+ + + + \ No newline at end of file diff --git a/deploy/android_keepalive.html b/deploy/android_keepalive.html new file mode 100644 index 000000000..604d54145 --- /dev/null +++ b/deploy/android_keepalive.html @@ -0,0 +1,49 @@ + + + + + + 配置安卓端保活 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

配置安卓端保活

本节内容

本节包含在主流安卓操作系统上允许海豹核心在后台运行,以便顺畅使用的方法。

为了应付流氓软件,大部分系统往往会限制应用程序在后台的活动,甚至强制使它们退出。遗憾的是,手机版海豹核心也往往遭到误杀。为了确保海豹核心不会在使用其他应用程序或手机熄屏时掉线,需要调整一些系统设置来确保其能够在后台存活。

提示:不断尝试

你的操作系统会不断调整各个程序的活动策略,因此本节中介绍的手段并不总是万无一失。同样地,你也不一定需要诉诸所有方法才能保证海豹核心的存活。如果条件允许的话,你可以选择性地采用本节介绍的方法,或发掘一些新的手段,多试验几次来找到最适合你设备的策略。

当然,如果你并不确定该怎么做,遵循下面介绍的步骤总是最保险的。

在继续之前,你应该先从官网下载安卓版海豹核心,并将其安装到你的设备上。

授予海豹核心必要权限

海豹核心需要必要的权限来正常运行。在安装后或首次启动时,你应当确保应用程序已经拥有充足的权限。

提示:「应用信息」界面

在授予海豹核心权限或允许一些行为时,你需要访问系统设置的「应用信息」界面(在一些系统上可能也称作「应用详情」)。通常而言,你可以通过以下方法访问这个界面:

  1. 在桌面长按海豹核心图标,在弹出的菜单里选择「应用信息」或是类似小写字母 i 的图标。

  2. 或者,打开系统设置,找到「应用管理」(一些系统也称「应用和服务」)选项。进入应用管理后,你通常会看到展示设备上所有应用的列表。请在列表中选择「海豹核心」。

你可以在应用信息界面管理海豹核心的权限、后台行为、数据使用等。

HyperOS

在 HyperOS(澎湃系统)中,启动核心前请全部允许这些权限。「访问存储空间」被拆分为三个权限:「照片和视频」「音乐和音频」「文件和文档」。

HyperOS 步骤 1

请始终开启「锁屏显示」「后台弹出界面」「显示悬浮窗」「动态壁纸服务」四项权限。

HyperOS 步骤 2

长按海豹核心的任务卡片,并点击锁图标。

HyperOS 步骤 3

如果保活仍然失效,请尝试在应用信息界面中开启「自启动」。

HyperOS 步骤 4

MIUI

初次启动时提示是否运行“海豹核心”发送通知,选择「始终允许」。

MIUI 步骤 1

第二步,在海豹核心的后台配置中选择「无限制」。

MIUI 步骤 2

第三步,长按海豹核心的任务卡片,并点击锁图标。

MIUI 步骤 3

鸿蒙系统

在「应用和服务」中,选择「应用启动管理」,找到海豹核心,关闭其「自动管理」开关,并允许自启动、关联启动和后台活动。

鸿蒙系统步骤 1

回到「设置」主页,选择「电池」项目,开启性能模式,并进入「更多电池设置」,在新界面中开启「休眠时始终保持网络连接」。

鸿蒙系统步骤 2
鸿蒙系统步骤 3

在「设置」>「隐私」>「权限管理」>「特殊访问权限」>「电池优化」项目找到海豹核心,选择「不允许」。

鸿蒙系统步骤 4

将海豹核心的任务卡片下拉并释放,见到卡片右上角出现锁图标即可。

鸿蒙系统步骤 5

ColorOS

选择「耗电管理」,优先开启所有选项。

ColorOS 步骤 1

已知护眼模式可能会导致海豹核心意外关闭,请不要开启。

ColorOS 步骤 2

选择海豹核心任务卡片右上角的三个点,并选择「锁定」。

ColorOS 步骤 3

::::

为了海豹持续运行,请不要将海豹从任务列表中划除。或者,你可以在海豹核心的设置中选择「从任务列表隐藏」。

通用设置

存储权限

初次启动海豹核心前,你必须允许海豹核心访问存储空间,这通常在安装应用时就已经默认开启。没有相关权限,海豹核心将无法正常运行。

如果你的系统没有自动允许海豹核心访问存储空间,请在「应用信息」中选择「权限管理」(你可能需要选择「显示所有权限」),并允许「访问存储空间」权限。

通知权限

首次启动海豹核心时,你可能会收到「是否允许海豹核心发送通知」的对话框。请始终允许海豹核心发送通知,此后你可能会在通知栏看到「海豹核心正在运行」的消息,这是保活策略的一部分。

通知权限

如果你不慎拒绝通知权限,可以稍后在系统设置中授予海豹核心相关权限。

应用内设置

在海豹核心应用中,选择右上角的设置图标,可以看到一些保活策略。通常来说,启用上面的系统设置已经足够,但如果你发现海豹核心仍然时常掉线,可以考虑这里的额外手段。

应用内设置

前三个策略可能需要相应权限才能生效。

+ + + + \ No newline at end of file diff --git a/deploy/db-repair.html b/deploy/db-repair.html new file mode 100644 index 000000000..83dd4d043 --- /dev/null +++ b/deploy/db-repair.html @@ -0,0 +1,64 @@ + + + + + + 数据库检查和修复 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

数据库检查和修复

本节内容

本节包括两项内容:如何判断海豹的数据库是否损坏,在损坏时如何修复。

数据库损坏发生的原因很多,包括但不限于突发断电、硬盘受到物理损坏、或硬盘空间占满。

确定问题

如果你发现角色卡或 Log 会在重启海豹后丢失,或数据库文件变得很大(通常在 200MB 以上),建议对数据库进行完整性检查。

首先,停止海豹运行。在 Windows 系统上,你可以右键点击托盘图标并选择退出;在其他系统上,通常是在执行海豹核心的终端使用 ctrl+c 组合键;如果你注册了系统服务,通常是使用 systemctl stop sealdice 命令。

稍作等待,以确保数据被写入硬盘。

随后,使用命令行程序进入海豹的目录,执行以下命令。如果对使用命令行感到困难,后面有一个简化的替代方案。

shell
sealdice-core /db-check

你将看到类似的输出

text
数据库检查结果:
+data.db: true
+data-logs.db: true
+data-censor.db: true

这代表数据库是正常的。列出的是海豹核心使用的 3 个数据库文件:

  • data.db - 人物卡和群内临时卡
  • data-logs.db - 跑团日志
  • data-censor.db - 敏感词库

如果有某个数据库文件后输出了 false,说明该文件内容损坏。

无法使用命令行

如果你对使用命令行感到困难,可以这样做:

打开记事本,将以下内容复制进去:

shell
sealdice-core /db-check
+pause

将它命名为 检查.cmd,保存在海豹的主程序所在目录,或者保存完复制过去。

双击 检查.cmd 执行,之后同上。

修复数据库 - 通过回滚备份

对于大多数情况,我们推荐直接回滚到备份文件的状态。这种方法简便、容易成功。代价是损失从备份时间点到当前时间的数据。

海豹核心默认每 12 小时进行一次备份,你可在 backups/ 目录下找到所有的备份文件。备份的时间可以直接查看文件创建时间,也可以从文件名中确定。

将你损坏的数据库文件另外保存一份以防万一,并且确保你的硬盘有适当的空闲空间。

在备份文件中找到最新的一份(如果你能确定导致你数据库出问题的事件,也可以找到该时间点前的最后一份),从中解压出数据库文件,替换掉你发现损坏的数据库。

替换完成后,再进行一次完整性检查。如果仍然提示损坏,则使用更早的一份备份重新替换,直到数据库文件正常。

修复数据库 - 通过数据库修复指令

如果你熟悉 Sqlite 3,或者没有可用的备份文件,尝试以下方案。

这种办法有一定的操作难度,酌情进行使用。这里我们以 Windows 系统为例。

首先,你需要安装或下载一个 Sqlite 3 程序。

你可以从其官网下载页,找到 Precompiled Binaries for Windows,下载其中的 sqlite-tools。确保你下载的是 3.40 以上版本,通常来说,直接下载最新版即可。

下载完成后,找出 sqlite.exe 放到空目录备用。

将损坏的数据文件(如 data.db)从海豹的 data/default/ 目录中复制出来,放在和 sqlite.exe 同一个目录。

使用命令行工具打开这个目录,在此目录下,执行下面的指令:

导出数据:

shell
sqlite3.exe data.db
+.output 1.sql
+.recover
+.exit

恢复数据到 a.db,并删除无效数据。

shell
sqlite3.exe a.db
+.read 1.sql
+delete from attrs_group where id is null;
+delete from attrs_user where id is null;
+delete from group_info where id is null;
+delete from attrs_group_user where id is null;
+delete from ban_info where id is null;
+delete from group_player_info where id is null;
+.exit

接下来这个 a.db 就是修好的数据库了,将其复制回海豹的原路径,并改名回 data.db。

+ + + + \ No newline at end of file diff --git a/deploy/newbie_faq.html b/deploy/newbie_faq.html new file mode 100644 index 000000000..07e8fb244 --- /dev/null +++ b/deploy/newbie_faq.html @@ -0,0 +1,49 @@ + + + + + + 计算机小白常见问题 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

计算机小白常见问题

本节内容

本节为计算机小白指南中的第三部分。

本节旨在帮助先前未曾接触过计算机以及服务器,或者对计算机及服务器知之甚少的用户快速查询一些常见问题以及对应的答案。本节不能代替权威解释或各项目的官方文档。

关于如何正确地提问,请看 如何正确提问;关于如何快速学习相关背景知识,请看 如何高效学习;关于特定的名词术语解释,请看 名词/术语速查表

部署海豹核心为什么要解压压缩包?怎么样解压压缩包?

如果直接在解压缩应用(如 7zipWinRar 等)中双击运行压缩包内的 sealdice-core.exe 文件,意味着只有 sealdice-core.exe 这一个文件被解压出来了,而其他文件仍然在压缩包之中。海豹核心检测不到其他必要的文件,那么,就无法正常运行。因此,需要把压缩包解压之后再双击运行海豹核心。

解压压缩包需要解压缩的应用,上面已经陈述了一些应用,使用百度搜索一下,下载安装就可以了。

一般而言,用鼠标右击压缩包,再用鼠标左键单击弹出菜单中带有解压到字样的选项就能解压这个压缩包。

一个建议

解压缩软件时常不会自动帮你创建文件夹,你可能需要自己新建文件夹。这个操作非常简单。

在希望解压的文件夹下单击鼠标右键,在弹出的菜单中找到新建文件夹这个选项,左键单击它,然后输入你想要的文件夹名字,再按下键盘上的Enter,就新建了一个文件夹。

而如果你想要指定这个压缩包解压到指定的文件夹,你可以右键单击压缩包后选择解压到…,在弹出的界面上找到你希望压缩包解压到那里的文件夹,之后双击那个文件夹,最后点击确定,压缩包便解压到了你指定的文件夹。

内存不足到底指的是哪里的内存不足?如何解决内存不足?

对于内存不足的情况,需要具体问题具体分析

对于海豹核心的日志界面中「There is not enough space on the disk」的报错

翻译一下这里的报错:「在磁盘中没有足够的空间」。

很显然,这里的内存不足代指的是磁盘可存储的空间不足,这时候通常通过删除磁盘内部分不需要的文件,腾出空间就可以解决。

如果出现莫名其妙的程序中断……

如果你在资源有限的小型计算机/服务器上部署海豹,并且你的海豹是公骰(存在大量用户)或加载了大量牌堆、自定义回复和/或插件,那么有可能出现海豹核心突然中断运行的情况。如果通过日志,排除了程序内部错误的可能性,那就有可能是由内存不足引起的。此处,内存指代的是「运行内存」。

可以在海豹运行时,通过 WebUI「日志」导航栏顶部的内存占用、Windows 平台下的任务管理器、Linux 平台下的 htop 等工具对海豹核心的内存使用量和占用比例进行监测,如果确实存在占用过高的情况,可以考虑减少用户群体、移除不常用的自定义回复/牌堆/插件、关闭其他未在使用的进程或更换资源更为充足的平台来解决问题。

注意:不要随意关闭你不认识的进程

只有在你完全确定某进程的用途与功能时,才能尝试关闭此进程。失误中断系统进程可能导致系统崩溃或其他隐患。

什么是开源,什么是开源程序?

开源,即 Open Source,简言之,就是把程序的源代码放在公共平台(如 GitHub 等)并附加开源许可协议的行为,任何人都可以在开源许可协议允许的范围内下载、修改以及使用这份源代码。

开源程序,顾名思义就是开放了源代码在公共平台的程序。SealDice 就作为一个开源程序活动在大家的视线中。

为什么我在 SealDice 用户群问问题会被要求发送截图?为什么不能拍屏?

所有 SealDice 用户群的群员、管理、甚至是开发者,都不具备未卜先知的能力,要求你发送截图也只是为了更好地了解你的问题究竟出在哪里。知道问题出在哪里之后,排查问题或复现 bug 就会更简单。这不仅方便了群员和管理回答你的问题,也有助于你更快地解决问题。

不提倡拍屏而是提倡截图的原因是,拍摄屏幕时会出现各种各样的问题:因拍摄角度而看不到部分信息、屏幕因反射光线而不能让摄像头拍到真正的图片(俗称反光),而截图能避免这些问题,给解决带来更高的效率。

注意:请做好截图保护!

如果需要发送截图,请在没有必须要展示的情况下隐藏好截图内可能存在的敏感信息,比如:IP 地址、端口号、文件夹内布局、密码/auth/key/salt 等。

最好的方式是通过在图片上加马赛克进行遮挡(俗称打码),不建议进行剪裁,除非敏感信息的范围过大。

什么是 GitHub?怎么提 issue?

GitHub 是多数开源程序发布代码的地方,SealDice 开发者们平时也通过 GitHub 查看用户的需求和 bug 反馈,同时对程序进行修改,并且在 GitHub 上同步发布更新。

所以,我们希望你如果真的非常需要加入功能、或者反馈 bug,可以自己试试看除了在 SealDice 用户群中向管理说明以外,额外地再提交一份 issue 到海豹的 GitHub 的代码仓库中,这会让开发者们可能记住这个问题,同时在程序中修复它。

对于如何提 issue、怎么样提 issue 不会被关闭,以及如何在 GitHub 上下载文件之类的问题,百度应该是你更好的选择。

+ + + + \ No newline at end of file diff --git a/deploy/newbie_learn.html b/deploy/newbie_learn.html new file mode 100644 index 000000000..a507af042 --- /dev/null +++ b/deploy/newbie_learn.html @@ -0,0 +1,49 @@ + + + + + + 如何高效学习 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

如何高效学习

本节内容

本节为计算机小白指南中的第二部分。

本节旨在帮助先前未曾接触过计算机以及服务器,或者对计算机及服务器知之甚少的用户在遇到不理解的教程、名词或操作时,能够高效学习上手相关知识。

关于如何正确地提问,请看 如何正确提问;关于一些小白常见的问题,请看 计算机小白常见问题;关于特定的名词术语解释,请看 名词/术语速查表

前言

如果你从未接触过计算机以及服务器,那么不免会对本手册中的大量概念感到陌生。一些看起来详尽的指导细细读来却可能完全看不懂。我们不希望你就此放弃,以至于错失了一个全新的、有趣的世界;我们也不希望你放弃自己思考的权利,将一切不明了的问题诉诸他人的帮助。因此,我们撰写了本篇文档,希望能够帮助你掌握一些快速学习新知识的小技巧。

掌握语言

无论是帮助文档、程序日志还是网络资源,英语目前是,并且在未来很长一段时间里仍将是,主流的语言。因此,提高你的英文水平,不仅可以帮助你看懂程序日志上的故障原因(这样你就能自己解决问题),还可以让你看到更高效地获取那些有用的信息(比如下文里写到的那些)。

因此,如果你仍在上学,英语学习得再努力一点,终将有所回报。如果你不得不在短时间内理解特定的英文内容,那常备翻译器显然是一个好选择。

寻求资源

当遇到不理解的概念时,我们的第一反应往往是去搜索引擎寻求答案。但是,如果你正在解决特定项目中遇到的问题,不妨先看看此项目的帮助文档、常见问题(FAQ)和 GitHUb 上的 Issue

一个合理的开源项目,往往都具备相对详尽的帮助文档,描述了使用这个项目的过程中可能涉及的方方面面。例如,你正在阅读的就是海豹骰点核心的用户手册,亦即帮助文档。帮助文档通常包含了各个项目从部署到使用的一系列教程,在你具备相关背景的情况下,阅读帮助文档远比直接使用搜素引擎高效得多,因为帮助文档中提供的信息都是服务于特定项目的,而搜索引擎往往只能找到泛化的知识。

常见问题也是众多开源项目都拥有的页面,例如本手册中的 计算机小白常见问题常见问题 两个页面。这些页面中,通常包含使用此项目的用户高频提出的问题,而你遇到的情况,很有可能在其中就有所描述。因此,如果在手册的一般教程中没能找到答案,访问常见问题页面或许可以解决你的问题。

如果你不知道 Issue 是什么,可以点击本部分第一段中的超链接查看。Issue 通常包含了此开源项目的用户所遇到的问题、发现的可能的 Bug 和提出的功能请求。Issue 页面就像一个讨论区,你很可能找到一些使用上的问题,大多数情况下都会有热心的网友在页面下方给出他们的解决方案。如果你发现你的问题在 Issue 列表中存在,并且存在 Bug 的字样,那么很有可能你遇到的是此项目的已知问题。安心等待开发者解决就好,或者你也可以学习编程,为修复此 Bug 做出贡献。如果你发现你的问题在 Issue 列表中存在,并且存在 Feature Request 或 Enahncement 的字样,那么说明你需要的功能目前尚未实现,并且已经有其他用户向开发者请求加入此功能。你可以给此 Issue 点赞或评论,或许可以增加此功能的优先级,但切忌评论轰炸。在 Issue 中反复刷屏同样的内容只会带来负面后果。同样地,或许你也可以学习编程,为提供此功能做出贡献。

另外,你可能已经注意到了,本手册特别提供了 名词/术语速查表。在求助搜索引擎或用户群之前,可以看看里面是否已经包含了你想了解的概念。在速查表中,我们尽力提供了深度恰到好处的知识,不至于过于专业,但又足够你解决问题。如果你想改进速查表的内容,你可以提出一个 PR。如果你不知道 PR 是什么,那么可以按照本页后续的内容,将这作为你的第一个新知识开始学习。

高效搜索

如果你知道如何访问 Google,那么请使用 Google 进行搜索。如果你英文足够熟练,那么请使用英文进行搜索。

百度(还有 CSDN)永远不会是你学习计算机领域知识的最佳选择。一个更高效、搜索结果偏见更少的搜索引擎能显著提高你的信息获取效率。当然,如果你无法访问 Google,那么必应(Bing)海外版或许是一个尚可接受的选择。

如果你无法访问上述资源,那么在国内众多的内容平台中,学会筛选更可靠的平台也将大大提高你的知识获取效率。通常来说,技术型的个人博客和知乎平台具有相对优质的内容。如果你发现某个页面包含你需要的信息,但排版混乱或内容过于老旧已经不再适用,你可以尝试在内容的开头和结尾去寻找原文链接。通常这类文章是搬运而来,而其出处往往具有更优质的排版,有时原作者也会对其进行更新。

另一方面,互联网上的英文内容数量是具有压倒性的优势的,如果你能用英文提出问题,那么就有更大的概率直接检索到问题的解决方案。从类似 Stack Overflow 的问答网站到个人博客,你在中文互联网上找到的技术性信息,许多都源于对这些外文内容的翻译和多次搬运。因此,与其拾人牙慧,不如直抵源头。

随着大语言模型的兴起,AI 也可以是你「搜索」的对象。它们往往能比传统搜索更快地获得信息。但是,你应该永远对 AI 生成的内容心存警惕。在「幻觉」问题尚未得到有效解决之前,AI 的每一个回复都有可能是真材实料的信息,也有可能是胡编乱造。因此,在严肃场合,你不应该不加校验地使用 AI 生成的内容。

实践学习

深度优先学习

在学习新概念的过程中,我们很可能遇到用于解释新概念的描述中,也包含着我们不理解的知识的情况。如图所示,深度优先的学习即是每遇到一个新概念,都重新去查找学习这个概念所包含的下属知识,直到对每一个细节再无疑惑的方式。

例如:

一个小例子

你可能想编写一个能够在用户发出符合某种规则的消息时,针对性地进行自定义回复的功能。通过搜素自定义回复,你找到了海豹手册的 自定义回复教程

在触发条件部分,你发现你可能需要学习正则表达式,于是你访问了教程开头的链接,或者在搜索引擎中查找了正则表达式教程。

在正则表达式教程中,你发现 \s 可以用于匹配 whitespace,于是你搜索引擎中开始查找 what does whitespace mean……

如果你只使用深度优先的方式学习知识,那么当你最终回到一开始的目的(比如写一个自定义回复)时,你应该已经掌握了隐藏在触发条件与回复结果背后的全部知识,从此只要是自定义回复能实现的功能,对你来说都不再有任何困难。

然而,可以预见的,随着学习的不断深入,你需要学习的内容会爆炸式增长。所以,皓首穷经地学习每一个细节真的值得么……?

广度优先学习

与深度优先学习相反,广度优先的学习即是在遇到新概念时,大致了解其含义,便开始学习下一项内容。

例如:

又一个小例子

你遇到了一些故障,在用户群里有人和你说

你在运行海豹的终端把日志截图一下。

你不知道终端是什么意思,于是你在 名词/术语速查表 中翻阅了一下。虽然你对什么是 Shell、什么是命令行一知半解,但是你差不多知道他指的是那个在电脑上弹出来的黑框框。

于是你又看了一眼日志是什么意思。虽让你搞不懂什么 Warning 与 Error,但你知道黑框框里那堆文字就是日志。

最后,因为你从没在电脑上截屏过,你去搜索了一下,找到了 Snipaste 这一截图工具。把黑框框里的文字截图发了出去。

如果你只使用广度优先的方式学习知识,那么可能你很快就能达成一开始的目的。

然而,你对所有涉及的概念都一知半解。如果再遇到类似的问题,尽管可能只需要你做相似的操作,由于你并没有领会每一个细节,你依然不得不求助于人。所以,这样草草浏览知识真的正确么……?

所以……

在实际学习新知的过程中,两种方法往往是相辅相成的,另外,实践永远是学习的最佳方法。

你通常需要以深度优先的方式,了解一个概念背后的一些细节,直到这些细节足够你应对眼前的问题和未来可能遇到的相似的问题,然后转向下一个概念进行学习。执着于过于深入的细节只会拖慢你的学习速度,因此,在合适的位置停下是最为高效的方案。

同时,在脑海中思考千遍,不如把手放在键盘上,尝试敲出你理解的方案。程序实际运行时给出的反馈,会大大帮助你找到正确的方向,而闭门造车只会延长你设计方案到发现错误的时间

结语

以上就是我们总结出的,要在使用 SealDice 时更快地学习新概念的办法。希望通过这样的办法,能让你更有效率地解决在部署 SealDice 的过程中遇到的问题。

也希望你通过本系列科普有所收获。

+ + + + \ No newline at end of file diff --git a/deploy/newbie_question.html b/deploy/newbie_question.html new file mode 100644 index 000000000..ca4831d65 --- /dev/null +++ b/deploy/newbie_question.html @@ -0,0 +1,49 @@ + + + + + + 如何正确提问 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

如何正确提问

本节内容

本节为计算机小白指南中的第一部分。

本节旨在帮助先前未曾接触过计算机以及服务器,或者对计算机及服务器知之甚少的用户问出更加明晰高效的问题,减少因沟通产生的不必要的麻烦。

关于如何快速学习相关背景知识,请看 如何高效学习;关于一些小白常见的问题,请看 计算机小白常见问题;关于特定的名词术语解释,请看 名词/术语速查表

前言

自近期用户量剧增后,SealDice 用户群的社区氛围似乎又有些不尽如人意,预料之中而情理之外的事情又再次发生了,我们觉得,用户需要这样一个科普性质的界面。如果在不知道如何在用户群提问能尽量干脆利落,或者不清楚某些术语该怎么说的情况下,能想到这个系列就最好了

当然,我们没有资格教屏幕前的你如何做人,这篇科普也一样,只是给你一个或许更好的建议,是否跟着这么做,取决于你。

提问的智慧

在计算机技术领域内,《提问的智慧》一文广为流传。如果你想认真地学习如何问出一个好问题,强烈建议全文阅读此文章。在用户群的群文件中,也提供了此文章的文件。

当然,海豹用户群的群员们并不会如此严苛,如果你暂时没有时间完整地阅读上述文章,那么认真读完本节也足够你在海豹用户群中问出一个好问题。

提问前,你该这样做

尝试自行排查问题

对于屏幕前或许没有编程经验的你,可以通过平日里学的「五要素」法则来思考遇到的程序错误问题。下面是一个可行的思考过程。

  • Where
  • 我是在哪里做了一些事情让我的骰子出现问题了?是在服务器还是在我自己的电脑上?
  • When
  • 我在什么时候做了这些事情让骰子出现问题了?
  • What
  • 我做了什么让我的骰子出现了问题?
  • Why
  • 为什么我这么做会让骰子出现问题?
  • How
  • 我怎么做才能去修复这个问题?

通过这样的思考过程,你即使猜测不出问题所在,也可以很好地根据这五个要素的思考过程组织问题,让回答者清晰地知道你的操作流程,更快地找到问题所在,为你解决问题。

尝试阅读本手册以找到答案

阅读本手册,尤其是 计算机小白常见问题常见问题 两个页面。使用页面左上角的搜索按钮有助于提高你的信息效率。

尝试浏览用户群内的信息以找到答案

用户群的群公告、群精华消息和历史聊天记录中,有可能找到你问题的答案。

尝试上网搜索以找到答案

关于如何高效地进行搜索可以参考 如何高效学习 一节中,高效搜索 小节。

记住你做了什么

你在解决问题时所做的努力——无论仅仅是搜索还是尝试了具体的操作、无论是有效的还是无效的,都将帮助回答者更有效地了解你的背景信息。因此,记住你所做的,并按照下文中的指导,附加在问题中。

提问时,你该这样做

本部分中将会为一些涉及的要素提供正例与反例,正例并不意味着一个好问题(它是一个好问题的一部分),但反例显然不应该出现在你的问题里。另一方面,如果你的问题并不涉及某个的要素,那就不要强行加入这个要素。

清晰说明你的意图和/或困难

如果你想要让海豹实现某些功能,那么请尽可能清晰完整地描述你想实现的功能。如果你在实现某功能的过程中遇到了麻烦,或者一些你认为本该正常运行的功能表现得不正常,那么请尽可能详细地描述你遇到的困境。

以下是一些合适的措辞:

我希望写一个插件,在用户不使用指令前缀的情况下,也能正常响应用户的命令,并实现接入 ChatGPT API 的功能。


我的骰子突然不响应指令了,具体来说,在我的 xxx 群里可以正常使用,但是我私聊它就不行。

以下是一些典型的反例:

呜呜我的骰子怎么不能用了——


很急!来个大佬救救!

描述问题发生前,你做了什么

一个问题可能是也可能不是由用户错误的操作引起的,所以,为了帮助回答者分析定位问题,你应该描述在问题发生之前你做了什么。

以下是一些合适的措辞:

我在本地的 Windows 上通过 WinSCP 使用 SSH 协议连接到了我在腾讯云的服务器上,服务器运行的是 Ubuntu 系统。我直接把 data 文件夹拖到了 sealdice-core 同一个目录内,然而在服务器无法启动海豹。


我在群里 xx 写的 xx 牌堆的基础上修改了牌堆。原本的文件上传到海豹后,可以正确识别。但是我修改之后,上传到海豹,牌堆列表里并没有出现那个文件。我修改的部分是这样的:<屏幕截图>

反例:不提供此类信息。

注意:在提供代码相关的信息时,请使用屏幕截图

通常来说,代码都遵守着相应的格式规范。直接将代码复制到聊天窗口中会极大地破坏这种代码规范,严重影响代码的可读性。因此,不要将代码内容复制到聊天窗口中,请使用屏幕截图。

为什么我在 SealDice 用户群问问题会被要求发送截图?为什么不能拍屏?

提供问题发生时,程序的日志

如果你不清楚什么是日志,请看 名词/术语速查表 中的 日志 部分。海豹的日志中包含了大量的有效信息,许多问题的直接原因本身就记录在日志中。即使你不能完全理解日志的内容,它也将极大地帮助回答者排查你所遇到的问题。因此,除非你非常确定你遇到的问题与海豹本身的运行无关,或未反映在日志中,请务必提供日志截图。

每行日志的开头都带有时间戳,请确保你发送的日志是问题发生那一刻前后一段时间内的日志。例如,你在 WebUI 查看日志,而你一遇到问题就立刻开始写求助消息,那么此时问题所对应的日志通常位于页面底端,你应该下拉页面,确保截图中呈现了对应的日志。

以下是一些合适的措辞:

我发出指令但是骰子在私聊中没有回复我,日志是这样的:<日志截图>


我修改过的牌堆上传到海豹之后,点击重载牌堆,日志是这样显示的:<日志截图>

反例:不提供日志。

注意:在提供日志时,请使用屏幕截图

通常来说,日志中每条记录都相对较长。在一些情况下,日志还会使用特定格式输出堆栈信息。直接将日志复制到聊天窗口中会严重影响日志的可读性。因此,不要将日志内容复制到聊天窗口中,请使用屏幕截图。

为什么我在 SealDice 用户群问问题会被要求发送截图?为什么不能拍屏?

描述问题发生后,你尝试过的解决方案

正如上文中提到的,无论是试图实现一个功能,还是在使用中遇到了不符合预期的事件,你都应该尝试根据参考信息自行解决问题。在提问时,即使你的尝试没有效果,也应该把你尝试过的方法描述出来。你尝试过的方法可能就是排查问题的手段之一,通过你提供的这些信息,回答者可以更加高效的帮助你定位问题。

以下是一些合适的措辞:

我试过对我的海豹骰进行重启,还有撤去一些自定义回复文件以及 JSON 牌堆文件,但是基本对数据库文件夹的异常磁盘占用问题没有效果。


我试过重启海豹(但是没有重启分离部署的 Lagrange),海豹依然不会在私聊中回复我。

反例:不提供此类信息。

提供其他有价值的背景信息

海豹核心的版本号、连接的社交平台、连接 QQ 平台时使用的连接方式(内置客户端或分离部署)以及你的操作系统等,都有可能和你所遇到的问题有关。因此,与其提问后再被要求补充这些信息,不如一开始就将它们包含在你的问题之中。

以下是一些合适的措辞:

我使用的是 vA.B.C 版本的海豹骰,部署在 Windows 11 系统上。私聊不回复的问题是在 QQ 平台发生的。我是通过分离部署连接的 QQ,使用的 QQ 后端是 NapCat。

反例:不提供此类信息。

提问后,你该这样做

如果问题解决了……

如果回答者提供的解决方案解决了你的问题,你应该做出反馈。

首先,一个有效的问题解决方案可以扩充海豹社区对问题的经验。通过明确地告诉大家问题已经解决,你正在为建设海豹社区做出有力的贡献。

另外,对回答者表示感谢是最基本的礼貌,也是维护海豹社区良好氛围的行为。

如果问题没能解决……

问出下一个问题吧。别忘了回顾一遍本节内容,你的追问同样应该是一个良好的问题,这样才有助于问题的快速解决。

当然,那些已经描述过的且未发生改变的信息没有必要再重复一遍。如果你不确定某些信息是否应该重新描述,那就再说一遍,啰嗦总好过一个信息不完整的问题。

另一方面,你也应该额外补充一些信息,尤其是用你自己的话描述一遍你是如何执行回答者所给出的解决方案的。很多时候一个解决方案是有效的,但由于沟通上的歧义或误解,导致它没能被正确执行。因此,再和大家说说你是怎么做的吧。

其他事项

保持耐心,对回答问题者表现出友善和配合的态度

群员、管理和开发者们都有自己的生活,SealDice 也只是兴趣的一部分。所以,在你的问题看起来没有获得回答的时候,保持耐心。当有群员或管理进一步地询问相关问题,也希望你能友善且相对客观地叙述问题,而不是对他们发泄自己的主观情绪,同时,配合他们进行操作,这样,问题才能更快速地解决。

如果有需要,可以去 GitHub 代码仓库上提交 issue

如果你想要问的问题是新的、程序上的需求(例如希望加入一个新的接口),或者你的问题明确了是一个 bug,你希望 SealDice 开发组尽快满足这个需求或修复这个 bug,你可以通过在 GitHub 的 sealdice/sealdice-core 仓库中提交一个 issue,开发组的开发者们会通过讨论进行回复,并且,如果确定需要通过你的反馈对程序进行改动,也会更方便开发者们归档问题和修改程序。

结语

以上就是提问的智慧中我们总结出的,要在 SealDice 用户社区里更快地解决问题应该怎么做的办法。希望通过这样的办法,能让你更有效率地解决在部署 SealDice 的过程中遇到的问题。

也希望你通过本系列科普有所收获。

+ + + + \ No newline at end of file diff --git a/deploy/newbie_terms.html b/deploy/newbie_terms.html new file mode 100644 index 000000000..a0b5e41a2 --- /dev/null +++ b/deploy/newbie_terms.html @@ -0,0 +1,49 @@ + + + + + + 名词/术语速查表 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

名词/术语速查表

本节内容

本节为计算机小白指南中的第四部分。

本节旨在帮助先前未曾接触过计算机以及服务器,或者对计算机及服务器知之甚少的用户快速查询特定名词/术语的含义。本节不能代替权威解释或各项目的官方文档。

关于如何正确地提问,请看 如何正确提问,关于如何快速学习相关背景知识,请看 如何高效学习;关于一些小白常见的问题,请看 计算机小白常见问题

C

CQ 码

CQ 码是酷 Q (CoolQ) 时代定义的一套接口语言,方便用户快速编写指定类型 QQ 消息。可以参考 这个页面 进行编写。

D

端口

参见 IP 与端口

F

服务器

服务器可以简单地理解为持续保持开机的电脑,即持续提供服务的机器。

我们知道,骰子本质是在电脑上运行的程序,如果希望骰子 24 小时都可以回应我们的指令,那么就需要电脑保持开启的状态。但这样做的不稳定性非常大,如果出现例如家里突然停电了这样的情况,骰子就不能 24 小时随时回复我们的指令了,并且,这样也很费电。而服务器正是这样一种尽可能稳定运行的、不会关机的电脑,他们可能以「云电脑」这样的名字出现,但从本质上来说,这就是服务器。

提示:服务器和个人计算机在使用上有明显差异

相比开机激活之后马上就可以投入使用的个人计算机,服务器从运行系统上就与其稍有不同。这里以 Windows 系统的服务器和个人电脑举例。

服务器使用的是微软特地为了服务器开发的 Windows Server 系统。顾名思义,这个系统就是专为服务器开发的,在部分设置的选项中也与个人计算机有所不同。

正因如此,服务器一开始并不容易熟练操作。不过,这篇速查表的目的就是让屏幕前不太明白计算机相关知识的用户可以快速入门。所以,你也不必对这些问题有太大的压力。

G

工作目录

工作目录是用户在使用 命令行界面 时,当前「处于」的目录。在运行程序时,程序会以工作目录作为索引目录树的起始位置。

海豹核心要求的、和实际运行时的工作目录即为「包含 sealdice-core(.exe) 文件和 data 目录、通常还包含 lagrange 目录」的目录(文件夹)。

海豹工作目录内的文件结构可以参考 海豹的本地文件

H

Headless

参见 无头

I

IP 与端口

在分离部署 QQ 后端和部署多只海豹时,你都需要正确处理 IP 与端口号。IP 与端口是互联网应用用于定位彼此的方式之一,IP 用于区分网络中的不同设备,而端口用于区分同一设备上的不同应用。打个比方,IP 就像是地址,可以定位到某个特定的房屋,而端口号是这个屋子里住户的编号,可以用于判断该联系这户人中的哪一位。在目前主流使用的 IPv4 标准下,IP 是形如 127.0.0.1192.168.0.1 的一串数字,端口号则是范围在 0-65535 的一个整数。两者组合时,通常使用 127.0.0.1:3456 的方式描述。

通常来说,服务端应用程序会「监听」一个端口,而客户端应用程序会试图连接到此端口。例如在分离部署 QQ 后端并采用正向 WS 连接时,QQ 后端会监听你在配置中指定的端口,而海豹会试图连接到这个端口;而海豹的 WebUI 作为服务端默认绑定到 3211 端口,你的浏览器则试图连接到 3211 端口。所以,在配置分离部署的 QQ 后端时,海豹中必须填入与你的 QQ 后端配置相同的端口号。

不同范围的 IP 地址都有与之相关的规定,而你在配置海豹的过程中最常见的是 127.0.0.1localhost。此地址一般用于指向本机,而非互联网上的其他设备。当你的海豹与 QQ 后端位于同一主机上,在海豹中需要通过此地址指向 QQ 后端。当你访问 WebUI 的设备与海豹所在的是同一主机,你也需要在浏览器地址栏填入此 IP。

同样的,端口号也不能随意指定。一般情况下,一个端口只能被一个服务端监听使用,这就是为什么当你部署多只海豹时需要切换端口,此时默认的 3211 端口已被第一只海豹占用。而低位端口(小数字)通常有其约定,例如 80 是 HTTP 端口,443 是 HTTPS 端口等。低位端口通常已经被占用,或系统安全策略不允许随意监听此类端口。所以,建议优先选择高位端口(大数字)部署 QQ 后端及海豹。

Issue

Issue 更常见的含义是偏向负面的「问题」,而在开源项目领域,issue 一词更多地被翻译为中性的「议题」。

在开源项目网站如 GitHub 的 Issues 标签页下,按默认设置,你可以看到一个开源项目的全部进行中的议题。这些议题主要包括了使用求助、Bug 反馈以及功能请求。在这里的讨论是所有人可见的,因此可以方便开发者与用户高效地共享信息。Issue 也是大部分开源项目正式的反馈渠道。

J

JSON

JSON 是一种 数据序列化语言。语法入门可以参考 编写牌堆

K

控制台

控制台是 终端 生成的、用于与 Shell 交互的界面。

你可能还想了解 控制台命令行Shell命令提示符

许多时候,终端、控制台、命令行与 Shell 或命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

L

Lagrange

Lagrange(拉格兰)是一个 NTQQ 协议相关的开源项目。其包括目前实现了 Linux NTQQ 协议的 Lagrange.Core,和提供 OneBot-V11 Api 的 Lagrange.Onebot 两部分。

Lagrange 可以很方便的在多个平台(Windows、Linux、Mac)部署,海豹核心可以对接其提供的 OneBot-V11 Api 来提供 QQ 骰子服务。

可以参考 连接平台 - QQ有关的部分 和 Lagrange 的官方 GitHub 页面

Linux

Linux 是一种基于 UNIX 操作系统设计的开源操作系统。Linux 广泛应用于服务器、嵌入式系统、超级计算机以及大多数互联网基础设施。它也可以用于桌面计算,尽管市场份额相对较小。

Linux 的主要优点包括稳定性、安全性、低成本(大部分 Linux 发行版都是免费的)和开源性(用户可以查看和修改源代码)。

LiteLoader

LiteLoaderQQNT(LiteLoader)是 NTQQ 的插件加载器,允许通过插件注入 QQ 实现某些特定的功能。

可以参考 连接平台 - QQ有关的部分 和 LiteLoader 的官方 GitHub 页面

Log

参见 日志

M

命令行

命令行是 控制台 中,你实际输入命令的位置。通常,命令行行首会有 $#> 等符号,它们是 Shell 生成的提示符 (Prompt),用于提示用户 Shell 正在等待用户输入命令。

你可能还想了解 终端控制台Shell命令提示符

许多时候,终端、控制台、命令行与 Shell 或命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

命令行界面

命令行界面即基于 命令行 的用户界面。在此界面下,用户通常使用输入指令的方式与操作系统或程序进行交互。

命令提示符

命令提示符(cmd.exe)是 Windows 平台下,在上个世代常用,在如今(由于 Windows 过于完善兼容性)也经常被使用到的一种 Shell

命令提示符本身集成了 控制台,但由于其过于古老,具有诸多弊端。例如,当你用鼠标选中控制台内的文本时,正在运行的程序会被暂停。

因此,强烈建议你使用 Windows 终端 打开程序。在较新的 Windows 系统上,命令提示符默认使用 Windows 终端打开。

你可能还想了解 终端控制台命令行Shell

许多时候,终端、控制台、命令行与 Shell 或命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

N

NapCatQQ

NapCatQQ 是基于 PC NTQQ 本体实现一套 无头 Bot 框架。

可以参考 连接平台 - QQ有关的部分 和 NapCatQQ 的官方 GitHub 页面

NTQQ

NTQQ/QQNT 是腾讯公司基于 NT 内核,重新设计了用户界面的 QQ 客户端。腾讯官方称之为「QQ 9」。因此,如果发现自己使用的 QQ 不能正确加载 LiteLoader 等插件,请先检查 QQ 版本号是否大于 9。

Q

QQNT

参见 NTQQ

R

日志

在计算机领域中,日志通常指程序在运行时生成的一系列记录。这些记录通常反映了程序的运行状态,同时一般包含时间信息以方便定位对应的事件。在程序运行发生故障或不符合预期的行为时,日志中通常也会有所反映。日志通常分为信息(Info)、注意(Warning)和错误(Error)等不同的等级,而后两者就对应了上述的程序问题。

海豹的日志通常可以在三个地方找到:

  • WebUI 的「日志」导航栏,也即默认页面下。
  • 运行着海豹核心的 控制台
  • 海豹 工作目录 下, data/main.logdata/default/record.log 文件内。

S

数据序列化语言

程序运行中使用的数据,通常以特定的数据结构存储在内存之中。为了更方便地对数据进行存储、传输与重建,数据序列化语言被发明出来。这类语言通过特定的语法描述了数据之间的关系,并以文本的方式存储或传输。程序可以从这类语言中方便地恢复原有的数据结构。

常见的数据序列化语言包括 JSONYAMLTOML等。

Shell

我们日常使用的程序通常使用图形用户界面(GUI)与我们交互,即基于图形渲染和鼠标点击、拖拽的交互方式。而在编程领域和更古早的时期,命令行界面(CLI)则更为常用。在使用 CLI 时,我们第一个打开的程序通常就是 Shell。

Shell 是一个特殊的命令行界面程序,它给用户提供了通过输入命令与操作系统进行交互的交互方式。它会解析并执行用户输入的命令。

在类 Unix 系统中存在众多的 Shell,例如 Ubuntu 系统默认使用 Bash 而 macOS 默认使用 Zsh。Windows 系统推荐使用 PowerShell,而 命令提示符 也是一种 Shell。

你可能还想了解 终端控制台命令行

许多时候,终端、控制台、命令行、Shell 与命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

T

TOML

TOML 是一种 数据序列化语言。语法入门可以参考 编写牌堆

W

无头

在计算机领域,无头(headless)通常指通过不生成图形化用户界面方式运行(原本有图形化用户界面的)程序。

WebUI

UI 即「用户界面(User Interface)」,通常指用户与程序发生交互的位置。而 WebUI 顾名思义,就是通过网络生成、交互的用户界面。

在海豹的相关语境下,WebUI 指骰主能通过浏览器访问到的管理后台。海豹默认的 WebUI 监听 端口 为 3211,因此当你通过 3211 端口访问海豹的管理后台时,实质上就是在与海豹的 WebUI 交互。

Windows Terminal

参见 Windows 终端

Windows 终端

Windows Terminal icon

Windows 终端是一个为命令行用户准备的全新的、现代的、功能丰富的生产力 终端。它包含了 Windows 命令行社区经常希望加入的新功能,例如标签页、富文本、全球化、可配置性和主题与风格化等等。

如果你在 Windows 「开始菜单」的搜素功能中,输入「终端」后并没有出现如上所示的图标。那么强烈建议你下载并安装 Windows 终端,而不是继续使用 命令提示符 集成的 控制台

如果你发现你在启动海豹核心、LagrangeNapCatQQ 等程序时,弹出窗口的字体与风格都不属于 Windows 终端,那么强烈建议你在 Windows 终端中手动启动这些程序。

Y

YAML

YAML 是一种 数据序列化语言。语法入门可以参考 编写牌堆

Z

终端

终端(Terminal)是一个特殊的程序,它提供了一种访问 Shell 的方式,也可以视为 Shell 的一层包装。现代的终端通常会生成一个窗口——即 控制台 用于交互。

你可能还想了解 命令行Shell命令提示符

许多时候,终端、控制台、命令行与 Shell 或命令提示符等名词会被混用,因为在实际交互中,他们所指代的东西往往是一体的。

+ + + + \ No newline at end of file diff --git a/deploy/platform-dingtalk.html b/deploy/platform-dingtalk.html new file mode 100644 index 000000000..08628367c --- /dev/null +++ b/deploy/platform-dingtalk.html @@ -0,0 +1,49 @@ + + + + + + 钉钉 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

钉钉

本节内容

本节将包含你在钉钉平台接入海豹核心需要了解的特定内容。

钉钉支持 v1.4.2

海豹从 v1.4.2 开始支持对接钉钉。

信息

施工中……

+ + + + \ No newline at end of file diff --git a/deploy/platform-discord.html b/deploy/platform-discord.html new file mode 100644 index 000000000..5483b249b --- /dev/null +++ b/deploy/platform-discord.html @@ -0,0 +1,49 @@ + + + + + + Discord | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Discord

本节内容

本节将包含你在 Discord 平台接入海豹核心需要了解的特定内容。

获取 Token

要获取用于连接海豹的 Token 之前,你需要建立好一个应用。登录 Discord 开发者平台,点击「New application」,按照要求填写应用名字并确认创建。完成后,点击侧边导航栏「bot」,打开「Privileged Gateway Intents」目录下全部三个开关:Presence IntentServer Members IntentMessage Content Intent。完成后点击「Save Changes」。

建立好应用后上滑,点击 Reset Token,确认后点击 Copy 复制。

连接海豹

提示:代理模式

如果你海豹所处的位置直接访问 Discord 服务有困难,我们提供了通过 HTTP 代理访问的途径。

登录海豹并添加账号,选择「Discord账号」。在 Token 处粘贴你得到的 Token,点击连接。你的海豹应该可以正常在 Discord 运作了!

邀请海豹

你需要在侧边栏「Installation」选项卡中的「Authorization Methods」选项中选中 Guild Install 才能将你的机器人邀请至服务器中。

要申请用于邀请海豹至 Discord 服务器的邀请链接,前往侧边导航栏「OAuth2」下方的子目录「URL Generator」,在 Scope 中选择 Bot 后在下方 Bot Permissions 中选择你希望海豹拥有的权限。完成后复制下方生成的 URL,复制到浏览器打开。

注意:权限不足

如果给予海豹的权限不充分,可能会导致无法发送消息或图片。若你不确定具体应该添加哪些权限,可直接添加 Administrator(管理员)权限。

+ + + + \ No newline at end of file diff --git a/deploy/platform-dodo.html b/deploy/platform-dodo.html new file mode 100644 index 000000000..6d270cf70 --- /dev/null +++ b/deploy/platform-dodo.html @@ -0,0 +1,49 @@ + + + + + + DoDo | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

DoDo

本节内容

本节将包含你在 DoDo 平台接入海豹核心需要了解的特定内容。

建立应用

要在 DoDo 开发用于连接海豹的应用前,你需要前往 DoDo 开放平台注册账号并申请个人开发者。

获取 Client ID 和 Bot Token

成为开发者后你即可建立一个应用并获取 Client IDBot Token。在 DoDo 开放平台点击「创建应用」并选择开发应用,按照要求填写应用名字。完成后,点击应用卡片可在「凭证和基础信息」下找到 Client IDBot Token,复制并保存。

连接海豹

登录海豹并添加账号,选择「DoDo语音」。在 Client IDBot Token 下填写对应的信息,点击连接。你的海豹应该可以正常在 DoDo 运作了!

邀请海豹

要申请用于邀请海豹至 DoDo 超级群的邀请链接,前往侧边导航栏「机器人管理」,在下方「需要权限」下选择你希望海豹拥有的权限。完成后复制下方生成的 URL,复制到浏览器打开。

注意:权限不足

如果给予海豹的权限不充分,可能会导致无法发送消息或图片。若你不确定具体应该添加哪些权限,可直接添加 超级管理员权限。

注意

由于 DoDo 平台本身的问题,导致海豹无法响应直接发起的私聊。从群聊中触发的私聊,也即各种暗骰指令不受影响。

如果 DoDo 平台做出适当的修正,海豹核心会第一时间跟进以解决这一问题。

+ + + + \ No newline at end of file diff --git a/deploy/platform-kook.html b/deploy/platform-kook.html new file mode 100644 index 000000000..4bc2bf34a --- /dev/null +++ b/deploy/platform-kook.html @@ -0,0 +1,49 @@ + + + + + + KOOK | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

KOOK

本节内容

本节将包含你在 KOOK(开黑啦)平台接入海豹核心需要了解的特定内容。

获取 Token

要获取用于连接海豹的 Token 之前,你需要建立好一个应用。登录 KOOK 开发者平台,点击「创建应用」,按照要求填写应用名字并确认创建。

建立好应用后点击侧边导航栏「机器人」,在 Token 下找到 Token 并复制。

连接海豹

登录海豹并添加账号,选择「KOOK(开黑啦)账号」。在 Token 处粘贴你得到的 Token,点击连接。你的海豹应该可以正常在 KOOK 运作了!

注意:几率性断连

第一次接入 KOOK 的海豹有几率在显示连接后仍然离线。若你遇见这种情况,请尝试重新刷新 Token 并删除海豹 KOOK 账号使用新的 Token 重新添加。

邀请海豹

要申请用于邀请海豹至 KOOK 服务器的邀请链接,前往侧边导航栏「机器人」下方的子目录「邀请链接」,选择你希望海豹拥有的权限。完成后复制下方生成的 URL,复制到浏览器打开。

注意:权限不足

如果给予海豹的权限不充分,可能会导致无法发送消息或图片。若你不确定具体应该添加哪些权限,可直接添加管理员权限。

+ + + + \ No newline at end of file diff --git a/deploy/platform-minecraft.html b/deploy/platform-minecraft.html new file mode 100644 index 000000000..0193aff61 --- /dev/null +++ b/deploy/platform-minecraft.html @@ -0,0 +1,56 @@ + + + + + + Minecraft | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Minecraft

本节内容

本节将包含你在 Minecraft 服务端接入海豹核心需要了解的特定内容。

Minecraft 支持

海豹核心支持与安装了 sealdice-minecraft 插件的 Minecraft 服务器(如 Paper、Purpur)进行对接。

架设 Minecraft 服务端

下面以 Windows 平台为例,简单介绍 Minecraft 服务端的架设。

架设 Minecraft 服务器首先需要根据选定对应的 Java 版本。

  • 服务端版本 1.0 - 1.11.x 可以使用 Java 6Java 7,但推荐使用 Java 8
  • 服务端版本 1.12(17w13a) - 1.16.5(1.17-21w18a),需要使用 Java 8
  • 服务端版本 1.17(21w19a) - 1.17.1 需要使用 Java 16
  • 服务端版本 1.18(1.18-pre2) 及以上版本需要使用 Java 17 及以上。
  • 此为一般情况,部分服务端会推荐对应 Java 版本,请按需安装对应 Java 版本。

注意

sealdice-minecraft 插件需要 Java 18 及以上的 Java 版本,如需要在低版本运行请自行验证服务端与 Java 版本是否匹配。

获取服务端核心

前往 Paper MC 下载对应版本的服务端核心文件。

启动服务端

新建一个空白文件夹,放入服务端核心,编写一个简单的 bat 启动脚本(可新建一个 txt 文件后,修改文件后缀)。

Create Bat 1

启动脚本内容如下:

cmd
@echo
+java -Xms2G -Xmx2G -jar spigot-1.20.4.jar nogui
  • -Xms2G -Xmx2G:此项设定服务器占用的内存,按照需求更换数字,例如 1024m6G
  • -jarnogui 之间的 spigot-1.20.4.jar 更改为文件夹内对应的服务端核心文件文件名。

退出并保存文件,将该文件后缀改为 .bat。修改后文件夹如下所示:

Create Bat 2

启动 start.bat 文件,即可开始运行服务端。

提示

首次打开 start.bat 启动脚本,会下载 mojang_1.20.4.jar 等一系列的文件并创建文件夹,在下载和创建完成后会首次启动会自行关闭。

打开在文件夹内新创建的 eula.txt,将 eula=false 改为 eula=true

text
...
+#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
+#Fri Feb 30 00:00:01 HKT 2024
+eula=true  # 请把该项修改为 true
+...

再次启动脚本 start.bat

当出现 Done (7.837s)! For help, type "help" 时,服务器首次启动完毕。

在 CMD 内键入 stop,等待服务器保存并关闭,即可进入下一个步骤。

放入 sealdice-minecraft 插件

前往 Sealdice Minecraft GitHub Release 下载 jar 文件放进 plugins 文件夹。

再次运行脚本 start.bat 以启动服务器。

在服务器日志中出现:

cmd
[00:00:07 INFO]: [SealDicePlugin] Enabling SealDicePlugin v1.0.2*
+[00:00:07 INFO]: [SealDicePlugin] ChatServer started on port: 8887
+[00:00:07 INFO]: [SealDicePlugin] Server started!

证明 sealdice-minecraft 插件已经正确安装,并且插件将会开启一个端口 8887 供海豹使用。

使用在控制台使用 sealport [端口] 或在游戏中使用 /sealport [端口] 可以修改连接端口。

至此,Minecraft 服务端的准备工作已经完毕。

海豹核心与 Minecraft 服务端连接

账号设置 页,选择 账号类型Minecraft(Paper)

SealDice UI

Url 的填写请根据下列情况选择:

海豹核心与 Minecraft 服务端部署在同一台服务器:

SealDice UI

此时输入使用 localhost:[端口] 即可完成连接,默认端口为 8887

当服务器后台日志中出现:

cmd
[00:00:10 INFO]: [SealDicePlugin] 0:0:0:0:0:0:0:1 entered the room!

证明海豹核心已和 Minecraft 服务端连接完毕。

sealdice-minecraft 插件的使用

指令

提供两个插件指令:

sealdice [文本]

使用该指令的玩家视为向海豹私聊发送了一条消息。

但是命令方块和控制台使用该指令会被视为公屏发送。

sealport [端口]

使用该指令需要 OP 权限。该指令用于设置与海豹连接的端口。

权限

提供一个权限:

sealdice.admin

该权限允许/禁止玩家设置与海豹连接的端口,默认为 false

+ + + + \ No newline at end of file diff --git a/deploy/platform-qq-docker.html b/deploy/platform-qq-docker.html new file mode 100644 index 000000000..3c4039c86 --- /dev/null +++ b/deploy/platform-qq-docker.html @@ -0,0 +1,109 @@ + + + + + + QQ - Docker 中的海豹 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

QQ - Docker 中的海豹

本节内容

本节将包含通过 docker 部署海豹时,你在 QQ 平台接入海豹核心需要了解的特定内容。

请至少完成 QQ 一节中,前言部分的阅读。

本节假定你对 dockerdocker compose 有足够的了解。

通过 docker compose 同时部署海豹与 Lagrange

通过此方式部署的海豹与 Lagrange 容器共同构成一个服务栈,可以方便地进行集中管理。请首先阅读 QQ 一节中,Lagrange 部分,大致了解 Lagrange 的部署过程。

创建 docker-compose.yml

首先,在工作目录下创建 docker-compose.yml 文件,并填入以下内容:

yaml
name: sealdice
+
+services:
+  sealdice:
+    image: ghcr.io/sealdice/sealdice:edge
+    ports:
+      - 3211:3211
+    volumes:
+      - ./seal_data:/data
+      - ./seal_backups:/backups
+    restart: unless-stopped
+
+  lagrange:
+    image: ghcr.io/lagrangedev/lagrange.onebot:edge
+    volumes:
+      - ./lagrange_data:/app/data
+      - ./seal_data:/data
+    restart: unless-stopped

此文件参考了通过 docker 部署海豹通过 docker 部署 Lagrange 相关内容。

此文件将宿主机 3211 端口映射到海豹容器的 3211 端口,如有需要,请根据实际情况自行调整端口映射。

此文件将工作目录下 seal_dataseal_backups 目录分别挂载到海豹容器的 /data/backups 目录,并将 lagrange_dataseal_data 目录分别挂载到 Lagrange 容器的 /app/data/data 目录。由于通过 QQ 后端发送本地图片时,海豹会将图片在容器内的绝对路径传递给 QQ 后端,所以需要将海豹数据也挂载到 Lagrange 容器以使 Lagrange 得以访问图片。如有需要,请根据实际情况自行调整挂载的目录。

注意:在容器内以非 root 用户执行海豹进程可能会导致一些权限问题。

因此,示例文件以 root 用户生成容器进程。后续需要修改 seal_dataseal_backupslagrange_data 目录中的内容(包括 Lagrange 配置文件、海豹数据等)时,需要 root 权限。

补充:登录多个 QQ 账号

只需简单修改 docker-compose.yml 即可登录到多个 QQ 号:

yaml
name: sealdice
+
+services:
+  sealdice:
+    image: ghcr.io/sealdice/sealdice:edge
+    ports:
+      - 3211:3211
+    volumes:
+      - ./seal_data:/data
+      - ./seal_backups:/backups
+    restart: unless-stopped
+
+  lagrange-1:
+    image: ghcr.io/lagrangedev/lagrange.onebot:edge
+    volumes:
+      - ./lagrange_data_1:/app/data
+      - ./seal_data:/data
+    restart: unless-stopped
+
+  lagrange-2:
+    image: ghcr.io/lagrangedev/lagrange.onebot:edge
+    volumes:
+      - ./lagrange_data_2:/app/data
+      - ./seal_data:/data
+    restart: unless-stopped

分别对每个 Lagrange 容器完成下述配置文件修改及扫码登录过程,并在下述海豹连接 Lagrange 填写 WS 地址时,将 {Host} 分别填入 lagrange-1lagrange-2 即可。

首次启动容器

在工作目录下使用以下命令启动容器:

bash
docker compose up -d

首次启动容器后,docker compose 会自动创建 seal_dataseal_backups 以及 lagrange_data 目录。

Lagrange 容器配置

首先使用以下命令停止容器运行:

bash
docker compose stop

随后,按照 QQ 一节中运行 Lagrange 部分修改 lagrange_data/appsettings.json 文件。需要特别注意的是,为了允许海豹容器正常访问 Lagrange 端口,需要将监听地址修改为 0.0.0.0

appsettings.json

json
{
+  "Implementations": [
+    {
+      "Type": "ForwardWebSocket",
+      "Host": "0.0.0.0",
+      "Port": 8081,
+      "HeartBeatInterval": 5000,
+      "AccessToken": ""
+    }
+  ]
+}

随后,通过 docker compose up -d 重新启动容器。通过 docker compose logs lagrange 访问 Lagrange 容器的日志,在日志中即可看到 QQ 登录二维码。同时 lagrange_data/qr-0.png 也是登录二维码。选择任一方式,尽快使用手机 QQ 扫码连接。

海豹连接 Lagrange

请参见 QQ 一节中海豹连接 Lagrange 部分。在填写 WS 正向服务地址 ws://{Host}:{Port} 时,{Host} 填写为 lagrange 即可,如果配置了多个 Lagrange 容器,填入对应服务的名称,docker compose 会自动处理主机名解析。{Port} 正常填写配置文件中设定的监听地址,在上文的例子中为 8081。

更新海豹容器或 Lagrange 容器

运行以下命令:

bash
docker compose pull
+docker compose up -d

当任一镜像有更新时,以上命令会完成容器更新。

连接到宿主机上的 QQ 后端

注意:此种部署方式可能不能正常发送本地图片。

由于通过 QQ 后端发送本地图片时,海豹会将图片在容器内的绝对路径传递给 QQ 后端。宿主机上的 QQ 后端无法正确解析海豹数据目录的路径,因此可能无法正常发送图片。

首先按照 QQ 一节中的介绍,完成 QQ 后端的配置。

Docker 自动为容器构建了一个子网,容器默认接入此网络,并通过端口映射将容器端口暴露在宿主机。因此,容器中的海豹不能直接访问宿主机监听本地端口的 QQ 后端。需要连接时,有两种解决方案。

保持容器与宿主机网络隔离

Docker 为宿主机也分配了子网中的 IP,可以通过 ip a 等命令查看。例如:

bash
$ ip a
+...
+9: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
+    link/ether 02:42:33:50:ca:2d brd ff:ff:ff:ff:ff:ff
+    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
+       valid_lft forever preferred_lft forever
+    inet6 fe80::42:33ff:fe50:ca2d/64 scope link proto kernel_ll
+       valid_lft forever preferred_lft forever
+...

其中 172.17.0.1 为宿主机在 docker 子网中的 IP。

此时,首先修改 QQ 后端的监听设置,以确保其接受任何来源的连接(例如将 127.0.0.1 修改为 0.0.0.0),然后在配置海豹时,{Host} 填入宿主机在 docker 子网中的 IP(本例中为 172.17.0.1)。

配置容器使用宿主机网络

通过将 docker run 命令中的 -p ... 替换为 --network host,或在 docker-compose.yml 文件中将 ports: ... 替换为 network_mode: host,即可令容器使用宿主机网络。此时,在配置海豹时,{Host} 写为类似 127.0.0.1localhost 即可正常访问监听本地端口的 QQ 后端。

+ + + + \ No newline at end of file diff --git a/deploy/platform-qq.html b/deploy/platform-qq.html new file mode 100644 index 000000000..58429fa20 --- /dev/null +++ b/deploy/platform-qq.html @@ -0,0 +1,153 @@ + + + + + + QQ | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

QQ

本节内容

本节将包含你在 QQ 平台接入海豹核心需要了解的特定内容。

前言

有关 QQ 平台机器人的说明

直至目前,绝大部分群聊中的 QQ 机器人采用「假用户」方式,即通过第三方软件接入注册的另一个 QQ。QQ 官方一直在对第三方实现进行技术与非技术层面的多重打击。

从目前的表现看来,QQ 官方会对账号行为进行检测,来区分出账号是否是正常用户(如不正常的登录方式,以不合理的速度在多地区登录等等)。我们无法得知具体的检测细节,但已证实的是,当 QQ 账号用作机器人并被检测到时,该 QQ 会视为风险账号,被官方予以警告,封禁,临时甚至 永久冻结 的惩罚。

尽管不同方案之间的差异很大(比如基于 Android QQ 协议的 Go-Cqhttp 已经基本不可用,而 LagrangeLLOneBot 等基于 NTQQ 的方案目前比较稳定),但需要明白的是,这些方案都由社区第三方软件提供,实质上以 QQ 官方角度等同于「外挂软件」,并不受到官方支持(甚至是被打击的目标)。

因此,是否在 QQ 平台搭建这样的非官方机器人取决于你的慎重考虑。同时,第三方方案的可用性也可能会随时间推移而存在变化,海豹官方无法做出任何保证。

目前,仅有 官方机器人服务 是被 QQ 官方认可的机器人方案。该方案可用性由 QQ 官方保证,但目前 仅对企业用户和部分受邀个人用户开放,同时在功能上非常受限。

如果有可能,建议迁移到其它平台,在 QQ 平台选择何种方式取决于你自己的选择。

危险

倘若出现账号被封禁等情况,海豹官方无力解决此类问题,也不对相应后果负责。

对接引导

所有支持的途径参见目录,本节提供了多种对接途径的引导。

v1.4.5 开始,我们推荐使用 内置客户端 进行连接,这是面向一般用户提供的简单对接方式。

对于需要使用更加灵活的方案的用户,我们推荐如下:

  • 需要比较简单的部署流程,希望资源占用低的,见 LagrangeNapCat
  • 需要比较简单的部署流程,不是特别在意资源占用的,见 LLOneBot
  • 通过 docker 部署海豹的,见 QQ - Docker 中的海豹
  • 如果你有 QQ 官方机器人权限,见 官方机器人
  • Go-cqhttp 与 QSign 方案因可用性原因已被弃用。我们不建议任何用户再使用此方式部署 QQ 接入,同时强烈建议正在使用该方案的用户迁移之前的资料保留备查。

不同的对接方式适应不同的情况,可能会存在途径特有的功能缺失和其它问题,请根据自己的情况选择适合的方式。

注意:对接内置客户端、Lagrange、LLOneBot 和 Napcat 等 PC 端协议时最好关闭 戳一戳 功能

由于内置客户端、Lagrange、LLOneBot 和 Napcat 并未完全实现戳一戳功能。请使用上述客户端连接 QQ 的用户关闭海豹核心后台位于 综合设置 - 基本设置启用戳一戳 开关,以免产生不必要的报错和麻烦。

关闭戳一戳开关

注意

内置客户端、Lagrange、LLOneBot 和 Napcat 都占用 PC 端协议。在使用这些连接方式时,不可同时登录 PC 端 QQ,否则将导致挤占下线。

由于官方 QQ 设定,PC 端协议(即以上四种登录方式)每隔 30 天需要重新登录。

内置客户端 v1.4.5

海豹从 v1.4.5 开始提供了内置客户端的连接方式。

注意

需要知道的是,该方案也是前言中提到的非官方机器人,并不受到 QQ 官方认可。

危险:部分过时系统不支持

内置客户端暂不支持 Windows 7,Windows Server 2008,32 位 Windows 也不可用。

Windows Server 2012 可能会缺少部分运行库,需要自行下载安装。

进入海豹 Web UI 的「账号设置」新增连接,选择账号类型「QQ(内置客户端)」,这也是默认选项,填写 QQ 号:

内置客户端

随后使用登录了目标账号的手机 QQ 尽快扫码登录:

内置客户端扫码登录

在手机上确认登录以后,等待状态变为「已连接」即可。

内置客户端 BUG

由于内置客户端的实现不完全,会有莫名其妙的 bug,所以我们推荐有能力的骰主使用手册中的其他方案。

但如果你仍然决定使用「QQ(内置客户端)」,当遇到无法使用时可以尝试以下解决方案:

  • PC 端:删除 data/default/extra/lagrange-QQ号 文件夹,重启海豹,删除账号重新添加。
  • 安卓端:停止海豹核心,在右上角设置中将「文件同步模式」打开,返回主界面,点击「导出数据」,到显示的目录删除 data/default/extra/lagrange-QQ号 目录,然后点击「导入数据」,删除账号重新添加。

Lagrange v1.4.2

海豹从 v1.4.2 开始适配了 Lagrange(拉格兰)的连接。

Lagrange

Lagrange(拉格兰)是一个 NTQQ 协议相关的开源项目。其包括目前实现了 Linux NTQQ 协议的 Lagrange.Core,和提供 OneBot-V11 Api 的 Lagrange.Onebot 两部分。

与 GoCqhttp 类似,Lagrange 可以很方便的在多个平台(Windows、Linux、Mac)部署,海豹核心可以对接其提供的 OneBot-V11 Api 来提供 QQ 骰子服务。

准备 Lagrange

可以在 Lagrange Github Release 中获取到 Nightly 版程序,根据你的系统选择相应版本下载,例如:

  • Windows 通常选择 win-x64 版本;
  • Mac(Intel 芯片)选择 osx-x64 的版本;
  • Mac(Arm 芯片,如 M1、M2、M3 等)选择 osx-arm64 的版本;
  • ……

Lagrange Nightly Release

补充:使用 Lagrange Action 版本

你还可以选择使用 Lagrange 在 Action 中自动构建的版本,这些版本是 最新 的构建。在使用这些版本时,你需要安装对应版本的 .Net SDK。

除特殊情况外,我们始终建议你选择前面提到的 Nightly 版本。

可以在 Lagrange Github 仓库 中的 Action 页面,进入位于列表最前一条的最新制品页面,根据你的系统选择相应版本。

Lagrange Action

点击进入页面后拉到最下方,选择相应版本下载。

Lagrange Action Artifacts

运行 Lagrange

解压下载的 Nightly 版的 Lagrange 压缩文件,你可以看见名如 Lagrange.OneBot.exe 的应用程序,双击启动即可。启动时有可能会先弹出如下警告,按步骤允许即可:

Lagrange 运行警告 1Lagrange 运行警告 2

成功启动后可以发现打开了如下的命令行窗口,其中提示已创建了一个配置文件:

Lagrange 启动后提示

可以发现,在程序所在的文件夹中多出了一个 appsettings.json,这是 Lagrange 的配置文件你需要打开并修改其中的一些项。也可以在启动前直接手动新建 appsettings.json 并写入内容。

修改后内容大致如下:

appsettings.json

json
{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft": "Warning",
+      "Microsoft.Hosting.Lifetime": "Information"
+    }
+  },
+  "SignServerUrl": "https://sign.lagrangecore.org/api/sign",
+  "Account": {
+    "Uin": 0,
+    "Password": "",
+    "Protocol": "Linux",
+    "AutoReconnect": true,
+    "GetOptimumServer": true
+  },
+  "Message": {
+    "IgnoreSelf": true
+  },
+  "Implementations": [
+    {
+      "Type": "ForwardWebSocket",
+      "Host": "127.0.0.1",
+      "Port": 8081,
+      "HeartBeatInterval": 5000,
+      "AccessToken": ""
+    }
+  ]
+}

其中有几个重要的设置项需要填写和注意:

  • Password 为空时为扫码,这里请留空。
  • SignServerUrl:NTQQ 的签名服务地址,注意此处的签名服务需要是 Linux NTQQ 签名服务,不可以使用 QSign、Shamrock 等提供的 Android QQ 签名服务
  • Implementations:这是 Lagrange 的连接配置,海豹将使用 ForwardWebSocket,即正向 WebSocket 方式连接 Lagrange,该方式下的 HostPort 是 Lagrange 将提供的 OneBot-V11 正向 WS 服务地址,记下以供后续使用。如果对应端口已占用请自行调整。

Linux NTQQ 的签名服务

拉格兰项目提供公共签名服务,运行程序后默认生成的配置文件中已经包含了签名地址。

可访问拉格兰项目的 GitHub 仓库,在其 README 中验证其是否正确有效。

注意:保证连接模式匹配

Lagrange 默认生成的配置文件生成的是 ReverseWebSocket(即反向 WebSocket),如果你使用该种连接方式,下文海豹对接时应该选择「OneBot 11 反向 WS」模式。

海豹推荐使用正向连接,如果你选择正向连接方式,需要像上述示例中的配置文件一样调整为 ForwardWebSocket,下文海豹对接时按引导执行即可。

具体的连接细节还可以参见 Lagrange 文档的 配置文件 一节。

修改配置完成后的文件夹如下:

正式运行前的 Lagrange 文件夹

在配置文件按需要正确修改后,在命令行中按任意键,Lagrange 将正式运行。在同一文件夹下会出现一张登录二维码图片 qr-0.png,在二维码过期前尽快使用手机 QQ 扫码连接。

补充:Action 版 Lagrange 与 .Net SDK

Action 中获取的 Lagrange 依赖 .Net SDK,如果你在运行 Lagrange 时出现报错,需要去下载 .Net SDK 并安装。

在下载 Lagrange 时,后缀中的数字说明了其对 .Net 版本的需求,请根据说明下载对应版本(例如后面是 8.0,则需安装 SDK 的版本为 8.0)。

此外,与 Nightly 下载后解压的单文件版本的 Lagrange 不同,在解压 Action 制品压缩文件后,你可以看见 Lagrange.OneBot.exe 等多个文件,这些文件都是运行必不可少的。

包括生成的配置文件在内,一个正确的 Action 版 Lagrange 文件夹如下:

Action 版的 Lagrange 文件夹

海豹连接 Lagrange

进入海豹 Web UI 的「账号设置」新增链接,选择账号类型「QQ(onebot11正向WS)」。

账号填写骰子的 QQ 号,连接地址使用上面记下的 WS 正向服务地址 ws://{Host}:{Port},如 ws://127.0.0.1:8081

海豹连接 Lagrange

成功连接后即可使用。

Lagrange 配置文件

与可执行文件在同级目录下的 appsettings.json 文件,是 Lagrange 的配置文件。

最新的 Lagrange 会在没有该文件时自动创建默认配置,如果没有生成该文件,你可以按照 官方仓库的最新说明 手动创建这一文件。

注意:使用最新的 Lagrange

我们始终建议你升级到程序的最新版本,而不是为了沿用旧配置而保持旧版本。

注意:Lagrange 配置文件格式变更

Lagrange 项目对其配置文件的格式进行过更改。如果你是在 2024 年 2 月 18 日或之前下载的 Lagrange 程序,请你参考下面的版本。

目前最新的 Lagrange 可以识别两个版本的配置文件,但依然建议修改为最新格式。

补充:旧版 Lagrange 配置

如果你使用的是 2024 年 2 月 18 日或之前下载的 Lagrange 程序,或使用前面提到的配置出现问题,请尝试替换为以下配置:

json
{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Trace",
+      "Microsoft": "Warning",
+      "Microsoft.Hosting.Lifetime": "Information"
+    }
+  },
+  "SignServerUrl": "",
+  "Account": {
+    "Uin": 0,
+    "Password": "",
+    "Protocol": "Linux",
+    "AutoReconnect": true,
+    "GetOptimumServer": true
+  },
+  "Message": {
+    "IgnoreSelf": true
+  },
+  "Implementation": {
+    "ForwardWebSocket": {
+      "Host": "127.0.0.1",
+      "Port": 8081,
+      "HeartBeatInterval": 5000,
+      "AccessToken": ""
+    }
+  }
+}

配置项的含义与之前的说明相同,可以做相同处理。

LLOneBot v1.4.2

海豹从 v1.4.2 版本开始支持通过 OneBot 协议连接 LLOneBot。

LLOneBot

LiteLoaderQQNT(LiteLoader)是 NTQQ 的插件加载器,允许通过插件注入 QQ 实现某些特定的功能。

LLOneBot 则是 Liteloader 的插件之一,可以实现劫持客户端对外开放 API,可以理解为装在 PC 上的 Shamrock。

安装 LLOneBot

请参考 官方文档 中的说明。

配置海豹

安装完成后重新登录 QQ,进入 LLOneBot 的设置页:

LLOneBot 设置页

支持两种方式与海豹对接:

  • 正向连接:默认开放的正向 ws 端口为 3001,在海豹的新添账号选择「QQ(onebot11正向WS)」,账号处随便填写,连接地址填 ws://localhost:3001
  • 反向连接:关闭正向连接开关,打开反向连接,点击「添加」,输入 ws://127.0.0.1:4001/ws,在海豹的新添账号选择「QQ(onebot11反向WS)」,输入账号。

提示

  • 如若想修改端口请在 LLOneBot 的设置 UI 自行修改。
  • 请注意设置中的正向连接和反向连接请 不要同时打开,否则会发不出消息。
  • 如果你是在服务器上部署,可能需要使用 Mem Reduct 之类的工具定时清理过高的内存占用。

NapCatQQ

NapCatQQ

NapCatQQ 是在后台低占用运行的无头(没有界面)的 NTQQ,具体占用会因人而异,QQ 群、好友越多占用越高。

NapCat 官方文档

注意同个账号不能同时登录原版 QQ 和 NapCatQQ

NapCat 是基于官方 NTQQ 实现的 Bot 框架,因此在开始前,你需要根据 NapCatQQ 的手册安装官方 QQ,若 QQ 版本过低会导致程序无法正常启动。

下载 NapCatQQ

前往 NapCatQQ Release 页面下载最新版本。

启动 NapCatQQ

在启动前,你需要修改 config/onebot11.json 内容,并重名为 onebot11_<你的QQ号>.json ,如 onebot11_1234567.json

json 配置内容参数解释:

json
{
+  "http": {
+    // 是否启用http服务, true为启动,false为禁用
+    "enable": false,
+    // HTTP服务监听的 ip 地址,为空则监听所有地址
+    "host": "",
+    // http服务端口
+    "port": 3000,
+    // http上报密钥,可为空
+    "secret": "",
+    // 是否启用http心跳
+    "enableHeart": false,
+    // 是否启用http上报服务
+    "enablePost": false,
+    // http上报地址, 如["http://127.0.0.1:8080/onebot/v11/http"]
+    "postUrls": []
+  },
+  "ws": {
+    // 是否启用正向websocket服务
+    "enable": true,
+    // 正向websocket服务监听的 ip 地址,为空则监听所有地址
+    "host": "",
+    // 正向websocket服务端口
+    "port": 3001
+  },
+  "reverseWs": {
+    // 是否启用反向websocket服务
+    "enable": false,
+    // 反向websocket对接的地址, 如["ws://127.0.0.1:8080/onebot/v11/ws"]
+    "urls": []
+  },
+  "GroupLocalTime": {
+    "Record": false,//是否开启本地群聊时间记录
+    "RecordList": []//开启全部群 ["-1"]  单个群配置 ["11111"] 多个群 ["1","2","3"]
+  },
+  // 是否开启调试模式,开启后上报消息会携带一个raw字段,为原始消息内容
+  "debug": false,
+  // ws心跳间隔,单位毫秒
+  "heartInterval": 30000,
+  // 消息上报格式,array为消息组,string为cq码字符串
+  "messagePostFormat": "array",
+  // 是否将本地文件转换为URL,如果获取不到url则使用base64字段返回文件内容
+  "enableLocalFile2Url": true,
+  // 音乐签名URL,用于处理音乐相关请求
+  "musicSignUrl": "",
+  // 是否上报自己发送的消息
+  "reportSelfMessage": false,
+  // access_token,可以为空
+  "token": ""
+}

其中有几个重要的设置项需要填写和注意:

  • ws:enable:这是 NapCat 的 ws 正向连接配置,你需要将其修改为 true,即启用正向 WebSocket 方式连接 NapCatQQ。
  • ws:port:这是正向连接端口,请记下以便后续使用。

也可以使用 WebUI 进行配置,具体请看 NapCat 手册

修改完文件后请根据 NapCatQQ 的教程启动程序,扫码登录即可。

海豹连接

进入海豹 Web UI 的「账号设置」新增链接,选择账号类型「QQ(onebot11正向WS)」。

账号填写骰子的 QQ 号,连接地址使用上面记下的 ws 正向服务地址 ws://127.0.0.1:{wsPort},如 ws://127.0.0.1:3001

Chronocat v1.4.2

海豹从 v1.4.2 开始适配了 Chronocat(超时空猫猫)中 Red 协议的连接,从 v1.4.5 开始适配了与 Chronocat 的 Satori 协议连接。

注意:Chronocat 的新旧版本

Chronocat 主要分为 0.0.x 的旧版本和 0.2.x 及以上的新版本。

在 0.0.x 的旧版本中,海豹主要对接其 Red 协议,海豹从 v1.4.3 开始弃用此协议。

在目前的新版本中,Chronocat 移除了 Red 协议,提供 Satori 协议的连接支持,使用该版本的见 Chronocat Satori 协议

Chronocat Satori 协议 v1.4.5

在账号添加中,选择「[WIP]Satori」,填写相应信息进行连接。

官方机器人 v1.4.2

海豹从 v1.4.2 开始支持对接 QQ 官方的机器人服务。

提示:QQ 机器人

QQ 官方目前已开放了机器人功能,可进入 QQ 开放平台 进行申请。

但截止到目前,QQ 官方机器人的群聊权限并未对所有人开放。我们也希望在未来,每个人都能轻松地对接上官方提供的机器人服务。

同时,由于 QQ 官方对机器人能力的严格限制(包括获取 QQ 号、昵称,非 @ 时响应,私聊,群控等大量功能目前不支持),目前对接官方接口的骰子很多功能无法支持(如跑团 Log,暗骰,对抗等)。

尝试一下

如果你想尝试一下这样的机器人,非常欢迎你使用海豹官方的骰子:

海豹机器人二维码

获取连接所需信息

要获取用于连接海豹的信息之前,你需要建立好一个 QQ 机器人应用。可前往 QQ 开放平台 进行申请,进行实名注册后,创建一个机器人应用。

创建完成后,进入机器人管理后台,切换到「开发设置」页面:

切换到开发设置

在页面中你可以看到这样的信息,其中「机器人 ID」「机器人令牌」「机器人密钥」这三项是海豹进行连接所需要的。

开发设置

连接海豹

登录海豹并添加账号,选择「QQ(官方机器人)」。填写对应的信息点击连接。你的海豹应该可以正常连接官方机器人运作了!

连接官方 Bot

使用海豹

注意

目前官方机器人只响应包含 @ 的消息,操作时请注意。

+ + + + \ No newline at end of file diff --git a/deploy/platform-slack.html b/deploy/platform-slack.html new file mode 100644 index 000000000..052fc2ef1 --- /dev/null +++ b/deploy/platform-slack.html @@ -0,0 +1,49 @@ + + + + + + Slack | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Slack

本节内容

本节将包含你在 Slack 平台接入海豹核心需要了解的特定内容。

Slack 支持 v1.4.2

海豹从 v1.4.2 开始支持对接 Slack。

获取 Token

要获取用于连接海豹的 Token 之前,你需要建立好一个应用。登录 Slack Api 平台,点击「Create New App」,再点击「From Scratch」。按照要求填写应用名字,并选择你想要海豹被部署到的工作区后点击「Create App」。

提示:私骰模式

Slack 平台的机制使没有公开发布的应用无法加入被指定的单个工作区之外的地方。如有需求,可查看 Slack 提供的发布指引

APP Token

在侧边栏点击「Socket Mode」,打开「Enable Socket Mode」的开关。此处会弹出一个窗口,这将会是你的 APP Token。按需填写名字,并复制保存。 确认后点击下方「Enable Events」,打开开关后在「Subscribe to bot events」下添加如下事件:

  1. message.channels
  2. message.groups
  3. message.im
  4. message.mpim

注意

如果这不是你期望的情况,请不要添加 app_mention。这个权限会让海豹只接收被 @ 到的指令和消息,导致 log 等功能无法正常工作。

Bot Token

在侧边栏点击「OAuth & Permissions」,下滑在「Bot Token Scopes」下,添加海豹运作需要的权限:

  1. channels:history
  2. channels:read
  3. chat:write
  4. chat:write.customize
  5. files:write
  6. groups:history
  7. groups:read
  8. im:history
  9. im:read
  10. im:write
  11. mpim:history
  12. mpim:read
  13. links.embed:write
  14. links:write

点击侧边栏前往「Basic Information」页面,在「Install Your App」下点击「Install to Workplace」。完成后回到「OAuth & Permissions」页面,在「OAuth Tokens for Your Workspace」下找到「Bot User OAuth Token」。这是你的 Bot Token。复制并保存。

连接海豹

登录海豹并添加账号,选择「Slack」。在对应的区域填入 APP TokenBot Token,点击连接。你的海豹应该可以正常在 Slack 平台运作了!

+ + + + \ No newline at end of file diff --git a/deploy/platform-telegram.html b/deploy/platform-telegram.html new file mode 100644 index 000000000..50da094db --- /dev/null +++ b/deploy/platform-telegram.html @@ -0,0 +1,49 @@ + + + + + + Telegram | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Telegram

本节内容

本节将包含你在 Telegram 平台接入海豹核心需要了解的特定内容。

获取 Token

要获取用于连接海豹的 Token 之前,你需要建立好一个机器人。在 Telegram 私信 BotFather,输入指令 /start 后使用 /newbot 创建按照要求创建一个机器人。

提示:具体步骤

/newbot 指令下有两个步骤:

  • 输入机器人的显示名
  • 输入机器人的账号名(需以 bot 结尾)

完成后,BotFather 会发送一条含有 Token 的消息。这是连接机器人所需要的凭证,将它复制保存。

连接海豹

提示:代理模式

如果你海豹所处的位置直接访问 Telegram 服务有困难,我们提供了通过 HTTP 代理访问的途径。

登录海豹并添加账号,选择「Telegram账号」。在 Token 处粘贴你得到的 Token,点击连接。你的海豹应该可以正常在 Telegram 运作了!

+ + + + \ No newline at end of file diff --git a/deploy/quick-start.html b/deploy/quick-start.html new file mode 100644 index 000000000..31437b959 --- /dev/null +++ b/deploy/quick-start.html @@ -0,0 +1,57 @@ + + + + + + 快速开始 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

快速开始

本节内容

本节将会指导你如何在你的 PC、服务器、甚至安卓手机上搭建和部署海豹核心。

如果你对计算机、服务器等相关知识没有任何了解,或者在阅读本节时,对内容中的一些名词完全不理解,我们非常建议你先行阅读 名词/术语速查表如何高效学习 的科普内容后,再返回这一节。

获取海豹

可以从以下两个渠道获取海豹核心安装包:

  • 官网:从 官网下载页 获取最新的正式版海豹核心安装包。

  • GitHub:从 GitHub Release 获取海豹核心安装包。

    这一渠道提供两个版本:以 版本号+发布日期 命名的正式版,与官网一致;以 Latest Dev Build+日期 命名的最新构建,可能有各种 Bug,不推荐一般用户使用。

提示:我该选择从哪里获取?

我们非常建议你使用从官网获取的正式版海豹。对于绝大多数用户来说,官网的下载最顺畅和便捷,所提供的正式版也适合绝大多数用户使用。

海豹提供了多个平台的安装包,请确认你的操作系统并选择对应版本的安装包。提供的平台如下:

  • Windows:普通用户首选,适用于 Windows 7 或者更高,同样可以部署在 Windows 云服务器。
    • 64 位:适合绝大多数用户使用。
    • 32 位:只在你明确知道为何要使用 32 位版本的情况下使用 32 位版本。
  • Linux: 提供给更专业的用户使用,需要使用终端启动。适用于服务器、树莓派等设备。
    • x64:绝大多数使用 Intel 或 AMD CPU 的服务器都应使用此版本。
    • arm64:树莓派等 arm 设备请使用 arm64 版。
  • MacOS:提供给 Mac 用户使用,需要使用终端启动。
    • arm64:Apple Silicon 芯片(M1、M2 等)请使用 arm64 版。
    • x64:Intel 芯片请使用 x64 版。
  • Docker:提供对应 Docker 镜像,支持多种架构。
    • amd64
    • arm64
  • Android:提供 Android 的 apk 安装包。

启动

注意

永远不要直接运行压缩包中的海豹核心,也不要在临时目录中运行海豹核心。

将安装包解压到合适的目录。考虑到后续升级,将目录名中的版本号删去或许是更好的做法。

根据系统不同,用以下方法即可启动海豹:

双击运行 sealdice-core.exe。数秒钟后,海豹核心将会在后台运行并弹出提示。

在任务栏中找到海豹图标,点击即可打开后台(WebUI)。

连接平台

在完成上面的步骤后,你已经成功启动了海豹核心。接下来请根据你所需要对接平台的接入手册,来连接海豹和对应平台。

见「连接平台」一章,包括:

安装为系统服务(可选)

如果你使用远程 Linux 服务器部署,或者使用终端启动海豹核心,那么,随着终端关闭,通常海豹核心也会一同关闭。

海豹核心提供了一种自动安装为系统服务(systemd 服务项)的功能,可以免去手动配置。

服务名称和服务的启动用户均可以通过提供命令行参数自定义,请运行 ./sealdice-core -h 查阅详细说明。

默认情况下,海豹核心将尝试安装一个由 root 用户运行的,名为 sealdice.service 的服务。这要求海豹核心拥有 root 权限(通常由 sudo 运行得到)。

bash
$ ./sealdice-core -i
+正在安装系统服务,安装完成后,SealDice将自动随系统启动
+安装完成,正在启动……

也提供自动卸载:

bash
$ ./sealdice-core --uninstall
+正在卸载系统服务……
+系统服务已删除

安装完成后,可以使用 systemctl 来管理服务:

shell
systemctl status sealdice   # 查看运行状态
+systemctl start sealdice    # 启动海豹核心
+systemctl restart sealdice  # 启动或重启海豹核心
+systemctl stop sealdice     # 停止海豹核心
+journalctl -xe -u sealdice.service # 查看日志

以上命令的详细用法,请查阅你系统的 systemd 文档。

+ + + + \ No newline at end of file diff --git a/deploy/special_feature.html b/deploy/special_feature.html new file mode 100644 index 000000000..363f8e368 --- /dev/null +++ b/deploy/special_feature.html @@ -0,0 +1,84 @@ + + + + + + 特色功能 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

特色功能

本节内容

本节将会介绍海豹的特色功能。

指令兼容性

海豹核心兼容了溯洄核心、赵骰核心和塔骰核心的绝大部分主流指令,无论之前用过哪一个都可以轻松上手。

海豹核心对指令格式不敏感,你可以使用 .r1d20 +1.r d20+1.stshow力量 敏捷。st hp - 1 等等各种写法。

提示

虽然海豹尽可能提高兼容性,我们仍推荐适当使用空格,以避免预期外结果。

易于部署和使用

海豹的设计初衷是 「能被任何 TRPG 玩家喜爱和使用」,同时秉持 「没有提供 UI 的功能等于不存在」 的理念。

只需一个不到 25 MB 的安装包、一个可用的机器人账号、和一小段空闲时间,任何人都可以搭建一个 TRPG 骰子。

提示

如果你希望在 QQ 平台上搭建骰子,由于 QQ 原则上不允许机器人账号,你会需要使用一些特殊技术,这可能花费你更多时间和精力。

极少的资源占用

由于 Golang 的高效,海豹核心只占用大概 40 MB 内存,以及极少的 CPU 资源。

自带的《CoC 7th 怪物之锤》和《D&D 系列资料》会另外占用 50 - 70 MB 内存,但能提供极为强大的资料查询功能。

内存占用会随着持续运行而稍稍增长并有所波动。根据我们的观察,即使是持续运行数月的大型公骰,内存占用也不会超过数百 MB。

强自定义

提供了友好的 WebUI 界面,可以自定义大部分指令的回复语句。

同时对于自定义回复功能进行了强化,你可以编写一些复杂逻辑,使你的骰子更加鲜活。

人工智能鸽子

让你想咕就咕。

示例

木落
.gugu
头像
头像
海豹核心
🕊️: <木落>在来开团的路上被巨龙叼走了!

强大的查询功能

海豹搭载了全文搜索技术(仅限 PC 版),可以看作是一个微型搜索引擎。

text
.find 30尺 法术

细节可参见 查询指令 一节。

通用特化支持

代替他人检定 / 操作他人属性

CoC 特化支持

属性同义词

各种旧版翻译、俗称、简繁汉字的属性被视为同一属性。

默认技能等级

内置部分人物卡上没有的默认技能等级。

包括不限于速记、园艺、攀爬、各种武器等等。

支持 .scb 指令

用于在 sc 时附加一个奖励骰。

适用于规则书中的关键连接自救规则。

D&D 特化支持

属性同义词

各种旧版翻译、俗称、简繁汉字的属性被视为同一属性。

优势骰劣势骰

示例

木落
.set 20
头像
头像
海豹核心
设定默认骰子面数为 20
木落
.r d20优势
头像
头像
海豹核心
<木落>掷出了 d20优势=[{7 | 6 }]=7
木落
.r d劣势
头像
头像
海豹核心
<木落>掷出了 d劣势=[{16 | 18 }]=16

属性调整值和熟练自动计算

临时属性

法术位支持

死亡豁免

休息

可以实时编辑的跑团日志

海豹开发了 日志在线染色器

在海豹中记录的日志会自动上传,省去你一一发送日志文件的麻烦。

除了海豹 Log 自用之外,支持 QQ 格式和塔骰格式,将你的 Log 全文粘贴到文本框里即可。

是纯净骰,也是娱乐骰

海豹除了核心指令之外,都被设计为可插拔的,目前有 7 个内置扩展。

关闭对应扩展会连同扩展带来的指令一块关闭。

因此在跑团时,如果你不想要任何娱乐功能,你可以(以 CoC 团为例):

text
.ext fun off // 关闭.jrrp和.gugu
+.ext reply off // 关闭关键字回复
+.ext deck off // 关闭抽牌 .draw
+.ext dnd5e off // 关闭dnd5e系列指令
+.ext story off // 关闭.name[随机指令]/.modu[魔都查询]/.who[排序]等
+
+也可以写成一行:
+.ext fun reply deck dnd5e story off

这样一来,就只剩下 coc 系列指令和 log 指令了。

这个改动在当前群聊持续生效。你也可以再打开相应扩展:

text
.ext fun on

如果你是骰主,你也可以在 WebUI 中设置各个扩展是否默认开启。这配置对于海豹核心新加入的群聊生效。

更强的指令支持

海豹核心将表达式翻译成字节码,丢进指令虚拟机里执行,同时也做了很强的兼容性处理。

可以在不同骰系下测试一下这些指令:

text
.r 30 + (-1d20) + 49
+.r d20 + (3 + 1d4)
+.r 1 + (3+2)d(4+2d10)
+
+.sc 0/-1
+.sc (1+2)/0
+.sc 0/1d4+(3*2)
+.sc 1 / 2
+.sc 1/2 + 3
+
+.ra b 测试50
+.ra b 50 测试

彩蛋:

text
.r 1+d10-3*4 --asm
+<木落>掷出了 1+d10-3*4=1 + 3[1d10=3] - 12=-8
+=== VM Code ===
+push 1
+mark.left
+push 1
+mark.left
+push 10
+dice
+add
+mark.left
+push 3
+mark.left
+push 4
+mul
+sub
+halt
+=== VM Code End===

跨平台

海豹核心的底层架构,支持单进程多号,也支持很方便地多开

多号指每个骰子上连接多个帐号,并且支持同时连接不同平台。

多开指同时运行多个海豹核心,以提供各自不同的服务内容。

TRPG 规则支持列表

  • COC7
  • COC - DeltaGreen (.setcoc dg)
  • DND5e
  • 暗影狂奔 (.rsr)
  • WOD/无限团 (.ww)
  • 双十字 DoubleCross (.dx)
  • 共鸣性怪异 Emoklore (.ek .ekgen)
  • 剑世界 2.5 (插件)
  • 明日方舟跑团规则 (插件)
  • 其它插件由海豹社区提供,欢迎前去 插件仓库 查看

如果你不跑这些规则,或者觉得并无必要,可以在后台关闭对应的指令。

如果你喜欢的规则这里没有,那么可以去插件仓库看一看,或者自己编写规则模板插件!

+ + + + \ No newline at end of file diff --git a/deploy/transfer.html b/deploy/transfer.html new file mode 100644 index 000000000..34023dbf9 --- /dev/null +++ b/deploy/transfer.html @@ -0,0 +1,50 @@ + + + + + + 迁移 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

迁移

本节内容

本节将会指导你如何迁移现有的海豹核心。

海豹核心的数据文件全平台通用。因此,在不同平台间迁移时,你只需要准备每个平台的可执行文件。

注意

在进行任何迁移时,你都应确保迁出和迁入的海豹核心都未在运行,否则可能造成不可逆的数据损坏。

相同平台间迁移

将整个海豹核心目录复制到新的位置即可。

如果目录体积较大,你可以自行删除 backups/ 下的备份文件。这不会造成数据损失。

跨平台迁移

跨平台迁移时不能使用旧的可执行文件,而只迁移数据部分。

将迁出海豹核心中的 data/ 目录以你习惯的任何方式打包。

在迁入平台准备一份全新的海豹核心,用打包的数据覆盖迁入海豹的对应目录。

如果你希望保留旧的备份文件,你可以复制迁出海豹 backups/ 目录中的内容,放置于迁入海豹的对应目录。备份文件也是通用的。

Linux 服务器间跨架构迁移(arm64 → amd64)

步骤与普通跨平台迁移一致。在运行新海豹核心时,如果文件权限不正确,可以在海豹核心目录下执行以下两条命令:

bash
find . -type f | xargs chmod 644
+find . -type d | xargs chmod 755

迁移数据到手机

如果你需要把电脑海豹的数据迁移到手机海豹上,同样是迁移海豹的 data/ 目录。步骤如下:

  1. 关闭你的电脑海豹,复制电脑海豹的 data/ 目录发送到手机上。
  2. 点击手机海豹的 导出数据 按钮,在设置中勾选 文件同步模式。(平时推荐关闭这个选项,这里是为了替换数据库特别地需要开启)
  3. 在你习惯的手机文件管理软件中找到 根目录/document/com.sealdice.dice/sealdice,用迁出海豹的 data 目录替换这里面的 data 目录。
  4. 回到手机海豹的界面中点击 导入数据。导入完成后再点击启动核心,这时你的手机海豹里就应该是旧海豹的数据了。导入完成后也可以把「文件同步模式」关闭了。

注意

在手机海豹上,每次导入数据前都进行一次导出,导出后不要再运行海豹核心。

这是因为,手机海豹不会实时更新导出的文件,它们是海豹数据在导出时的一份快照。

如果在上次导出后产生了新数据,而再次进行导入,会导致新产生的数据被之前导出的数据覆盖,丢失这段时间以来录入的角色卡、Log、修改的自定义文案等海豹内部的数据。

+ + + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json new file mode 100644 index 000000000..adcb4aec4 --- /dev/null +++ b/hashmap.json @@ -0,0 +1 @@ +{"about_about.md":"hrcKISE7","about_archieve.md":"BYjlOLqB","about_develop.md":"BfG0AuIQ","about_license.md":"DYRuXiXr","about_readme.md":"BgkOmeWZ","about_start-from-zero.md":"DjHXncO3","advanced_edit_complex_custom_text.md":"DSU9kc9u","advanced_edit_deck.md":"k-8PkXps","advanced_edit_helpdoc.md":"CLCbOSs0","advanced_edit_reply.md":"BT5CMtyF","advanced_edit_sensitive_words.md":"DWrEa8kR","advanced_introduce.md":"Bwe8a12i","advanced_js_api_list.md":"CqdIkvk4","advanced_js_example.md":"8Rv-Oom9","advanced_js_gamesystem.md":"rQ5YJxwZ","advanced_js_project.md":"rcx_9l9O","advanced_js_start.md":"spoJKT3w","advanced_readme.md":"PhrOw_Qu","advanced_script.md":"2l5e5AEz","config_backup.md":"DVnHVrTH","config_ban.md":"W8hpQvdM","config_basic.md":"CARkkz0F","config_censor.md":"Boq6bXFn","config_custom_text.md":"O7hSd7Sq","config_deck.md":"B8kEiGt6","config_helpdoc.md":"Cu9YNCyL","config_jsscript.md":"Ck-gU78P","config_readme.md":"SXHxJUJe","config_reply.md":"CtqrA7oh","config_utilities.md":"BqTND8Pc","deploy_about_file.md":"CDJ4RE7g","deploy_android.md":"CwGICOGp","deploy_android_keepalive.md":"DaRfTq31","deploy_db-repair.md":"B9IoUuL6","deploy_newbie_faq.md":"BeAhxML0","deploy_newbie_learn.md":"Bh3fLuOn","deploy_newbie_question.md":"XUPjLRJ3","deploy_newbie_terms.md":"DSd3tABa","deploy_platform-dingtalk.md":"qTPxPOpx","deploy_platform-discord.md":"l0nQBflN","deploy_platform-dodo.md":"CqcWYoRK","deploy_platform-kook.md":"BlMgkptp","deploy_platform-minecraft.md":"CI5Py3uQ","deploy_platform-qq-docker.md":"ClIWzIs_","deploy_platform-qq.md":"CzPOzqXU","deploy_platform-slack.md":"CdfezHAB","deploy_platform-telegram.md":"ByblJutx","deploy_quick-start.md":"CjdbHYQH","deploy_readme.md":"LpsqzSxr","deploy_special_feature.md":"9a_qcvm7","deploy_transfer.md":"DFaq-sdk","index.md":"4TBR5SnB","use_attribute_alias.md":"Drwpd_w9","use_coc7.md":"DcNKhDK7","use_core.md":"CDav3pOf","use_deck_and_reply.md":"BQdf7YKR","use_dnd5e.md":"CyhhMR2Y","use_faq.md":"C-CouVzm","use_fun.md":"DzOhdGiw","use_introduce.md":"C_XjQB89","use_log.md":"DyRSNH8s","use_other_rules.md":"B5IXaaX8","use_quick-start.md":"C38Ae4xU","use_readme.md":"mjM9mZnY","use_story.md":"B8DUcfxT"} diff --git a/images/avatar/dice.svg b/images/avatar/dice.svg new file mode 100644 index 000000000..70c50a4cb --- /dev/null +++ b/images/avatar/dice.svg @@ -0,0 +1,20 @@ + + + icon-s + + Layer 1 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/avatar/user1.jpg b/images/avatar/user1.jpg new file mode 100644 index 000000000..f376fe8e5 Binary files /dev/null and b/images/avatar/user1.jpg differ diff --git a/images/avatar/user2.jpg b/images/avatar/user2.jpg new file mode 100644 index 000000000..2083f4f61 Binary files /dev/null and b/images/avatar/user2.jpg differ diff --git a/images/avatar/user3.jpg b/images/avatar/user3.jpg new file mode 100644 index 000000000..39d54519a Binary files /dev/null and b/images/avatar/user3.jpg differ diff --git a/images/bg/1-dark.svg b/images/bg/1-dark.svg new file mode 100644 index 000000000..7eb0b37ca --- /dev/null +++ b/images/bg/1-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/1-light.svg b/images/bg/1-light.svg new file mode 100644 index 000000000..e06f5f0a1 --- /dev/null +++ b/images/bg/1-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/2-dark.svg b/images/bg/2-dark.svg new file mode 100644 index 000000000..89a11fa94 --- /dev/null +++ b/images/bg/2-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/2-light.svg b/images/bg/2-light.svg new file mode 100644 index 000000000..255c99b83 --- /dev/null +++ b/images/bg/2-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/3-dark.svg b/images/bg/3-dark.svg new file mode 100644 index 000000000..2267dc929 --- /dev/null +++ b/images/bg/3-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/3-light.svg b/images/bg/3-light.svg new file mode 100644 index 000000000..e7b024819 --- /dev/null +++ b/images/bg/3-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/4-dark.svg b/images/bg/4-dark.svg new file mode 100644 index 000000000..6dd25f94e --- /dev/null +++ b/images/bg/4-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/4-light.svg b/images/bg/4-light.svg new file mode 100644 index 000000000..14c7f38cc --- /dev/null +++ b/images/bg/4-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/5-dark.svg b/images/bg/5-dark.svg new file mode 100644 index 000000000..f185663b5 --- /dev/null +++ b/images/bg/5-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/5-light.svg b/images/bg/5-light.svg new file mode 100644 index 000000000..e3b5a1c52 --- /dev/null +++ b/images/bg/5-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/6-dark.svg b/images/bg/6-dark.svg new file mode 100644 index 000000000..c5144d657 --- /dev/null +++ b/images/bg/6-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/bg/6-light.svg b/images/bg/6-light.svg new file mode 100644 index 000000000..e724d2914 --- /dev/null +++ b/images/bg/6-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/seal.png b/images/seal.png new file mode 100644 index 000000000..78f07a939 Binary files /dev/null and b/images/seal.png differ diff --git a/images/seal2.png b/images/seal2.png new file mode 100644 index 000000000..7052fa757 Binary files /dev/null and b/images/seal2.png differ diff --git a/images/sealdice-dark.svg b/images/sealdice-dark.svg new file mode 100644 index 000000000..a980c5ee0 --- /dev/null +++ b/images/sealdice-dark.svg @@ -0,0 +1,24 @@ + + + + + icon-s + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/sealdice.svg b/images/sealdice.svg new file mode 100644 index 000000000..a516c34ff --- /dev/null +++ b/images/sealdice.svg @@ -0,0 +1 @@ +icon-s \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000..a004ab875 --- /dev/null +++ b/index.html @@ -0,0 +1,49 @@ + + + + + + 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

海豹手册

✨海豹骰官方使用手册

SealDice

海豹核心

海豹核心

一个简单易用的跑团骰子系统。可以被叫做 海豹骰、豹骰,豹子骰。

前往官网的 在线试用 中快速尝试——

开始使用

更多……

使用有问题?对功能有新想法?想认识更多骰主?欢迎加入官方群!

如果使用遇到问题,在提问前务必花上几分钟阅读一遍 如何正确提问

群列表:

+ + + + \ No newline at end of file diff --git a/use/README.html b/use/README.html new file mode 100644 index 000000000..0e3344d65 --- /dev/null +++ b/use/README.html @@ -0,0 +1,49 @@ + + + + + + 使用 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content
+ + + + \ No newline at end of file diff --git a/use/attribute_alias.html b/use/attribute_alias.html new file mode 100644 index 000000000..3bfc27050 --- /dev/null +++ b/use/attribute_alias.html @@ -0,0 +1,77 @@ + + + + + + 属性同义词 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

属性同义词

本节内容

本节将介绍海豹在 CoC 和 D&D 规则中默认使用的同义词。

概念说明

属性同义词是在录入和存储角色数据时,将若干个属性名视为同一个属性、互相可以替代使用。

这一设计是为了解决下面这样的问题:(由于笔者的游戏栈,使用 CoC 举例)

场景举例

用户可能使用某些自动工具创建了一名调查员,由工具生成了录入数据的指令。这指令可能包含了类似这样的内容:

text
.st 力量50str50

我们知道,「str」是「力量」属性的英文缩写法,它们完全指代的是同一属性。

因此,我们期待这样的指令实际只录入一条属性,但是用户仍然可以用「力量」或「str」的任何一个名字使用这一属性。

text
$ .st 力量50str50
+<木落>的属性录入完成,本次共记录了2条数据 (其中1条为同义词)
+
+# 实际上只有一条属性
+$ .st show
+<木落>的个人属性为:力量: 50
+
+# 可以用各种名字使用
+$ .ra 力量
+<木落>尝试使用"力量"技能:D100=64/50 失败
+$ .ra STR
+<木落>尝试使用"力量"技能:D100=78/50 失败
+
+# 可以用各种名字修改
+$ .st str+10
+<木落>的属性变化:
+力量: 50 ➯ 60 (增加10=10)
+$ .ra 力量
+<木落>尝试使用"力量"技能:D100=90/60 失败

类似地,在 CoC 中,「智力」与「灵感」是规则书规定的同一属性的两个名字。它们也被视为同义词。

一些分支专精技能的名字,如「冲锋枪」,我们将「射击:冲锋枪」作为它的同义词,以适配尽量多的用法。

我们在选择同义词时遵循以下几条原则:

  1. 规定的同义词等价,如 智力灵感教育知识
  2. 中文和英文缩写等价,如 力量str
  3. 同一概念的不同常用称呼等价,如 理智理智值,根据原则 2,sansan值 也指向同一属性;
  4. 日常用语中基本等价且易混淆的词汇等价,如 侦查侦察
  5. 不同版本规则之间的同一技能更换了用词,或翻译有变化,这些名字等价;如 CoC 6 版的 快速交谈 与 7 版的 话术;又如 7 版的 魅惑取悦
  6. 简体与繁体字等价,如 体质體質
  7. 在玩家中广泛使用的简称、别称与其正式名称等价,如 克苏鲁神话克苏鲁克苏鲁神话知识

同义词表

为了确保你不会获取到过时内容,我们决定不将列表放在手册中,敬请理解。

这些同义词都是符合直觉的,你通常也无需专门查阅列表。如果你确实想了解,请参考以下内容。

  • CoC 规则的同义词,请自行理解 此源文件 的内容。

  • D&D 规则的同义词可在骰子启动后,在本地文件 data/default/extensions/dnd5e/attribute.yaml 中查看。

    这个文件遵守以下格式。其中,ac 位置上的名字是海豹核心选用的主要名字,后续列出的是它的同义词。

    yaml
    alias:
    +    ac:
    +        - AC
    +        - 护甲等级
    +        - 护甲值
    +        - 护甲
    +        - 護甲等級
    +        - 護甲值
    +        - 護甲
    +        - 装甲
    +        - 裝甲
+ + + + \ No newline at end of file diff --git a/use/coc7.html b/use/coc7.html new file mode 100644 index 000000000..1f1f4a974 --- /dev/null +++ b/use/coc7.html @@ -0,0 +1,83 @@ + + + + + + 克苏鲁的呼唤 7 版 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

克苏鲁的呼唤 7 版

本节内容

本节将展示 CoC 7th 玩家所需指令,请善用侧边栏和搜索,按需阅读文档。

我们假定你已对 CoC 规则有适当了解,本节只涉及如何使用海豹核心完成规则中指定的操作。

克苏鲁的呼唤

「克苏鲁的呼唤」(Call of Cthulhu)是一个充满了秘密、神秘和恐怖的游戏。你将扮演一位坚定的侦探,奔波在奇怪而危险的场所之间,揭开邪恶的阴谋,对抗暗夜的恐怖。你将面对令人 SAN 值直葬(令人理智崩溃)的存在、怪物们,还有疯魔的邪教徒们。在被人遗忘的奇异书卷中,你会发现不应当为人类所知晓的秘密。

.st 操作人物卡

在克苏鲁的呼唤中,每位玩家都需要创造一位调查员。这是一群发掘深层秘密的人,这是一群搜索遗忘之地的人,这是一群用禁忌知识武装自己头脑,正面应对克苏鲁神话中那些毛骨悚然之物的人。

此指令用来操作骰子程序模拟的人物卡。

属性与技能

由于属性和技能在检定时基本不做区分,表述时不以 <属性/技能> 的形式表明这里既可以使用技能名又可以使用属性名,而是统一使用 <属性> 来代指。

.st help 获取帮助信息

请以海豹核心最新帮助信息为准。列出几个常用功能供参考。

列出属性

.st show [<属性>]

不提供参数则列出所有属性数值;提供属性名则列出特定属性数值。

删除属性

.st clr 删除所有属性数值;

.st del <属性>... 删除指定属性。

设定属性值

.st <属性><表达式> <属性><表达式>...

将指定属性设定为指定表达式的计算结果。如 .st 敏捷50 力量3d6*5

v1.4.2 开始,海豹核心兼容了简化卡格式 .st <角色名>-<属性><表达式>,这相当于分别使用 .nn 指令设置角色名,然后设定属性值。

更新属性值

.st <属性>±<表达式>

将指定属性增加或减去表达式的计算结果。表达式中可以包含骰点。如 .st 敏捷+2 hp+1d3

设定计算表达式

.st &<属性>=<表达式>

保存计算表达式,以更方便地计算某些固定骰点。例如

示例

木落
.st &手枪伤害=1d6+1
头像
头像
海豹核心
<木落>的coc7属性录入完成,本次录入了1条数据
木落
.r 手枪伤害
头像
头像
海豹核心
<木落>掷出了 手枪伤害=[手枪伤害=5[1d6=5] + 1]=6

导出属性值

.st export

将保存的属性数值以 st 指令格式列出,可以直接复制到其他骰子使用。

代骰

以上功能均可以通过附加 @其他人 来操作对方的属性值。

示例

木落
.st 侦查80 @Szz
头像
头像
海豹核心
由<木落>代骰: +<Szz>的coc7属性录入完成,本次录入了1条数据
木落
.st hp-1 @Szz
头像
头像
海豹核心
由<木落>代骰: +<Szz>的属性变化: +生命值: 10 ➯ 9 (扣除-1=-1)
木落
.st show hp @Szz
头像
头像
海豹核心
由<木落>代骰: +<Szz>的个人属性为: +生命值:9/10

.ra/.rc 检定

检定一词要与恰当的技能或属性一起使用;也就是说,比如说,守秘人会要求进行一个「攀爬检定」或一个「力量检定」。

rc 还是 ra?

rc 是规则书检定。而 ra 是房规检定。区别主要在于对大成功/大失败的判定方式。

当房规设定为规则书标准(.setcoc 0)时,ra 和 rc 等价。

进行检定

.ra <属性表达式>

使用指定的属性或技能进行检定。其中,属性可以被包含在表达式中进行调整。

另外,直接指明技能名和数值,将以给出的数值进行检定。

示例

假设角色的侦查技能是40

木落
.ra 侦查
头像
头像
海豹核心
<木落>的"侦查"检定结果为: D100=64/40 失败
木落
.ra 侦查+10
头像
头像
海豹核心
<木落>的"侦查"检定结果为: D100=15/50 困难成功
木落
.ra 侦查99
头像
头像
海豹核心
<木落>的"侦查"检定结果为: D100=30/99 困难成功

多轮检定

.ra <次数># <属性表达式>

重复进行指定次数的相同检定。

示例

木落
.ra 3# 侦查
头像
头像
海豹核心
对<木落>的"侦查"进行了3次检定,结果为: +D100=87/40 失败 +D100=24/40 成功 +D100=1/40 大成功

要求一定难度的检定

.ra <难度><属性表达式>

进行检定,但只有成功等级达到要求的难度才判定为成功。可以指定的难度有 困难(当前判定线的二分之一)、极难(当前判定线的五分之一)、大成功(根据当前房规确定)

示例

假设角色的侦查技能是40

木落
.ra 困难侦查+10
头像
头像
海豹核心
<木落>的"困难侦查+10"检定结果为: D100=30/25 失败

奖励骰和惩罚骰

.ra (b|p)[<个数>] <属性表达式>

进行检定,并且使用指定个数(如果不指定,为 1 个)的奖励骰(b)或惩罚骰(p)。

示例

木落
.ra b2 侦查
头像
头像
海豹核心
<木落>的"侦查"检定结果为: b2=1/40, ([D100=51, 奖励 0 2]) 大成功!

代骰

以上功能均可以通过附加 @其他人 来使用对方的技能进行检定。

示例

假定 Szz 的侦查技能是80

木落
.ra 侦查 @Szz
头像
头像
海豹核心
由<木落>代骰: +<Szz>的"侦查"检定结果为: D100=65/80 成功

以上功能可以组合使用

示例

木落
.ra 3# p 困难侦查+10 @Szz
头像
头像
海豹核心
由<木落>代骰: +对<Szz>的"困难侦查+10"进行了3次检定,结果为: +p=36/45, ([D100=16, 惩罚 3]) 成功 +p=91/45, ([D100=91, 惩罚 8]) 失败 +p=75/45, ([D100=5, 惩罚 7]) 失败

.rah/.rch 暗中检定

.ra/.rc 功能相同。区别是,检定结果将不会发送到使用指令的群聊,而是私聊发送给指令发起者。

为什么没有结果?

暗中检定只在群聊中可用。

由于要私聊发送检定结果,你可能需要先将骰子加为好友

代骰

此功能同样支持通过附加 @其他人 以使用对方的技能进行检定。

一个较为常见的用法是,PL 要求使用心理学技能,由 KP 进行暗中代骰。

示例

头像
PL
我要对这个 NPC 使用心理学
KP
可以
头像
KP
.rah 心理学 @PL
头像
头像
海豹核心
由<KP>代骰: +<PL>悄悄进行了一项心理学检定

.rav/.rcv 对抗检定

有些情况,例如两位调查员相互对抗时,你会希望双方都进行掷骰来决出胜者。 此外,对抗检定也是近战的标准处理方式。

在对抗检定中应用调整

在对抗检定这一节中,所述的「属性表达式」除了使用 技能名技能名+指定数值 外,可以进行以下调整:

  1. 在前面附加难度等级,如 困难侦查
  2. 进行运算,如 侦查+10
  3. 在后面附加奖励骰与惩罚骰,如 侦查,b2

使用相同技能对抗

.rav <属性表达式> @对手

自己与对手均使用相同属性/技能(如果有调整值,也相同应用)进行一次检定,然后比较成功等级。

示例

木落
.rav 侦查+10 @Szz
头像
头像
海豹核心
对抗检定: +木落 侦查+10-> 属性值:35 判定值:3 极难成功 +Szz 侦查+10-> 属性值:90 判定值:23 困难成功 +木落胜出!

使用不同技能对抗

.rav <自己的属性表达式> <对手的属性表达式> @对手

使用自己的一个属性/技能对抗对手的另一属性/技能,或者相同属性/技能应用不同调整值。

示例

木落
.rav 潜行,b 侦查 @Szz
头像
头像
海豹核心
对抗检定: +木落 潜行-> 属性值:20 判定值:7[[D100=97, 奖励 0]] 困难成功 +Szz 侦查-> 属性值:80 判定值:28 困难成功 +平手!请自行根据场景(如属性比较、攻击对反击,攻击对闪避)做出判断

指定两个其他人对抗

通过 at 两个其他玩家,可用让 TA 们进行对抗,而不包括自己。

.rav <共用属性表达式> @A @B

.rav <A属性表达式> <B属性表达式> @A @B

.sc 理智检定

在令人不安或恐怖的情景中,守秘人将考验调查员的心智。这会要求场景中每位调查员进行一次理智检定。在较短的时间内失去过多理智值,会使调查员陷入临时性或不定性疯狂。

指定损失的理智

.sc <成功时理智损失>/<失败时理智损失>

其中,理智损失均可以是包含骰点的表达式。

示例

木落
.sc 1/1D4+1
头像
头像
海豹核心
<木落>的理智检定: +d100=9/60 极难成功 +理智变化: 60 ➯ 59 (扣除1=1点)

简略写法

.sc <失败时理智损失>(完全等价于 .sc 0/<失败时理智损失>

如果检定成功时不失去理智,可以只指定失败时的理智损失。

奖励骰和惩罚骰

.sc (b|p)[<数量>] <成功时理智损失>/<失败时理智损失>

在进行理智检定时使用指定数量的奖励骰或惩罚骰。

代骰

此指令支持附加 @其他人,使目标进行指定的理智检定。

示例

木落
.sc 0/1 @Szz
头像
头像
海豹核心
由<木落>代骰: +<Szz>的理智检定: +d100=82/60 失败! +理智变化: 60 ➯ 59 (扣除1=1点)

.ti/.li 疯狂发作症状

在《克苏鲁的呼唤》中,与克苏鲁神话相关的痛苦经历和可怖领悟都会诱发疯狂。

疯狂状态的持续时间取决于失去的理智值的数量和比例。

ti 还是 li?

通常的疯狂发作应该使用 ti 抽取即时症状

但是,如果疯狂发作时调查员周围没有其他调查员陪伴,或在场的所有调查员同时疯狂发作, 则守秘人可以快速推进行动,只陈述结果。这被称为疯狂发作的总结症状。使用 li 来抽取。

.ti

使用该指令以抽取疯狂发作的即时症状与发作时间。如果抽到的是恐惧症与躁狂症,也会同时抽取具体条目。

.li

使用该指令以抽取疯狂发作的总结症状与消耗时间。如果抽到的是恐惧症与躁狂症,也会同时抽取具体条目。

.en 技能成长

当调查员在游戏中成功使用了技能,玩家应该勾上角色卡上该技能旁的方框。这提供了调查员从经验中学习的机会。

  • 若使用了奖励骰则不能获得技能成长标记。
  • 对于对抗检定,双方可能都实现某种程度的成功,但只有一方获胜,也只有胜者可以获得技能成长标记。

进行技能成长

.en <技能名称> [<更多技能名称>...]

对指定的技能分别进行一次成长检定。

相同技能不能被反复列出。如果需要对一个技能进行多次成长,请多次使用成长指令。

text
.en 侦查 聆听 图书馆使用

.en <技能名称><技能点数>

也可以强制指定一个技能的数值。注意,不论成功与否,这都将使用新的技能值覆盖现有的技能值。

指定成长值

.en <技能名称>[<技能点数>] +<失败成长值>/<成功成长值>

指定当成长检定成功与失败时的技能成长点数。两个点数都可以是包含骰点的表达式。

.en <技能名称>[<技能点数>] +<成功成长值>

如果检定失败时成长为 0,也可以略去不写。

指定的成长值

指定值前面的加号 + 是必须的。

成长值可以是负数,如果命中,则会失去相应的技能点数。

.coc 生成随机属性(制卡)

.coc [<数量>]

随机生成指定数量的调查员属性。如果省略数量,将生成 1 个。生成的属性包括 8 项基础属性与幸运,同时会计算 HP 点数。

此外,也会计算属性的总值供用户参考。总值包括两个,其一是 8 项基础属性的总值,其二是前者与幸运的总值。

示例

木落
.coc 2
头像
头像
海豹核心
<木落>的七版COC人物作成: +力量:65 敏捷:80 意志:55 +体质:50 外貌:45 教育:90 +体型:70 智力:75 +HP:12 幸运:45 [530/575] + +力量:40 敏捷:60 意志:65 +体质:60 外貌:75 教育:60 +体型:50 智力:75 +HP:11 幸运:55 [485/540]

.setcoc 设置房规

改变海豹核心判定大成功与大失败的方式。

显示当前房规

.setcoc

不加参数的使用,即显示当前设定的房规。

列出可用房规

.setcoc details

列出所有内置或通过扩展加入的房规。海豹核心内置的房规列出如下:

序号规则
0(默认)出 1 大成功,不满 50 出 96-100 大失败,满 50 出 100 大失败 (CoC7th 规则书)
1不满 50 出 1 大成功,不满 50 出 96-100 大失败,满 50 出 100 大失败
2(常用)出 1-5 且判定成功为大成功,出 96-100 且判定失败为大失败
3出 1-5 大成功,出 96-100 大失败 (即大成功/大失败时无视判定结果)
4出 1-5 且≤(成功率/10) 为大成功,不满 50 出>=96+(成功率/10) 为大失败,满 50 出 100 大失败
5出 1-2 且≤(成功率/5) 为大成功,不满 50 出 96-100 大失败,满 50 出 99-100 大失败
dg出 1 或检定成功基础上个位十位相同为大成功,出 100 或检定失败基础上个位十位相同为大失败,此规则无困难成功或极难成功

设定房规

.setcoc <房规序号>

使用指定的房规。

+ + + + \ No newline at end of file diff --git a/use/core.html b/use/core.html new file mode 100644 index 000000000..e7f191dce --- /dev/null +++ b/use/core.html @@ -0,0 +1,94 @@ + + + + + + 核心指令 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

核心指令

本节内容

本节将介绍海豹核心的核心指令。

核心指令是无法被关闭的指令。与之相对的概念是扩展指令,扩展指令可以被关闭。

.master 骰主指令

此指令只能由具有 Master 权限的用户使用。

.master add @A 为 A 添加 Master 权限。

.master del @A 移除 A 的 Master 权限。

.master list 查看当前 Master 权限列表。

.master relogin 30 秒后重新登录,有可能使骰子失联。

.master reboot 重新启动海豹核心(需要二次确认)。

.master checkupdate 检查并进行远程更新(需要二次确认)。

.master unlock <解锁码> 清空 Master 权限列表,并给自己重新添加 Master 权限。

.master backup 做一次备份。

.master reload (deck|js|helpdoc) 重新加载牌堆/js/帮助文档。

.master quitgroup <群组 ID> [<理由>] 从指定群组中退出,必须在同一平台使用。

注意:保护好你的骰子

我们认为,拥有海豹核心的最终判定方式是可以接触到 WebUI。因此,该解锁码仅能通过 WebUI 的「综合设置 - 基本设置」获取。

你可以将 Master 权限授予若干位维护人员。但是,确保只有你完全信任的人能够接触到你骰子的 WebUI 与本地文件。

如果你的 WebUI 可以通过公开互联网访问,确保你设置了合适的密码。

.ban 黑白名单指令

注意:统一 ID

在海豹核心的指令和后台设置中,你会经常用到统一 ID。这是海豹核心用于标识不同平台的用户和群组的通用格式。对于每个用户,其形式为 平台:序列号;对于群组,其形式为 平台-Group:序列号

使用 .userid 指令查看自己和所在群聊的统一 ID。

在 QQ 平台,序列号即为 QQ 号与群号。

.ban help 查看帮助。

.ban add <统一 ID> [<原因>] 使用统一 ID,将指定用户拉入黑名单,理由可不填。

.ban trust <统一 ID> 使用统一 ID,将指定用户添加至信任列表。

.ban rm <统一 ID> 使用统一 ID,将指定用户移出黑名单/信任列表。

.ban list 展示列表。

.ban list (ban|warn|trust) 只显示被禁用/被警告/信任用户。

.ban query <统一 ID> 查看指定用户黑白名单情况。

.bot 骰子管理

你必须 AT 骰子账号,才能使用 bot 命令。为了简单,在以下示例中略去 AT 的部分。

示例

木落
.bot on
头像
头像
海豹核心
<海豹bot> 已启用 SealDice <版本号>
木落
.bot off
头像
头像
海豹核心
<海豹bot> 停止服务
木落
.bot bye
头像
头像
海豹核心
收到指令,5s后将退出当前群组
木落
.bot
头像
头像
海豹核心
SealDice <版本号>

.ext 扩展管理

除了本节所述的「核心指令」之外,海豹的其他功能都作为「扩展」提供。每一个扩展提供若干指令和其他功能,并可以单独开关。你可在每个群聊中启用不同的扩展。

.ext list 查看扩展列表和开启情况。

.ext <扩展名> 查询指定扩展的信息。

.ext <扩展名> (on|off) 开启、关闭指定扩展。

目前,海豹提供 7 个内置扩展,它们的详细信息在本章的后续内容中逐一介绍。同时,海豹核心也支持通过装载 JavaScript 脚本添加第三方扩展。

示例

木落
.ext
头像
头像
海豹核心
检测到以下扩展: +1. [开]coc7 - 版本:1.0.0 作者:木落 +2. [开]log - 版本:1.0.0 作者:木落 +3. [开]fun - 版本:1.0.0 作者:木落 +4. [开]deck - 版本:1.0.0 作者:木落 +5. [关]reply - 版本:1.0.0 作者:木落 +6. [开]dnd5e - 版本:1.0.0 作者:木落 +7. [开]story - 版本:1.0.0 作者:木落 +使用命令: .ext <扩展名> on/off 可以在当前群开启或关闭某扩展。 +命令: .ext <扩展名> 可以查看扩展介绍及帮助
木落
.ext coc7 on
头像
头像
海豹核心
打开扩展 coc7
木落
.ext reply
头像
头像
海豹核心
> [reply] 版本1.2.0 作者木落 +> 自定义回复模块,支持各种文本匹配和简易脚本
木落
.ext reply off
头像
头像
海豹核心
关闭扩展 reply

可以在 UI 界面中「综合设置 - 基本设置」的最底下,设置各个扩展及其指令的默认开启状态。

.set 骰子面数管理

海豹默认骰子面数为100,你可以通过以下指令在 coc/dnd 规则中切换,更多规则请看其它规则支持

.set info 查看当前面数设置。

.set <面数> 设置群内骰子面数。

.set dnd 设置群内骰子面数为20,并自动开启对应扩展。

.set (coc|coc7) 设置群内骰子面数为100,并自动开启对应扩展。

.set clr 清除群内骰子面数设置。

.r 骰点

.r <表达式> [<原因>]

别名:.roll

常用示例

示例

木落
.r
头像
头像
海豹核心
<木落>掷出了 D100=69
木落
.r d50
头像
头像
海豹核心
<木落>掷出了 d50=[1d50=48]=48
木落
.r d50 天气不错
头像
头像
海豹核心
由于天气不错,<木落>掷出了 d50=[1d50=4]=4
木落
.r 5d24 骰5个24面骰
头像
头像
海豹核心
由于骰5个24面骰,<木落>掷出了 5d24=[5d24=60, 7+20+15+1+17]=60
木落
.r 4d6k3 骰4个6面骰,选3个最大的
头像
头像
海豹核心
由于骰4个6面骰,选3个最大的,<木落>掷出了 4d6k3=[{6 5 3 | 1 }]=14
木落
.r 100 + 3 * 2
头像
头像
海豹核心
<木落>掷出了 100 + 3 * 2=100 + 6=106

或许你已注意到,.r 指令的表达式在不包含骰子算符时,相当于计算器。海豹的计算只支持整数,出现的小数被立即舍弃。

多轮骰点

示例

木落
.r 2#d10
头像
头像
海豹核心
<木落>掷骰2次: +d10=[1d10=7]=7 +d10=[1d10=8]=8

在骰点中使用属性值

你可在表达式中包含属性值或其他变量。

示例

此时木落的侦查技能点是 53

木落
.r 侦查+10
头像
头像
海豹核心
<木落>掷出了 侦查+10=53[侦查=53] + 10=63

奖励骰与惩罚骰

CoC 规则中,对于百分骰的一种补偿骰法,通过额外骰一定数量的十位骰,选择组成的最好结果或最坏结果。

示例

木落
.r b
头像
头像
海豹核心
<木落>掷出了 b=[D100=72, 奖励 4]=42
木落
.r b3
头像
头像
海豹核心
<木落>掷出了 b3=[D100=96, 奖励 4 6 3]=36
木落
.r p4 惩罚骰
头像
头像
海豹核心
由于惩罚骰,<木落>掷出了 p4=[D100=27, 惩罚 5 6 8 7]=87

优势骰与劣势骰

D&D 规则中对 20 面骰的一种补偿骰法。额外骰一次,取较高或较低结果。

示例

木落
.set 20
头像
头像
海豹核心
设定默认骰子面数为 20
木落
.r d20优势
头像
头像
海豹核心
<木落>掷出了 d20优势=[{7 | 6 }]=7
木落
.r d劣势
头像
头像
海豹核心
<木落>掷出了 d劣势=[{16 | 18 }]=16

优势骰与劣势骰也可使用通用的表达式表达

示例

木落
.r 2d20k1 等于优势骰
头像
头像
海豹核心
由于等于优势骰,<木落>掷出了 2d20k1=[{19 | 17 }]=19
木落
.r 2d20q1 等于劣势骰
头像
头像
海豹核心
由于等于劣势骰,<木落>掷出了 2d20k1=[{19 | 17 }]=17

fvtt 骰点兼容

示例

木落
.r d20kh
头像
头像
海豹核心
<木落>掷出了 d20kh=[{10 | 3 }]=10

fate 命运骰

一种特殊的六面骰,六个面分别为 -、-、0、0、+、+,分别代表 -1、0、1。

骰点时投掷 4 次,加在一起为结果。

示例

木落
.r f
头像
头像
海豹核心
<木落>掷出了 f=[---+]=-2

WOD 骰点

WOD 骰点规则是一个多轮骰点规则,国内多见于无限团。

进行 WOD 骰点需要设定以下参数:骰池数量 X、加骰线 Y、骰子面数 Z、成功线 N,其中 X Y 是必须的,成功线默认为 8,骰子面数默认为 10。

骰 X 个 Z 面骰,每有一个大于等于成功线 N 的骰,成功数加 1,每有一个大于等于加骰线 Y 的骰,加骰数加 1,进入下一轮。

在第二轮中,骰上一轮中加骰数个 Z 面骰,重复进行计算。以此类推。

最后计算总计成功数。

表达式形如 <X>a<Y>[m<Z>][k<N>]。其中的大写字母用相应参数替换。

示例

木落
.r 5a6
头像
头像
海豹核心
<木落>掷出了 5a6=[成功2/8 轮数:3 {4,<10*>,<10*>,5,1},{5,<6>},{1}]=2
木落
.r 10a6k4m9
头像
头像
海豹核心
<木落>掷出了 10a6k4m9=[成功11/16 轮数:3 {1,<6*>,5*,3,<8*>,5*,<8*>,<6*>,2,<8*>},{5*,2,<9*>,1,4*},{5*}]=11

在计算过程中,每一轮骰点被包含在一对花括号 {} 中;达到加骰线 Y 的骰点用 <> 标记;达到成功线 N 的骰点用 * 标记。

你可指定 Y = 0,这时不进行加骰而只骰一轮。

你可将 k<N> 替换成 q<M>,这时,最终计算的是小于等于 M的骰子总数。

示例

木落
.r 5a6q4
头像
头像
海豹核心
<木落>掷出了 5a6q4=[成功4/9 轮数:3 {<9>,5,<9>,3*,<9>},{<10>,3*,2*},{2*}]=4

双十字骰点

双十字规则是一种多轮的骰点规则。

进行双十字骰点需要设定以下参数:骰池数量 X、暴击线 Y、骰子面数 Z,其中 X Y 是必须的,骰子面数 Z 默认为 10。

骰 X 个 Z 面骰,出目大于等于暴击线的骰子称为此骰子「暴击」。只要存在暴击的骰子,就称本轮暴击,进入下一轮;否则计算最终骰点。

第二轮中,骰 上一轮中暴击的骰子数 个 Z 面骰,统计暴击数,判断进入下一轮或结束。以此类推。

最终的骰点结果为:暴击轮数 * 10 + 最后一轮中最大点数。

表达式形如 <X>c<Y>[m<Z>]。其中的大写字母用相应参数替换。

示例

木落
.r 4c3m7
头像
头像
海豹核心
<木落>掷出了 4c3m7=[出目32/9 轮数:4 {<4>,2,<4>,<5>},{<7>,1,2},{<7>},{2}]=32

在计算过程中,每一轮骰点被包含在一对花括号 {} 中;达到暴击线 Y 的骰点用 <> 标记。

混合运算

以上所有骰法,加、减、乘、除、乘方等 5 个数学运算,以及括号 () 可以被组合使用,以进行更复杂的运算。

示例

木落
.r 30 + (-1d20) + 49
头像
头像
海豹核心
<木落>掷出了 30 + (-1d20) + 49=30 + -1[1d20=1] + 49=78
木落
.r d50 * 3 + 2
头像
头像
海豹核心
<木落>掷出了 d50 * 3 + 2=21[1d50=21] * 3 + 2=65
木落
.r d50 * 3 + (2 - p2) 多项式
头像
头像
海豹核心
由于多项式,<木落>掷出了 d50 * 3 + (2 - p2)=25[1d50=25] * 3 + -64[D100=6, 惩罚 6 5]=11

特别地,上文所述的「骰法」d b p f a c 均可作为运算符使用。

示例

木落
.r 1d1d1d1d1d1d1d1d1d1d1d1d1d1d(20+1d3*4)
头像
头像
海豹核心
<木落>掷出了 1d1d1d1d1d1d1d1d1d1d1d1d1d1d(20+1d3*4)=13
木落
.r 1d10+(1+32)d(4*6)d20
头像
头像
海豹核心
<木落>掷出了 1d10+(1+32)d(4*6)d20=1[1d10=1] + 3941[33d24=384,384d20=3941]=3942

.rh 暗骰

这个指令的格式与普通骰点 .r 完全相同,区别在于发送骰点结果的方式。

在发送指令的群聊中,海豹核心会进行提示,但提示不包含骰点结果。

骰点结果将由海豹核心私聊给指令发送者。

收不到结果?

在 QQ 平台上,如果你不是海豹账号的好友,将无法进行私聊。也就无法收到暗骰结果。

示例

木落
.rh d50
头像
头像
海豹核心
命运正在低语!

.rx / .rxh 特殊骰点

这个指令的格式与普通骰点 .r 完全相同,区别在于允许额外 AT 其他人,以使用对方的属性。

这种操作称为「代骰」,你会在许多其他指令中看到代骰用法。

示例

此时木落的侦查是 75,Szz 的侦查是 80

木落
.rx 侦查+1d20**2
头像
头像
海豹核心
<木落>掷出了 侦查+1d20**2=75[侦查=75] + 324[1d20=18]=399
木落
.rx 侦查+1d20**2 @Szz
头像
头像
海豹核心
由<木落>代骰: +<Szz>掷出了 侦查+1d20**2=80[侦查=80] + 144[1d20=12]=224

.nn 角色名设定

.nn 查看当前角色名。

.nn <角色名> 修改角色名,角色名中不能带有空格。

.nn clr 重置角色名,即,将角色名设置为 IM 平台的昵称。

角色名被用于在进行各种操作和记录 Log 时显示。

示例

木落
.nn 简·拉基·茨德
头像
头像
海豹核心
<木落>(IM 账号)的昵称被设定为<简·拉基·茨德>
木落
.r
头像
头像
海豹核心
<简·拉基·茨德>掷出了 D100=16
木落
.nn
头像
头像
海豹核心
玩家的当前昵称为: <简·拉基·茨德>
木落
.nn clr
头像
头像
海豹核心
<简·拉基·茨德>(IM 账号)的昵称已重置为<木落>

.pc 角色卡管理

信息

为了使用这个指令,需要先介绍海豹核心管理你角色卡的方式。

在每个群聊(对于这里,私聊也被认为是一个特殊的群聊)中,你都自动拥有一张独立的角色卡。这些角色卡互相无任何影响。

你还可以拥有若干与特定群聊无关的角色卡,这些角色卡可以被绑定到任意数量的群聊。这时,绑定的群聊中角色数据互相同步,在一处的修改就会影响其他各处。

pc 指令的作用是管理上述第二种群聊无关角色卡。

.pc new <角色名> 新建一张角色卡,并绑定到当前群聊。

.pc save [<角色名>] 将你当前群聊中的独立卡数据保存为个人角色卡。你可指定保存的角色名,如不指定,将使用当前群聊中你的角色名。

.pc list 列出你所保存的所有角色。

.pc tag (<角色名>|<角色序号>) 将指定角色卡绑定到当前群聊。

.pc tag 不带有角色名参数,将本群的绑定关系解除。你在本群的角色将会恢复为独立卡的数据。

.pc untagAll (<角色名>|<角色序号>) 将指定角色卡从其绑定的所有群解绑。

.pc load (<角色名>|<角色序号>) 使用指定角色卡的数据覆盖当前群聊的独立卡。这不会将角色卡绑定到当前群聊。

.pc del/rm (<角色名>|<角色序号>) 删除指定角色卡。

.find 词条查询指令

海豹核心默认搭载了 CoC 的《怪物之锤》、《魔法大典》和 D&D 规则的一系列资料。这些资料在海豹的 data/helpdpc 目录下的不同文件中被整理成词条,并支持使用此指令进行查询。

.find [#<分组名>] <关键字> [--num=<页大小>] [--page=<页码>] 用关键字进行词条查询;如果提供了分组名,则只在指定分组中进行查询;可指定每页大小和页码,默认为每页 4 条,显示第 1 页。

「分组名」是指海豹 data/helpdoc 目录下的子目录名。对于内置的帮助文档,分组名分别是「COC」和「DND」。

.find <数字ID> 显示该 ID 的词条。

.find --rand 显示随机词条。

别名:.查询

查询功能在不同设备上的实现是不同的。在 x86 设备上,海豹核心使用稍微更多的内存使用全文搜索,这赋予了查询指令强大的获取能力。在其他平台上,由于搜索库的限制,海豹核心使用词条标题模糊搜索。

v1.4.2 版本起,你可以在 WebUI 的「扩展功能 - 帮助文档」中设置分组的别名。

指定默认查询分组 v1.4.2

v1.4.2 版本起,海豹支持在每个群组中分别设置默认的查询分组。

.find config --group 查看当前群组的默认查询分组。

.find config --group=<分组名> 设置当前群组的默认查询分组。

.find config --groupclr 清除当前群组的默认查询分组。

示例

木落
.find config --group=COC
头像
头像
海豹核心
指定默认搜索分组为COC
木落
.find 火球术
头像
头像
海豹核心
未找到搜索结果
木落
.find config --groupclr
头像
头像
海豹核心
已清空默认搜索分组,原分组为COC
木落
.find 火球术
头像
头像
海豹核心
[全文搜索]最优先结果: +词条: PHB法术:火球术

全文搜索

示例

木落
.find 30尺 法术
头像
头像
海豹核心
全部结果: +[序号3066]【术士:超魔法:远程法术】 匹配度 0.16 +[序号3015]【游侠:驯兽师:法术共享】 匹配度 0.13 +[序号2396]【法术详述:迷踪步】 匹配度 0.12 +[序号1319]【法术详述:阿迦纳萨喷火术】 匹配度 0.12 +[序号507]【法术详述:智能堡垒/智力堡垒/智慧堡垒/智能壁垒/心智堡垒/心智壁垒】 匹配度 0.12 +[序号2514]【法术详述:水下呼吸/水中呼吸】 匹配度 0.11 +[序号2212]【法术详述:原力法阵】 匹配度 0.11 +[序号1403]【法术详述:众星冠冕/星辰冠冕/星之冠冕】 匹配度 0.11 +[序号2243]【法术详述:造水/枯水术/造水术/枯水术】 匹配度 0.11 +[序号2176]【法术详述:秘法眼】 匹配度 0.11 + +(本次搜索由全文搜索完成)

因为多个文本匹配度相近,因此没有列出最佳匹配条目的正文内容。用这条指令可以查看:

示例

木落
.find 2212
头像
头像
海豹核心
词条: 法术详述:原力法阵 +原力法阵 Circle of Power +圣武士 +5环 防护 +施法时间:1动作 +施法距离:自身(30尺半径) +法术成分:V +持续时间:专注,至多10分钟 +你身上发出神圣能量并以扭曲散溢的魔法能量构成一个半径30尺的球状力场。法术持续时间内力场将以你为中心随你移动。力场范围内的友方生物(包括你自己)为对抗法术或其他魔法效应而进行的豁免检定具有优势。此外,受本法术效应影响的生物在对抗豁免成功则伤害减半的法术或魔法效应时,若成功则不受伤害。

这么好用,那代价是什么呢?

更多的内存占用和变慢的启动速度。

大致来说,每 1 MB 帮助文本会产生约 15 MB 额外内存占用

快速文档查找

示例

木落
.find 测试词条
头像
头像
海豹核心
最优先结果: +词条: 测试:测试词条 +他在命运的沉浮中随波逐流, 扮演着受害与加害者的双重角色 + +全部结果: +[序号2]【测试:测试词条】 匹配度 67.00 + +(本次搜索由快速文档查找完成)

致谢

CoC《怪物之锤》的整理者为:蜜瓜包October

CoC 魔法大典的整理者为:魔骨NULLDr.Amber

D&D 系列资料的整理者主要为 DicePP 项目组成员,包括Farevell梨子花作噫邪恶惠惠赵小安等。

这些资料的原始出处和译者很多已经不可考,此处无法一一列出,甚为遗憾。

也在此感谢一代又一代无名作者和译者做出的工作。

.help 帮助指令

.help [<词条名>] 显示指定词条的帮助文档。

.help reload 重新装载帮助文档。仅 Master 可用。

.set 设定默认骰子面数 / 设定游戏系统

.set info 查看当前默认骰子面数。如果从未设置过,将显示为「0」。

.set dnd 设置群内骰子面数为 20,并自动开启 D&D 扩展。

.set (coc|coc7) 设置群内骰子面数为 100,并自动开启 CoC 扩展。

.set <面数> 设定群内默认骰子面数。

.set <面数> --my 设定个人专属默认骰子面数。

.set clr 清除群内骰子面数设置。

.set clr --my 清除个人骰子面数设置。

如果通过「规则模板」机制添加了自设规则,并有相关配置,可以使用 .set <规则名> 切换为对应规则的默认骰面数。你可以通过 .set help 来查看当前可用的关键字。

示例

木落
.set 20
头像
头像
海豹核心
设定默认骰子面数为 20
木落
.set coc
头像
头像
海豹核心
设定群组默认骰子面数为 100 +提示:已切换至100面骰,并自动开启coc7扩展
木落
.set dnd
头像
头像
海豹核心
设定群组默认骰子面数为 20 +提示:已切换至20面骰,并自动开启dnd5e扩展。
木落
.set info
头像
头像
海豹核心
个人骰子面数: 0 +群组骰子面数: 20 +当前骰子面数: 20

.botlist 机器人列表

这个指令用于标记同一群聊内的其他机器人。

当一个账号被标记后,对于与 TA 相关的消息,海豹核心会按以下规则进行忽略:

  1. 如果 TA 被 AT,忽略;
  2. 如果是 TA 发出的消息,忽略。

这可避免机器人互相响应造成的危险的循环。

.botlist add @A @B @C 标记 A、B、C 为机器人。

.botlist add @A @B --s 同上,不过骰子不会做出回复。

.botlist del @A @B @C 去除 A、B、C 的标记。

.botlist list 查看当前标记列表。

+ + + + \ No newline at end of file diff --git a/use/deck_and_reply.html b/use/deck_and_reply.html new file mode 100644 index 000000000..bb9a58a88 --- /dev/null +++ b/use/deck_and_reply.html @@ -0,0 +1,77 @@ + + + + + + 牌堆 自定义回复 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

牌堆 自定义回复

本节内容

本节将展示牌堆和自定义回复相关的指令,请善用侧边栏和搜索,按需阅读文档。

提示:如何自定义?

牌堆和自定义回复都是海豹提供的扩展性功能,此处只展示相关控制指令,如果你想知道如何进行自定义,请转到 进阶介绍

.draw 抽牌 / 管理牌堆

关于牌堆功能的一般性介绍,请参阅 配置 - 牌堆

.draw help 显示帮助信息。

信息查询

.draw list 列出当前装载的牌堆列表。

.draw keys <牌堆> 查看特定牌堆可抽取的牌组列表。

.draw search <牌组名称> 模糊搜索指定牌组。

.draw desc <牌组名称> 查看牌组所属牌堆的详细信息。

示例

木落
.draw list
头像
头像
海豹核心
载入并开启的牌堆: +- GRE单词 格式: Dice! 作者:于言诺 版本:1.0.1 牌组数量: 1 +- IELTS单词 格式: Dice! 作者:于言诺 版本:1.0.1 牌组数量: 1 +- TOEFL单词 格式: Dice! 作者:于言诺 版本:1.0.1 牌组数量: 1 +- SealDice内置牌堆 格式: Dice! 作者:<因过长略去> 版本:1.2.0 牌组数量: 8
木落
.draw keys GRE单词
头像
头像
海豹核心
牌组关键字列表: +GRE单词
木落
.draw search 单词
头像
头像
海豹核心
找到以下牌组: +- GRE单词 +- TOEFL单词 +- IELTS单词
木落
.draw desc GRE单词
头像
头像
海豹核心
牌堆信息: +牌堆: GRE单词 +格式: Dice! +作者: 于言诺 +版本: 1.0.1 +牌组数量: 1 +时间: 2022/5/23 +更新时间: 2022/8/16 +牌组: GRE单词

需要说明,在以上的例子中,「GRE单词」同时是牌堆名与牌组名。在 .draw keys GRE单词 中,它作为牌堆名出现;在 .draw desc GRE单词 中,它作为牌组名出现。

.draw keys 列出所有可抽取的牌组列表。

注意:谨慎使用

这一指令会将所有可抽取的牌组列出,在牌组较多时造成刷屏。

抽牌

.draw <牌组名称> (<数量>#) 在指定牌组抽指定数量的牌,默认为抽 1 张。

示例

木落
.draw GRE单词 3#
头像
头像
海豹核心
<木落>抽出了: +GRE3178 +invoice n. +发票, 发货单, 货物。
头像
海豹核心
<木落>抽出了: +GRE4889 +rig n. +索具装备, 钻探设备, 钻探平台, 钻塔。
头像
海豹核心
<木落>抽出了: +GRE5421 +austerity n. +严峻, 严厉, 朴素, 节俭, 苦行。

当指定的牌组名称不存在时,将会进行模糊搜索,效果与 draw search 类似。

示例

木落
.draw 单词
头像
头像
海豹核心
找不到这个牌组,但发现一些相似的: +- GRE单词 +- TOEFL单词 +- IELTS单词

牌堆管理

.draw reload 重新加载牌堆,仅限 Master 使用。

.reply 管理自定义回复

关于自定义回复功能的一般性介绍,请参阅 配置 - 自定义回复

.reply (on|off) 开启、关闭本群的自定义回复功能。

以上指令等价于 .ext reply (on|off)

+ + + + \ No newline at end of file diff --git a/use/dnd5e.html b/use/dnd5e.html new file mode 100644 index 000000000..7aaefec14 --- /dev/null +++ b/use/dnd5e.html @@ -0,0 +1,108 @@ + + + + + + 龙与地下城 5E | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

龙与地下城 5E

本节内容

本节将展示 D&D 5E 玩家所需指令,请善用侧边栏和搜索,按需阅读文档。

我们假定你已对 D&D 规则有适当了解,本节只涉及如何使用海豹核心完成规则中指定的操作。

龙与地下城

「龙与地下城」(Dungeons & Dragons, D&D, DnD)是一款剑与魔法奇幻背景的叙事性角色扮演游戏。与孩提时代的过家家扮演游戏相似,D&D 依靠的是玩家无穷的想象力。

你所需要做的,即是描述场景如暴风骤雨里,夜空下的某座高耸古堡。然后想象奇幻世界中的冒险者们会如何迎接即将到来的挑战。

.dnd / .dndx 生成随机属性(制卡)

.dnd [<数量>] 随机生成指定组数的待分配属性,如果省略数量将生成 1 组。

.dndx [<数量>] 随机生成带属性名的结果。

示例

木落
.dnd 5
头像
头像
海豹核心
<木落>的DnD5e人物作成(自由分配模式): +[16, 16, 14, 11, 10, 9] = 76 +[16, 15, 15, 12, 9, 9] = 76 +[16, 15, 14, 13, 13, 12] = 83 +[18, 17, 15, 14, 13, 8] = 85 +[15, 14, 13, 13, 10, 8] = 73 +获取带属性名的预设请用.dndx
木落
.dndx 5
头像
头像
海豹核心
<木落>的DnD5e人物作成(预设模式): +力量:16 体质:9 敏捷:14 智力:10 感知:13 魅力:10 共计:72 +力量:13 体质:12 敏捷:8 智力:8 感知:14 魅力:9 共计:64 +力量:16 体质:10 敏捷:11 智力:14 感知:12 魅力:10 共计:73 +力量:9 体质:17 敏捷:15 智力:9 感知:10 魅力:13 共计:73 +力量:12 体质:6 敏捷:8 智力:13 感知:10 魅力:8 共计:57 +自由分配模式请用.dnd

.ri 先攻设置

.ri <先攻值> [<角色名>] 为指定角色设定先攻值。如果省略角色名则默认为当前角色,以下的角色名部分相同。

其中,先攻值部分支持以下三种写法

  1. .ri 12 固定值 12;
  2. .ri +2 掷骰 D20+2;
  3. .ri =D20+3 掷骰 D15+3。

.ri <单项>, <单项>, ... 批量设定多个角色的先攻值,每个单项都是 <先攻值> <角色名> 形式。

示例

木落
.ri +2
头像
头像
海豹核心
<木落>对先攻点数设置如下: +1. 木落: 15[1d20=15] + 2=17
木落
.ri +3 狗头人1
头像
头像
海豹核心
<木落>对先攻点数设置如下: +1. 狗头人1: 15[1d20=15] + 3=18
木落
.ri =D20+2 狗头人1
头像
头像
海豹核心
<木落>对先攻点数设置如下: +1. 狗头人1: 13
木落
.ri 30 狗头人1
头像
头像
海豹核心
<木落>对先攻点数设置如下: +1. 狗头人1: 30
木落
.ri 优势+2 狗头人2
头像
头像
海豹核心
<木落>对先攻点数设置如下: +1. 狗头人2: 13[{13 | 11 }] + 2=15
木落
.ri +2 狗头人1, 3 狗头人2, =d30 狗头人3, +3
头像
头像
海豹核心
<木落>对先攻点数设置如下: +1. 木落: 19[1d20=19] + 3=22 +2. 狗头人3: 17 +3. 狗头人1: 15[1d20=15] + 2=17 +4. 狗头人2: 3

.init 先攻列表

.init 查看先攻列表。

.init del <单位1> <单位2> ... 从先攻列表中删除指定单位。

.init set <单位名称> <先攻表达式> 为指定单位设定先攻值。

.init clr 清除先攻列表。

.init end 结束当前的回合,并开始下一回合;如果轮到玩家行动,会 at 将要行动的玩家。

.init help 显示帮助。

示例

已经设置了先攻列表的情况

木落
.init
头像
头像
海豹核心
当前先攻列表为: +1. 木落: 22 +2. 狗头人3: 17 +3. 狗头人1: 17 +4. 狗头人2: 3 +当前回合:木落
木落
.init del 狗头人2
头像
头像
海豹核心
<木落>将以下单位从先攻列表中移除: +1. 狗头人2
木落
.init set 狗头人3 16
头像
头像
海豹核心
<木落>已设置 狗头人3 的先攻点为16 16
木落
.init end
头像
头像
海豹核心
【木落】戏份结束了,下面该【狗头人1】出场了!

.st 操作角色卡

.st help 获取帮助信息

列出属性

.st show 列出角色卡所有属性。

.st show <属性1> <属性2> ... 列出指定的属性数值。

.st show <数值> 列出高于指定数值的属性。

.st export 导出属性值和法术位。

删除属性

.st (clr|clear) 删除所有属性数值和法术位。

.st del <属性1> <属性2> ... 删除指定属性。

更新属性值

.st 模板 获取角色卡录入模板。

.st <属性>:<值> 设置指定属性,技能加值会自动计算。

.st <属性>=<值> 与前一用法相同,可避免中英文冒号的识别问题。

.st <属性>±<表达式> 将指定属性增加或减去表达式的计算结果。表达式中可以包含骰点。如 .st 生命+1d4

.st hp-1d6 --over 前一用法的特殊情况,不计算临时生命扣血。

示例

木落
.st 模板
头像
头像
海豹核心
人物卡模板(第二行文本): +.dst 力量:10 体质:10 敏捷:10 智力:10 感知:10 魅力:10 hp:10 hpmax: 10 熟练:2 运动:0 特技:0 巧手:0 隐匿:0 调查:0 奥秘:0 历史:0 自然:0 宗教:0 察觉:0 洞悉:0 驯养:0 医疗:0 生存:0 说服:0 欺诈:0 威吓:0 表演:0 +注意: 技能只填写修正值即可,属性调整值会自动计算。熟练写为“运动*:0”
木落
.st 力量:12 体质:10 敏捷:10 智力:10 感知:10 魅力:10 hp:10 hpmax: 10 熟练:2 运动*:3 特技:1 巧手:0 隐匿:0 调查:0 奥秘:0 历史:0 自然:0 宗教:0 察觉:0 洞悉:0 驯养:0 医疗:0 生存:0 说服:0 欺诈:0 威吓:0 表演:0
头像
头像
海豹核心
<木落>的dnd5e人物属性设置如下: +读入: 力量:12, 体质:10, 敏捷:10, 智力:10, 感知:10, 魅力:10, hp:10, hpmax:10, 熟练:2, 运动:3[技能, 熟练], 特技:1[技能], 巧手:0[技能], 隐匿:0[技能], 调查:0[技能], 奥秘:0[技能], 历史:0[技能], 自然:0[技能], 宗教:0[技能], 察觉:0[技能], 洞悉:0[技能], 驯养:0[技能], 医疗:0[技能], 生存:0[技能], 说服:0[技能], 欺诈:0[技能], 威吓:0[技能], 表演:0[技能]
木落
.st show
头像
头像
海豹核心
<木落>的个人属性为: +力量: 12 敏捷: 10 体质: 10 智力: 10 +感知: 10 魅力: 10 hp: 10 hpmax: 10 +EXP: 0 熟练: 2 特技: 1[基础值1] 运动: 6[基础值3] +(下略)
木落
.st show 力量 运动 熟练
头像
头像
海豹核心
<木落>的个人属性为: +力量: 12 熟练: 2 运动: 6[基础值3]
木落
.st 力量 + 2
头像
头像
海豹核心
人物属性设置如下: +修改: 力量(12 ➯ 14)

属性修改后,属性调整值会自动变更。不用再行关注。

对生命值的特殊支持

  • 当存在临时生命 (buff 血量),自动优先消耗。若临时生命不足以抵挡伤害,剩余会扣减血量;
  • 当生命值归零,若伤害大于等于血量上限,判定人物死亡;
  • 当生命值归零,若伤害小于血量上限,人物昏迷;
  • 当人物已经昏迷,不足致死的伤害自动折算为死亡豁免失败。
木落
.st hp-3 hp-3 hp-3
头像
头像
海豹核心
<木落>的dnd5e人物属性设置如下: +修改: hp(2 ➯ 0), hp(0 ➯ 0), hp(0 ➯ 0) +<木落>遭受了1点过量伤害,生命值降至0,陷入了昏迷! +<木落>在昏迷状态下遭受了3点过量伤害,死亡豁免失败+1! +<木落>在昏迷状态下遭受了3点过量伤害,死亡豁免失败+1!

退游小技巧,黑暗录卡:

text
.st 力量:4d6k3 体质:4d6k3 敏捷:4d6k3 智力:4d6k3 感知:4d6k3 魅力:4d6k3 hp:10 hpmax: 10 熟练:2 运动:0 特技:0 巧手:0 隐匿:0 调查:0 奥秘:0 历史:0 自然:0 宗教:0 察觉:0 洞悉:0 驯养:0 医疗:0 生存:0 说服:0 欺诈:0 威吓:0 表演:0

代骰

以上功能均可以通过附加 @其他人 来操作对方的属性值。

.rc 检定

.rc <属性> 进行检定。

.rc <属性>豁免 进行豁免检定。

.rc <表达式> 使用可带调整值的表达式进行检定,如 力量+3

.rc (优势|劣势) <表达式> 进行优势或劣势检定。

示例

木落
.rc 运动
头像
头像
海豹核心
<木落>的“运动”检定结果为: +8[1d20=8] + 6[运动=6] = 14
木落
.rc 优势 力量+4
头像
头像
海豹核心
<木落>的“力量+4”检定结果为: +17[{17 | 11 }] + 12[力量=12] + 4 = 33
木落
.rc 劣势 力量+4 推一下试试
头像
头像
海豹核心
<木落>的“推一下试试”检定结果为: +17[{17 | 18 }] + 12[力量=12] + 4 = 33

代骰

以上功能均可以通过附加 @其他人 来使用对方的技能进行检定。

奇妙运用

你可以通过如下方式记录武器的熟练项。

示例

木落
.st 长剑=4
头像
头像
海豹核心
<木落>的属性录入完成,本次录入了1条数据。
木落
.rc 长剑
头像
头像
海豹核心
<木落>的“长剑”检定(dnd5e)结果为: +16[1d20=16] + 4[长剑=4] = 20

.buff 临时属性

.buff help 显示帮助。

.buff 展示当前 buff。

.buff clr 清除 buff。

.buff del <属性1> <属性2> ... 删除指定属性的 buff。

.buff <属性>:<值> 为指定属性设定 buff。

.buff <属性>±<表达式> 修改指定属性的 buff。

用于设置临时属性,例如虚假生命:

示例

木落
.st hp:10
头像
头像
海豹核心
<木落>的dnd5e人物属性设置如下: +读入: hp:10
木落
.buff hp : 1d4+4
头像
头像
海豹核心
<木落>的dnd5e人物Buff属性设置如下: +读入: hp:7
木落
.st show hp
头像
头像
海豹核心
<木落>的个人属性为: +hp:17[10]

也可以用来设置其他属性:

示例

木落
.st 力量:10 运动:0
头像
头像
海豹核心
<木落>的dnd5e人物属性设置如下: +读入: 力量:10, 运动:0[技能]
木落
.buff 力量:6
头像
头像
海豹核心
<木落>的dnd5e人物Buff属性设置如下: +读入: 力量:6
木落
.st show 力量 运动
头像
头像
海豹核心
<木落>的个人属性为: +力量:16[10] 运动:3[0]

临时的技能熟练(装备或法术效果):

示例

木落
.st 力量:10 运动:0 熟练:3
头像
头像
海豹核心
<木落>的dnd5e人物属性设置如下: +读入: 力量:10, 运动:0[技能], 熟练:3
木落
.buff 运动*:0
头像
头像
海豹核心
<木落>的dnd5e人物Buff属性设置如下: +读入: 运动:0[技能, 熟练*]
木落
.st show 力量 运动
头像
头像
海豹核心
<木落>的个人属性为: +力量:16[10] 运动:6[0]

删除和清空

示例

木落
.buff del hp
头像
头像
海豹核心
<木落>的如下buff属性被成功删除:hp,失败0项
木落
.buff clr
头像
头像
海豹核心
<木落>的BUFF数据已经清除,共计0条

代骰

以上功能均可以通过附加 @其他人 来操作对方的 buff。

.ss 法术位 (spell slots)

.ss 查看当前法术位状况。

.ss init 4 3 2 设置 1 2 3 环的法术位上限,以此类推,上不封顶。

.ss set 2环 4 单独设置某一环的法术位上限,可用逗号分隔地连写多组。

.ss clr 清除法术位设置。

.ss rest 恢复所有法术位 (不回复 hp)。

.ss 3环 +1 增加一个 3 环法术位(不会超过上限)。

.ss lv3 +1 同上,另一种写法。

.ss 3环 -1 消耗一个 3 环法术位。

示例

木落
.ss init 3 4 5
头像
头像
海豹核心
为<木落>设置法术位: 1环3个, 2环4个, 3环5个
木落
.ss 1环 -1
头像
头像
海豹核心
<木落>的1环法术位消耗至2个,上限3个
木落
.ss
头像
头像
海豹核心
<木落>的法术位状况: 1环:2/3, 2环:4/4, 3环:5/5
木落
.ss rest
头像
头像
海豹核心
<木落>的法术位已经完全恢复
木落
.ss set 4环 3
头像
头像
海豹核心
为<木落>设置法术位: 4环3个

代骰

以上功能均可以通过附加 @其他人 来操作对方的法术位。

.cast 使用法术位

.cast <环数> [<消耗数量>] 消耗指定数量的指定法术位,省略消耗数量时,消耗 1 个。

示例

木落
.cast 2
头像
头像
海豹核心
<木落>的2环法术位消耗至3个,上限4个

代骰

以上功能均可以通过附加 @其他人 来消耗对方的法术位。

.longrest / .长休

.longrest 恢复生命值和法术位。当前角色需已设定最大生命值且当前生命值大于 0。

示例

木落
.长休
头像
头像
海豹核心
<木落>的长休: hp得到了恢复,现为12 法术位得到了恢复
木落
.长休
头像
头像
海豹核心
<木落>的长休: 没有设置hpmax,无法回复hp

代骰

以上功能均可以通过附加 @其他人 来令对方进行长休。

.ds / .死亡豁免

.ds help 查看帮助。

.ds 进行一次死亡豁免检定,此时角色 hp 必须为 0。

.ds +1d4 检定时添加 1d4 的加值。

.ds (成功|失败)±<变化值> 死亡豁免的成功或失败数量增加或减少指定值。成功和失败可分别简写为 sf

.ds stat 查看当前死亡豁免情况。

st 指令对 hp 的操作也会自动触发死亡豁免。

示例

木落
.st hp:3 hpmax:12
头像
头像
海豹核心
<木落>的dnd5e人物属性设置如下: +读入: hp:3, hpmax:12
木落
.st hp-10
头像
头像
海豹核心
<木落>的dnd5e人物属性设置如下: +修改: hp(3 ➯ 0) +<木落>遭受了7点过量伤害,生命值降至0,陷入了昏迷!

昏迷后被攻击:

头像
海豹核心
<木落>的dnd5e人物属性设置如下: +修改: hp(0 ➯ 0) +<木落>在昏迷状态下遭受了1点过量伤害,死亡豁免失败+1!

死亡:

头像
海豹核心
<木落>的死亡豁免检定: [1d20=3]=3 有些不妙!死亡豁免失败+1 +你获得了3次死亡豁免检定失败,不幸去世了!

医学奇迹:

头像
海豹核心
<木落>的死亡豁免检定: [1d20=20]=20 你觉得你还可以抢救一下!HP回复1点!

代骰

以上功能均可以通过附加 @其他人 来令对方进行死亡豁免。

+ + + + \ No newline at end of file diff --git a/use/faq.html b/use/faq.html new file mode 100644 index 000000000..b2eafb4bb --- /dev/null +++ b/use/faq.html @@ -0,0 +1,60 @@ + + + + + + 常见问题 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

常见问题

本节内容

本节将提供一些常见问题的解决方式,方便快速解决。如果你的问题并没有在这里得到答案,欢迎加入官方群寻求帮助。

为啥海豹不理我?

可能性一:你尝试私聊海豹核心,但并非是海豹账号的好友;

可能性二:如果是 QQ 平台,骰子账号遭到了风控;

可能性三:你使用的指令/扩展被关闭了。例如当 coc7 扩展关闭时,sc 等指令是不会回应的;这时需要执行 .ext coc7 on 开启对应扩展。

如果你是骰主,可以在 WebUI 查看日志,以确定海豹核心是否收到了指令、是否正确做出了响应。

如果你无法理解发生了什么,或者需要更多帮助,欢迎加入官方答疑群。

可以关闭暗骰吗?

海豹核心不支持关闭暗骰。但是,海豹不会与非好友帐号私聊,所以不必担心暗骰会影响帐号安全。

退群指令?

以下指令均可:

text
.bot bye
+.bot exit
+.dismiss

骰主也可以 WebUI 的群组管理中操作退群。

登录服务器开浏览器使用好麻烦!能远程直接访问 WebUI 吗?

对于大部分有公网 IP 的服务器都可以,但是需要你进行一些配置。

  1. 在 WebUI 修改配置,让海豹 WebUI 运行在公开端口而不是本地端口;

  2. 在基本设置中设置 WebUI 访问密码;

  3. 修改你服务器的防火墙(根据服务提供商,也可能称为「安全组」等),以允许远程 TCP 访问海豹端口。

    1. 如果你使用的是 Oracle Linux 或类似服务器,还需要在服务器系统中放行端口:

      bash
      sudo iptables -I INPUT -s 0.0.0.0/0 -p tcp --dport 3211  -j ACCEPT
    2. 如果你使用 Windows 服务器,需要关闭系统内置防火墙或设置端口放行。

  4. 使用 http://<服务器IP地址>:3211 访问 WebUI。

在服务器上登录时说「需要在同一 WIFI 下扫码」怎么办

首先确认使用安卓协议,并且输入密码登录(不要使用无密码的扫码登录,现在已经很不好用了)。

有几种办法:

1. [首选] 让手机跟服务器真的处于同一个网络

  1. 配置防火墙

    配置你的服务器,允许外部访问 13325 端口。

    补充

    以腾讯云轻量服务器为例,点入「服务器」,再点击卡片。

    服务器配置

    进入后点击「防火墙」,随后「添加规则」,这里选择 TCP 协议,端口输入 13325(演示图片中为 13326),点击确定。

    放通防火墙

    搞定,其他服务商大同小异。

    特别的,如果是 Windows Server 2012R2 及以上系统,请再额外关闭系统防火墙或设置规则放行。具体做法搜索关键字 Windows server 关闭防火墙

  2. 服务器端运行工具

    在海豹骰中集成了 socks 工具,点击图中「辅助工具 -13325 端口」按钮。

    登录弹窗

    稍等片刻后,出现如下窗口。

    辅助工具弹窗

    点击 OK。

    运行起来之后,显示一串这样的文本:

    text
    http/socks5简易工具©sealdice.com
    +将在服务器上开启一个 socks5 服务,端口 13325,默认持续时长为 25 分钟
    +将在服务器上开启一个 http 代理服务,端口 13326,默认持续时长为 25 分钟
    +
    +可能的公网 IP:  12.34.56.78
    +请于服务器管理面板放行你要用的端口 (一般为 13325 即 socks),协议 TCP
    +如果是 Windows Server 2012R2 及以上系统,请再额外关闭系统防火墙或设置规则放行
    +
    +正在启动服务:0.0.0.0:13326
    +正在启动服务:0.0.0.0:13325
  3. 手机端连接

你需要一个代理软件,比如 postern,如果可能的话你可以从 Google Play 下载,你也可以在用户群里找到它。

然后在你将要扫码的手机上启动它,弹出的窗口都点击确定

点击默认存在在的代理,将他删除,然后点击添加代理服务器,按照下图填写。

postern 配置代理服务器

保存后点击左上角 Postern 的图标,点击配置规则,类似前文删除代理,删除掉默认的规则 1 和规则 2,然后点击添加规则。如图选择匹配类型和动作,之后会自动填入代理/代理组。

postern 配置规则

保存后重启软件。

现在就配置完成了。手机上打开浏览器进入 https://ip138.com/,如果显示的 IP 地址和服务器一样,那么配置正确。

如果打不开网页或提示「当前 WiFi 不能访问网络」,可能是防火墙没配置好。如果 IP 不一样,可能是代理没配置上。

如果你使用 iOS 手机,可以使用 Potatso 替代 Postern。

现在可以进入海豹 WebUI,重新进行登录流程了。如果以后再出类似情况,直接重复步骤 2、3 即可。

2. 本机上完成扫码登录,然后将登录过的配置文件覆盖到服务器上

具体目录是 data/default/extra/go-cqhttp-qq12345

当然如果你没做过自定义配置,可以整个复制。

使用密码登录,重试 3 次左右,有概率直接上号

AT 其他骰子做检定的时候,海豹也会回应,怎么办

使用这个指令将其他骰子进行标记:

text
.botlist add @骰子A @骰子B

会有如下效果:

  1. 当有人@该骰发指令,海豹不会做出回应
  2. 该骰发出的指令和消息,海豹不会回应,这可以有效避免关键词触发的无限复读

为啥好像反应慢一拍

首先确定是否为网络问题。如果你是骰主,可在后台的日志中检查收到指令的实际时间和发出响应的实际时间。

对于 QQ 平台,发送消息会有随机延迟,这是为了防止引起企鹅的警惕。随机延迟间隔 0.4 - 0.9 秒,可以在设置中调整。

我希望在我的骰子进群或者被踢出时通知我

在 WebUI 的「综合设置 - 基本设置」页面。在「消息通知列表」中可以添加消息通知的接收者。支持个人、群聊、电子邮箱作为接收者。

在海豹核心发生 收到加群邀请、收到好友邀请、进入群组、被踢出群、被禁言、自动激活、指令退群 时,会给消息通知列表的各个接收者发送通知。

支持 QQ 频道吗?

支持,默认不记录频道消息,也不自动开启。邀请入频道后 @骰子 .bot on 即可开启。

在 WebUI 的「综合设置 - 基本设置」可以进行配置。特别的,骰子不会自动同意频道邀请,需要骰主上号同意。

怎么同时运行多个海豹?

Windows 系统

在 Windows 系统运行两个是很简单的:

我们假设你的第一只海豹已经配置好了,当前正在运行,端口为默认的 3211。

现在,你需要使用安装包,在另一个目录再解压一份海豹核心。

进入新的目录,像运行第一只海豹一样直接双击执行。它会自动检测端口,因为 3211 端口已经被占用,会弹窗询问是否更换端口,直接点是就可以了。

如果你想在 Windows 系统指定端口,需要一点操作

在每一个你需要指定端口的海豹核心目录下创建一个 启动.cmd,用文本编辑器编辑,内容为:

bash
sealdice-core --address=0.0.0.0:<端口号> -m

其中的 <端口号> 替换成你希望指定的端口号。然后双击 启动.cmd 运行。

你只需在第一次启动时这样做,这个端口号会被写入配置中供后续启动使用。

除 Android 外的其他系统

通常来说,你在这些系统上是通过命令行(终端)来启动海豹核心。

将安装包解压到你为新海豹准备的目录,在初次启动海豹时,使用以下命令:

bash
./sealdice-core --address=127.0.0.1:<端口号>

将在你系统上,占用指定的端口号,启动一个不向互联网公开的新海豹核心。

我机器上启动非常慢,而且托盘点不出来右键菜单?

请确认你的硬盘状态是否还好,一般来说是磁盘 I/O 性能过低导致的,常见于软路由设备。

这种情况可以删除 data/helpdoc/ 目录来提速,代价是无法使用查询指令。

能在手机上搭建吗?

手机海豹已经公测啦!详见 搭建 章节。

我是 Master,怎么帮人取出 Log?

详见 这一章节

骰主具有很大的权限,所以还请各位选择自己信任的骰主,也请各位骰主谨慎对待大家的信任!

我忘了 WebUI 密码

首先彻底关闭海豹。

用文本编辑器打开 dice/dice.yaml,删除 uiPasswordHash 一行,保存。

重新启动海豹。

+ + + + \ No newline at end of file diff --git a/use/fun.html b/use/fun.html new file mode 100644 index 000000000..7ab31dc7f --- /dev/null +++ b/use/fun.html @@ -0,0 +1,62 @@ + + + + + + 功能 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

功能

本节内容

本节将展示海豹的「功能」扩展提供的指令,主要为快捷指令、ping、welcome 等额外指令,同时也包括今日人品、智能鸽子等娱乐相关指令。

此外,小众规则指令暂时也放在本扩展中。请善用侧边栏和搜索,按需阅读文档。

.jrrp 今日人品

.jrrp

今日人品是一个每个用户独立、每天刷新的 D100 随机数。你可通过 自定义文案 编写对它的解读。

.gugu 人工智能鸽子

.gugu.咕咕

示例

木落
.gugu
头像
头像
海豹核心
🕊️:今天发版本,领导说发不完不让走

.gugu 来源 查看鸽子背后的故事。

示例

木落
.gugu 来源
头像
头像
海豹核心
🕊️: 前往了一个以前捕鲸的小岛度假~这里人很亲切!但是吃了这里的鱼肉料理之后有点晕晕的诶...想到前几天<木落>的短信,还是别追究他为什么不在了。 + ——鹊鹊结合实际经历创作

.jsr 不重复骰点

.jsr <次数># <面数> [<原因>] 投掷指定面数的骰子指定次数,使每一次的结果都不相同。

示例

木落
.jsr 5# 100
头像
头像
海豹核心
<木落>掷骰5次: +D100=6 +D100=71 +D100=53 +D100=31 +D100=2

以这种方式骰出的点数会自动成为一个骰池,供 drl 指令使用。

.drl 骰池抽取

骰池(Draw Lot)是一组来自相同面数骰子、出目互不相同的骰点,支持每次抽取一个。骰池是每个群组共用的。

.drl new <个数># <面数> 创建一个指定数量、指定面数的骰池。

.drl / .drlh 从当前骰池抽取一个数值,后者将结果私聊发送。

示例

木落
.drl
头像
头像
海豹核心
当前群组无骰池,请使用.drl new创建一个。
木落
.drl new 10# 1000
头像
头像
海豹核心
创建骰池成功,骰子面数1000,可抽取10次。
木落
.drl
头像
头像
海豹核心
<木落>掷出了 D1000=568
木落
.drl # 第 10 次
头像
头像
海豹核心
<木落>掷出了 D1000=539 +骰池已经抽空,现在关闭。

.text 文本模板测试

.text <文本模板>

骰子会将模板内容解析后返回,其中含有的表达式和变量都将被求值。

示例

木落
.text 看看手气 {1d16}
头像
头像
海豹核心
看看手气 2

.send 向骰主发送消息 / 回复消息

v1.5.0 起,海豹将此指令迁移至「功能」扩展。

.send <消息内容>

拥有 Master 权限的用户将看到消息内容和发送者的 IM 账号,如果是来自群组,也能看到群号。

示例

头像
Szz
.send 骰主你好!

.send to <对方ID> <消息内容>

Master 可以通过这个指令进行回复。目标 ID 可以是群号,也可以是个人的 IM 账号。将收到的消息中的对应 ID 复制到此处即可。

示例

头像
海豹核心
一条来自群组<群名>(群号),作者<Szz>(用户 IM 账号)的留言: +骰主你好!
木落
.send to <群号> 我收到了!
头像

.welcome 新人入群欢迎

v1.5.0 起,海豹将此指令迁移至「功能」扩展。

.welcome (on|off) 开启、关闭功能

.welcome show 查看当前欢迎语

.welcome set <欢迎语> 设定欢迎语

.ping 指令响应测试 v1.4.2

v1.4.2 版本起,海豹支持 .ping 指令,用于指示海豹回复你一条消息。

v1.5.0 起,海豹将此指令迁移至「功能」扩展。

.ping 海豹回复你一条消息。

为什么要有这个指令?

对于绝大多数情况,这个指令似乎都没有实际作用。事实上,这个指令的存在是为了解决 QQ 官方 Bot 在频道私聊中的以下问题:

如果你向机器人连续发送 3 条频道私聊消息而没有收到回复,在机器人回复你之前,你将无法继续发送频道私聊消息。 而机器人并不会主动向你发送消息,这就造成了死锁。

此时,你可以在频道中向海豹核心发送 .ping 指令,海豹核心会在频道私聊中回复你,以打破死锁。

木落
我发出第一条消息。
头像
木落
我发出第二条消息。
头像
木落
我发出第三条消息,机器人怎么还不理我?
头像

提示

如果出现类似场景,可以发现 QQ 会提示你已经禁止再向骰子发送私聊消息,要求在骰子回应后才能再次发送。

但用户已经无法再通过私聊发送正确的指令,触发骰子的回应了。

此时,用户可以去频道公屏发送一个 .ping 指令。

头像
海豹核心
pong!这里是海豹核心!
木落
好耶,我又可以发私信给骰子了!
头像

.alias 定义快捷指令 & .& 使用快捷指令 v1.4.3

v1.4.3 版本起,海豹支持使用.alias 定义快捷指令。同时使用 .&/.a <快捷指令> 触发快捷指令。

v1.5.0 起,海豹将此指令迁移至「功能」扩展。

.alias <别名> <指令>.&<别名> 定义为指定指令的快捷触发方式。在群聊中默认定义群快捷指令。

.alias --my <别名> <指令>.&<别名> 定义为个人快捷指令。

.alias del/rm <别名> 删除快捷指令。在群聊中默认删除群快捷指令。

.alias del/rm --my <别名> 删除个人快捷指令。

.alias show/list 显示目前可用的快捷指令。

使用快捷指令的方式如下,支持携带参数:

.& <别名> [可能的参数].a <别名> [可能的参数]

海豹支持 个人快捷指令群快捷指令 两种模式:

  • 个人快捷指令:与用户关联,定义后用户可以在私聊、骰子所在的所有群进行使用。
  • 群快捷指令:与群关联,定义后该群内所有人都可以使用。

快捷指令示例

木落
.alias 终极答案 .r 11+45-14 计算生命、宇宙以及一切的问题的答案
头像
头像
海豹核心
已成功定义指令「.r 11+45-14 计算生命、宇宙以及一切的问题的答案」的个人快捷方式「终极答案」,触发方式: +.&终极答案 或 +.a 终极答案
木落
.&终极答案
头像
头像
海豹核心
※ 个人快捷指令 .r 11+45-14 计算生命、宇宙以及一切的问题的答案 +由于计算生命、宇宙以及一切的问题的答案,<木落>掷出了 11+45-14=11+45-14=42

额外 TRPG 规则支持

.ww WOD 规则骰点

.ww <表达式> 骰点,表达式用法请参考 核心指令 节。

特别地,使用 ww 指令时允许省略加骰线 aY,这时将使用默认值进行骰点。

示例

木落
.ww 5
头像
头像
海豹核心
<木落>掷出了 5a10=[成功0/5 {6,2,2,7,4}]=0

.ww set <默认值> 设定默认值,默认值可以由 加骰线 aY、骰子面数 mZ、成功线 kN 中的部分任意组合。默认值的生效范围是当前群组。

.ww set clr 重置默认值为:加骰线 10、面数 10、成功线 8,即 a10m10k8

示例

木落
.ww set a6m10k9
头像
头像
海豹核心
成功线k: 已修改为9 +骰子面数m: 已修改为10 +加骰线a: 已修改为6
木落
.ww 5
头像
头像
海豹核心
<木落>掷出了 5a6=[成功1/11 轮数:4 {<9*>,5,<6>,3,3},{<6>,<6>},{<6>,<7>},{5,4}]=1
木落
.ww set clr
头像
头像
海豹核心
骰池设定已恢复默认

.dx 双重十字规则骰点

.dx <表达式> 骰点,表达式用法请参考 核心指令 节。

.ek 共鸣性怪异规则骰点

.ek <技能名>(+<奖励骰>) (<判定线>)

.ekgen 共鸣性怪异规则属性生成

.ekgen [<数量>] 生成指定数量的共鸣性怪异角色属性。

.rsr 暗影狂奔规则骰点

.rsr <骰数> 骰点。

骰指定数量的 D6。每有一个骰子骰出 5 或 6 称为 1 成功度。

如果超过半数的骰子骰出 1,称为这次骰点「失误」;失误的同时成功度为 0,称为「严重失误」。

+ + + + \ No newline at end of file diff --git a/use/introduce.html b/use/introduce.html new file mode 100644 index 000000000..1f136bcb4 --- /dev/null +++ b/use/introduce.html @@ -0,0 +1,54 @@ + + + + + + 基础概念 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

基础概念

本节内容

这里讲的是使用海豹核心的相关事项,如果要了解如何搭建和部署骰子,请参考 部署 - 快速开始

以下内容针对从未接触过骰子的用户准备。如果你已经有使用其他骰系的经验,可以 跳过本节

什么是骰子?

骰子这里特指在即时聊天软件(如 QQ、KOOK、Discord)中为 TRPG(跑团)玩家提供方便的机器人。顾名思义,骰子提供各种基于各种跑团规则(如 CoC、D&D)的骰点服务, 同时还包括技能检定、日志记录(Log)等功能。一些骰子服务,包括 SealDice,还提供一系列的自定义和娱乐功能。

获取和使用

最简单的方法就是自己 搭建 一个海豹骰自用(私骰),也可以从 SealDice 公骰列表 中寻找一个面向公众提供服务的骰子(公骰)。

一般而言,公骰是免费的。但他们的维护者(骰主)一般都要求用户严格遵循使用协议,使用前请使用 .help 协议 指令了解你需要注意哪些事项。

危险:QQ 骰子的使用注意项

QQ 并未提供公开的机器人接口,因此机器人只能使用第三方软件作为假用户接入。QQ 可能会检测到这些机器人,将它们视为诈骗而予以警告、封禁,甚至永久冻结。

因此,在 QQ 使用骰子有许多约定俗成的规则,例如必须使用指令使骰子退群,而严禁直接移出群聊。为了尊重骰主的劳动成果,你应该遵守这些规则。

在 QQ 上,你需要和骰子成为好友,然后拉入群组使用;在其他平台,一般使用邀请链接或者其他方式(详细操作请查看对应平台的相关使用文档)将机器人邀请进服务器、频道,或群组。之后,你可以通过触发 指令回复自定义回复 来使用骰子机器人了。

指令回复

指令是和骰子互动的基本方式。一个指令由指令前缀、指令名、指令参数、指令标志组成。

指令前缀

为了避免意外触发,指令前面都带有前缀,如 .help 协议 中的 .。按照习惯,指令前缀一般是便于输入的中英文句号,通常是 .

海豹核心提供了自定义指令前缀功能,因此,其他符号如 /,甚至一段话 哦,我的骰子, 都可以被用作前缀。如果你使用公骰,请注意查阅它的使用说明。

指令名

.help 协议 为例,其中的 help 就是指令名。指令可以有别名,例如 查询 就是 find 的别名。

指令的行为与预期不符?

海豹通过 扩展 来组织功能和指令,指令名只要求在同一扩展内不重复。

如果你发现指令的回复与预期不符合,有可能是没有开启正确的扩展,从而执行了来自其他扩展的指令。

例如,CoC 和 D&D 都存在掷骰检定指令 rc,你需要通过扩展管理指令 ext 来开启其中一个、关闭另一个,以控制指令的行为。

指令参数

.help 协议 为例,其中 协议 就是指令参数,参数提供指令所需要的信息。

虽然海豹在一定程度上可以兼容 .help协议 这种情况,但是在指令名与参数、参数与参数之间添加空格能保证海豹骰识别指令时准确无误,避免出现预期外情况。

提示:获取指令帮助

多数情况下,第一个参数为 help,或者没有正确提供指令所需参数时会返回指令的帮助信息。例如,下面是 find 指令返回的帮助信息:

text
查询指令,通常使用全文搜索(x86 版)或快速查询(arm, 移动版)
+.find/查询 <关键字>      // 查找文档。关键字可以多个,用空格分割
+.find#<分组> <关键字>    // 查找指定分组下的文档。关键字可以多个,用空格分割
+.find <数字 ID>          // 显示该 ID 的词条
+.find --rand           // 显示随机词条
+.find <关键字> --num=10 // 需要更多结果

依照惯例,帮助说明中的的一些符号有特定含义,说明如下:

  1. <关键字> 的尖括号 <> 表示你应以相应内容替换此处内容。

    正常的用例:.find 火球术 错误的用例:.find <火球术>

  2. 不带有尖括号的内容是字面量,你应该原样输入这里的内容。

  3. [关键字] 的括号 [] 表示此参数可以被省略。

  4. (关键字1|关键字2) 的圆括号 () 搭配竖线 | 表示必须在所列各项中选择一个。

  5. [关键字1|关键字2] 的方括号 [] 搭配竖线 | 表示可以在所列各项中选择一个,或不选择此项。

指令标志

标志(flag)和参数相似,但不同于参数往往需要处于按照一定的顺序出现,标志可以无序排列。标志通过特定的关键字(key)来辅助识别,一般形式为 --key=value 或者 --key

注意

一些系统(如 iOS)会将两个连字符(hyphen)-- 自动转换为短画线(en dash),输入 flag 时请注意辨别。

自定义回复

自定义回复 形式自由,触发机制多样(关键字、正则表达式等),并且能配合海豹核心独特的变量系统使用。

海豹核心没有预置的自定义回复,完全由骰主自行设定。因此每个骰子使用自定义回复的方法可能完全不同。

如果你使用公骰,请参阅相应的使用文档以了解骰主设定的自定义回复。

+ + + + \ No newline at end of file diff --git a/use/log.html b/use/log.html new file mode 100644 index 000000000..3039142fc --- /dev/null +++ b/use/log.html @@ -0,0 +1,49 @@ + + + + + + 日志 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

日志

本节内容

本节将展示记录跑团日志相关的指令,请善用侧边栏和搜索,按需阅读文档。

.log 跑团日志

记录日志

对于每个群组,有若干个日志记录和一个当前日志。日志记录是本群记录过的所有日志。当前日志指向本群的其中一个日志记录,可以为空,但不会存在多个。

注意

海豹核心的日志记录只在骰子启用时进行。

即,如果你在一个群中通过 .bot off 关闭了骰子,即使有记录中的日志,也会暂停。

.log new <日志名>

新建一份日志,并且开始记录。

如果本群的当前日志不为空,则不能创建。如果创建成功,将本群的当前日志设定成新日志。

.log on [<日志名>]

如果不指定日志名,如果当前日志存在,则开始记录本群的当前日志。

如果指定日志名,则开始记录指定的日志,当前日志设定为指定的日志。

.log off

暂停记录当前日志。

.log halt / .log end

停止记录当前日志,将本群的当前日志设定为空。

如果使用的是 .log end,还会向海豹日志染色器上传日志,并返回一个获取链接。

停止的日志并不会丢失,仍然存在于本群的日志记录中,可以使用 .log on <日志名> 继续记录。

数据统计

.log stat [<日志名>] / .stat log [<日志名>]

统计指定日志中检定的成功失败数量,与角色的属性数值变化。

如果本群的当前日志不为空,可以省略日志名,统计当前日志。

管理日志

.log list

列出本群的所有日志记录。

.log get <日志名>

重新获取指定日志的染色器链接。

.log del <日志名>

删除指定日志。

注意

删除的日志在海豹核心中永远失去,无法再继续记录。

如果已经上传到染色器,该链接仍然可以使用。你也可以在海豹核心中的 data/default/log-exports/ 目录寻找日志的文件快照。

.log export <日志名>

如果平台支持发送文件,海豹核心将以 txt 文本文件的形式发送指定日志的全文。

.log export <日志名> <邮箱地址> [<更多邮箱地址>...]

如果骰子配置了发件邮箱(见 UI「综合设置 - 基本设置」),海豹核心可以以 txt 文件附件的形式,向每个指定的邮箱地址发送指定日志的全文。

多个收件邮箱用空格隔开。

骰主代取 Log

对于已经解散/退出的群聊,如果还想要取出其中的日志,需要知道对应的群号。

你可在任意有 Master 权限的交互平台做以下操作:

首先使用 .log list <群号> 列出该群的所有日志记录。

然后,使用 .log masterget <群号> <日志名> 获取指定日志记录的染色器链接。

UI 中管理跑团 Log

作为骰主,你也可以在管理后台的 扩展功能 - 跑团日志 界面,管理所有群的所有日志。

.ob 旁观

.ob

让使用者成为观众。

这个指令的作用实际是给使用者的名字上前缀 ob。不会造成其他的效果。

对于海豹日志染色器,名字前缀有 ob 的用户发言可以被一键去除。

.ob exit

如果使用者的名字有ob前缀,这个指令将其去除。

.sn 自动群名片

开启后,当用户角色卡的数值变化时,自动更新用户的群名片。

更改其他玩家的名片,需要骰子账号有适当的权限。

对于 QQ,这个权限是群主或群管理员。

预设模板

.sn coc / .sn cocL角色名 SAN70 HP14/14 DEX60

克苏鲁的呼唤常用格式,使用 cocL 以在名片中使用小写字母。

.sn dnd角色名 HP10/10 AC8 DC6 PP8

龙与地下城常用格式。

.sn none角色名

空白名片,当角色名变化时也会自动更新。

扩展规则

有些插件提供的扩展规则也定义了名片模板。对于这样的扩展规则,可以使用 .sn <规则名> 使用其模板。

自定义模板

.sn expr <模板>

在模板中使用变量以自动更新。

例如,CoC 模板的等价写法是 .sn expr {$t玩家_RAW} SAN{san} HP{hp}/{hpmax} DEX{dex}

关闭自动修改

.sn off

.hiy 数据统计

海豹核心不提供统计整体成功率的功能。

+ + + + \ No newline at end of file diff --git a/use/other_rules.html b/use/other_rules.html new file mode 100644 index 000000000..ee0692fe6 --- /dev/null +++ b/use/other_rules.html @@ -0,0 +1,49 @@ + + + + + + 其它规则支持 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

其它规则支持

本节内容

本节是海豹支持的其他 TRPG 规则的索引。

这些规则因指令数量少或仍在预览阶段的原因,未被单独作为扩展。下面将引导你跳转到对应规则的具体命令支持页。

绿色三角洲 Delta Green

「绿色三角洲」(Delta Green,简称 DG)是克苏鲁的呼唤(CoC)的拓展规则,同时也是作为游戏核心的秘密组织的名字。绿色三角洲是保护人类免遭旧日支配者威胁的「抗神组织」,其队员(特工)大多在政府部门工作,组织本身是非官方且非法的存在。他们的敌人不仅是旧日支配者的眷族或崇拜者,同时也包括操弄禁忌知识的人类势力。

参阅 克苏鲁的呼唤 7 版 # 设置房规,使用 .setcoc dg 切换到 DG 支持。

黑暗世界 World of Darkness

「黑暗世界」(World of Darkness,简称 WOD)是一款超自然题材的 TRPG 游戏。在这个世界中,所有阴谋论都是真的,都市传说不再是什么可以轻松无视的「故事」。你可能会从镜子里召唤出血腥玛丽,也可能登上电梯后不慎消失在超市的某个漆黑楼层中。

参阅 功能 # WOD 规则骰点

双重十字 Double Cross

「双重十字」(Double Cross,简称 DX)是一款日系超能力战斗 TRPG 游戏。在病毒感染了绝大多数人类使得他们进化为超能力者的时代,PL 在 GM 的指引下为了守护重要的人或者日常生活而战斗。

参阅 功能 # 双重十字规则骰点

暗影狂奔 Shadowrun

「暗影狂奔」(Shadowrun,简称 SR)是一款科学奇幻 TRPG 游戏,背景设定在近未来的灵气复苏赛博朋克虚构世界中。

参阅 功能 # 暗影狂奔规则骰点

共鸣性怪异 Emoklore

与我们所生活的现实颇为相似的另一个世界。

超常的存在——「怪异」——确确实实地存在于人们身边的世界。

这就是《共鸣性怪异 TRPG》的舞台。

参阅 功能 # 共鸣性怪异规则骰点

更多规则

除了上述由官方提供支持的规则之外,海豹社区还通过插件的形式为其它规则提供了支持,向你所使用的骰子主人请求安装相应插件吧。

参阅 配置 - JavaScript 插件,在插件仓库中获取相应插件。

+ + + + \ No newline at end of file diff --git a/use/quick-start.html b/use/quick-start.html new file mode 100644 index 000000000..9a4d42fa7 --- /dev/null +++ b/use/quick-start.html @@ -0,0 +1,49 @@ + + + + + + 快速上手 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

快速上手

本节内容

本节将展示 TRPG 跑团过程玩家使用海豹骰的常用指令和一般流程,请善用搜索,按需阅读文档。

常用指令速查

核心指令
动作指令
移出骰子.bot bye / .dismiss
开关骰子.bot on/off
开关自定义回复.reply on/off
新建日志.log new <日志名>
暂停/恢复日志记录.log off/on
结束并获取日志.log end
重新获取日志.log get <日志名>
掷骰
动作指令
掷骰.r <x>d<y>,并有诸多扩展写法
检定.ra <技能>
暗骰 / 暗中检定.rh <x>d<y> / .rah <技能>
代替检定.ra <技能> @代替目标
设定默认骰子面数.set <面数>
角色卡
动作指令
新建空白卡.pc new <角色名>
修改角色名.nn <角色名>
录入数据.st <属性><值>
列出数据.st show [<属性>]
列出角色卡.pc list
绑定角色卡.pc tag <角色名>
删除角色卡.pc del <角色名>
自动名片.sn (参考说明)
CoC 7th
动作指令
切换到 CoC 规则.set coc
生成随机属性数值.coc <数量>
理智检定.sc <成功时失去理智>/<失败时失去理智>
对抗检定.rav <自身技能> <对手技能> @对手
奖励骰与惩罚骰.ra (b|p)<数量> <技能>
疯狂症状.ti 即时疯狂症状,.li 总结性疯狂症状
技能成长.en <技能>
切换房规.setcoc details 列出房规,.setcoc <序号> 设定房规
D&D 5E
动作指令
切换到 D&D 规则.set dnd
生成随机属性值.dnd <数量>
优势/劣势掷骰.r d(优势|劣势)
检定.rc [优势|劣势] <技能>[+<调整值>]
先攻.ri (<角色名>)
先攻列表.init
随机 D&D 名字.namednd <种族> <数量>
其它
动作指令
给骰主发送消息.send <消息>
获取帮助.help <指令名称>
搜索词条.find <关键字>
暗影狂奔掷骰.rsr
WoD 掷骰.ww
双十字掷骰.dx
共鸣性怪异掷骰 / 生成属性.ek / .ekgen

通常流程

玩家视角

这一段落是以玩家视角而非主持人视角编写的。

如果你想主持游戏,我们推荐你较为完整地了解海豹核心提供的各种指令,尤其是 CoC 指令与 D&D 指令相冲突的部分。

游戏主持人邀请你进入群聊(根据平台不同,也可能是频道、服务器等,本节以群聊代称)。

提示:尊重主持人与其他玩家

如果你对于玩法还不熟悉,在主持人要求你使用骰子时才动作,或者在动作前请求主持人的许可。

你可能用到以下指令:

  • nn 命名角色卡
  • st 设置和修改角色卡属性
  • sn 设置自动名片
  • r 掷骰:需要产生一个随机数的时候,例如伤害值
  • ra/rc 检定:你使用一个技能
  • 根据你使用的规则,你还可能用到其他指令,请参考下面的段落。

如果还需要使用这张人物卡,并且不在这个群聊使用:

  • pc save 保存到角色卡列表
  • 你还会用到其他指令才能在其他群聊使用这张角色卡。参考 .pc help

秘密团

按照主持人的要求,你需要在不同群聊中使用同一角色卡,并且需要数据互相同步。

  • pc new <角色名> 创建一张可以跨群聊使用的角色卡并绑定到当前群聊
  • pc tag <角色名> 将指定角色卡绑定到当前群聊

通过这种方式,你可在不同群聊之间使用同一角色卡。在任意群聊产生的数据修改都会自动同步到其他绑定的群聊。

进行 CoC 游戏

创作角色卡

.coc <数量> 生成指定数量的随机属性。

理智检定 San Check

.sc <成功时失去理智>/<失败时失去理智>

例如:.sc 0/1 .sc 1/1d4 .sc 1d10/1d100

抽取疯狂症状

.ti 抽取即时疯狂症状;

或者,在主持人要求时 .li 抽取总结性疯狂症状。

技能成长

.en <技能> 对技能进行一次成长。

进行 D&D 游戏

创作角色卡

.dnd <数量> 生成指定数量的随机属性。

设定先攻值

.ri <先攻值> 设定自己的先攻值。

先攻值支持以下三种写法:

  1. 12 直接写数值
  2. +2 写调整值,表示 D20+2
  3. =D20+2 写骰点式

设定临时属性

.buff <参数> 设定临时属性。参数的写法参考角色数据录入的 st 指令。

法术位

.ss 指令设定角色的法术位。请使用 .ss help 查看用法。

.cast 指令使用法术。请使用 .cast help 查看用法。

长休

.longrest 指令使角色进行长休。

死亡豁免

.ds 指令进行死亡豁免。请使用 .ds help 查看用法。

+ + + + \ No newline at end of file diff --git a/use/story.html b/use/story.html new file mode 100644 index 000000000..dd3246714 --- /dev/null +++ b/use/story.html @@ -0,0 +1,49 @@ + + + + + + 故事 | 海豹手册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

故事

本节内容

本节将展示对故事发展有帮助的一些指令,请善用侧边栏和搜索,按需阅读文档。

.name 随机名字

.name [cn|en|jp] [<数量>] [男|女]

抽取随机名字。

可以指定语言,如果不指定,默认是中文。可以指定数量,如果不指定,默认是 5 个。可以指定性别,如果不指定,默认随机生成。

.namednd 随机 DND 名字

.namednd <种族> [<数量>]

抽取指定种族的随机名字。可以指定数量,默认是 5 个。

补充:可以选用的种族
  • 达马拉人
  • 卡林珊人
  • 莱瑟曼人
  • 受国人
  • 精灵
  • 矮人
  • 兽人
  • 海族
  • 地精

.who 随机排列顺序

.who <排列元素>...

随机打乱提供的元素。

示例

木落
.who 1 2 3 4 5 6 7 8 9
头像
头像
海豹核心
打乱顺序: 9, 7, 6, 3, 1, 4, 8, 5, 2

.modu 魔都模组查询

感谢魔都的章鱼站长给予的许可和支持!

.modu search <关键字> [<页码>]

使用关键字进行搜索。

.modu rec <关键字> [<页码>]

使用关键字对编辑推荐模组进行搜索。

.modu author <关键字> [<页码>]

搜索作者符合关键字的模组。

.modu luck [<页码>]

查看编辑推荐。

.modu get <编号>

查看指定模组的详细内容。

.modu roll

随机抽取一个模组。

.modu help

显示帮助。

+ + + + \ No newline at end of file